Software Estimation Best Practices

Blogs

3 Ways Historical Data Improves Software Development Negotiations

Two people reviewing software project performance data to support software vendor negotiations

How many times have you been involved with a software project or a portfolio of projects where the schedule or budget is doomed from the start? It happens all the time. One of the best ways to avoid this problem is to leverage historical data – actual performance of completed software projects. QSM has over 46 years experience in software estimation and control. We have seen thousands of projects and products delivered, both in-house and vendor driven. One of the biggest problems we help our clients solve is negotiating the right cost and schedule targets. Whether advising a client on an in-house project, a vendor on their proposal, or an end user with a bid evaluation decision, one thing becomes very clear − all sides are trying to negotiate a cost and timeline that they feel comfortable with. The problem is that they often negotiate with little to no data of past performance.

Negotiating Initial Schedule and Budget Commitments

You don't need data from hundreds of projects, and it doesn’t need to be granular. Software project or release level data is a great place to start. It establishes a baseline that you can count on because the delivery targets have been achieved in the past. It is tough to argue with cost and schedule numbers that have already been proven, and of course, having the data at your fingertips gives you a leg to stand on when negotiating.

The best practice we recommend is to capture a few core metrics:

Political Marketing and Software Project Estimation: Managing Promises and Realities

Plastic figure politician giving a speed to a crowd

Political marketing was in full force a couple weeks ago. Whether watching a football game, the news, or a favorite TV show, it seemed every commercial break was filled with political ads—candidates trying to persuade voters and making promises about what they plan to accomplish in office. When a political candidate presents an agenda for their potential term, they often outline big plans and ambitious commitments. For instance, President John F. Kennedy’s famous pledge to land a man on the moon and return him safely to Earth was a bold promise—especially given that much of the required technology had yet to be invented. While such promises are inspiring, voters naturally want details about how these goals will be achieved. How much will they cost? How long will they take to implement? How much manpower will be required?

To evaluate these questions, politicians and their advisors rely on estimates to determine what resources are needed to deliver on their plans. Based on this analysis, campaign advisors can make informed recommendations on whether the plans are realistic and set expectations about what can realistically be accomplished within the term. Businesses developing new software applications go through a similar process to assess whether their efforts will truly benefit end users. The business side of the organization and stakeholders ask for estimates from the software team so they can make data-driven decisions about whether to proceed with development. Is the cost of creating the application worth the anticipated benefits? To answer that, they need a good estimate of what the project will cost, how long it will take, and what level of effort it will require.

Blog Post Categories 
Software Estimation Risk Assessment

Software Estimation Process Maturity is Relative

Software Estimation Process Maturity

 

Do you feel your organization is immature when it comes to software development estimation?  Software estimation process maturity isn’t all or nothing! And chances are you’re selling yourself short. Let me share one client’s journey to higher software estimation maturity and the lessons they learned along the way.

 

A Common Perception

Many organizations don’t feel mature enough to estimate their software development releases and portfolios using something other than a spreadsheet or expert judgement.  That’s understandable to a degree, because spreadsheets are familiar, they are often introduced to us when we first learn about computers. There’s a comfort we feel in the spreadsheet world.  And spreadsheets and expert judgement don’t typically incur any significant extra costs. The overall feeling that their processes are immature is due to the misconception that formal software process assessments are required to validate the good practices already in use.

Making small improvements relative to current practices increases your maturity. To get real value out of accurately estimating software projects — delivering quality features on time and within budget — consider using a software estimation tool that offers objective analytics and insights a spreadsheet cannot.  You don’t have to be very mature to glean the benefits from an estimation tool and your maturity will grow with continued use.

Blog Post Categories 
Estimation Process Improvement

Quantifying and Managing Software Project Risk

Quantifying software project risk and having a systematic way of accounting for it in software estimates helps firms determine how much contingency (or management reserve) is needed to protect against factors like scope growth, lower than anticipated productivity, or technical challenges that keep teams from executing project plans as originally intended.  When risk mitigation is an explicit part of the software estimate, we can set reasonable client and management expectations and negotiate practical project plans with a higher likelihood of success.

Dealing with Uncertainty

At the time most software estimates are performed, detailed design is incomplete and major decisions about how the system will be designed, coded, tested, and delivered have not yet been made.  Faced with imperfect information, estimators must supply educated guesses – hopefully based on sound requirements and performance data from completed projects - about the final delivered size, productivity, team size, and schedule.  Because the inputs to the estimate are uncertain, the final outcomes are also uncertain.

When we estimate that a project will most likely take 6 months and 8 full-time staff to execute, we really should say, “Based on our analysis and past performance data, we expect the project to take 6 months and use 8 people, but the schedule could vary by as much as 15% and the budget by up to 20%.” But all too often, clients and management expect “single point” estimates based more on optimism than careful risk analysis.

New Video: Benefits of Top-Down Estimation for Software Projects

 

Larry Putnam, Jr. recently presented a short tutorial on the benefits of Top-Down Estimation for Software Projects:

  • Top-Down Estimation methods provide the data needed to make early decisions because most software project schedule and cost decisions are made early in the project or product lifecycle 
  • Savings Associated with Top-Down Estimation
  • Top-Down Estimation vs. Detailed Planning
  • Sum of the Parts Don’t Equal the Total Time & Effort Required
  • SLIM Software Equation Supports Effective Negotiation

Watch the video or continue reading to learn why the QSM SLIM methodology gets you the data and analytics to make software project commitments with confidence.

 

Benefit: Provides Data Needed for Early Software Project Cost and Schedule Decisions

Blog Post Categories 
Video

New Video: SLIM-Control Software Project Tracking & Forecasting Tool

What you measure matters! Your data analysis is only as good as the data you are collecting. As a project manager and process improvement consultant, I was so excited when I first learned about QSM's project tracking software, SLIM-Control®, because product size, quality, and custom metrics are the best metrics to show the true project status.

Mind you, this discovery took place a long time ago when project tracking was primarily limited to data on staff levels, cost, and duration. These measures provided indirect evidence that work was being done, but gave little insight into exactly what work was actually being done and when it would be completed. I remember a large project team at my company that got into hot water because they overran a fixed-priced project by $1 Million!  My process improvement team member said, "You don't overrun by $1 Million overnight!"  There were probably several issues that contributed to this colossal failure, but certainly one was the lack of visibility into the project status or health on a regular basis to help managers and teams identify potential problems and fix them before they became unsurmountable.

Blog Post Categories 
Video

Software Reliability Modeling in the Age of Continuous Integration / Continuous Delivery

Defects Prediction Curve

Quantitative Software Management (QSM) consultant, James Heires, recently discussed the benefits of estimating and forecasting software reliability at RAMS (Reliability & Maintainability Symposium) 2023.  Theme for the conference:  "Artificial Intelligence and Machine Learning (AI/ML) application to our R&M tools, techniques, and processes (and products) promises speed and scale.... When program management instantiates advanced techniques into R&M engineering activities, such as digital design and machine learning and other advanced analytics, it enables products to evolve at a much more proactive, effective, and cost-efficient approach.  Ultimately it facilitates increased speed to market, adoption of new technology, and especially for repairable systems, products that are more reliable, maintainable, and supportable."

Up Your Game - 7 Capabilities for Better Software Project and Portfolio Management

Up Your Game: 7 Capabilities for Better Software Project and Portfolio Management

Introduction

Businesses and organizations worldwide need ways to organize and execute the work required to meet strategic objectives.  Project Portfolio Management (PPM) software tools “support the selection, planning and execution of a variety of different work packages or containers, including, but not limited to, traditional projects. They often fold in collaboration and communication capabilities and allow work teams and project offices to report, monitor, and identify course correction in resource-intensive project and work environments[1].”

Software development and digital transformation initiatives make up a considerable chunk of business and government portfolios in any given year.  The financial, personnel, and time resources needed are significant.  Information Technology (IT) programs and portfolios are strategic and high profile and must be planned and managed with great care.

QSM’s Software Lifecycle Management (SLIM) suite of software tools is sometimes confused with PPM applications.  SLIM-Suite doesn’t compete with PPM solutions - they complement them, supporting Project Management Institute (PMI) project and portfolio planning and management standards several ways.  SLIM works with PPM tools by providing essential data and capabilities to:

Upcoming Webinar: Top 5 Digital Transformation Challenges & How to Overcome Them

Top 5 Digital Transformation Challenges & How to Overcome Them

This year, thousands of digital transformation managers will begin or continue their journey to develop new processes within their organizations.  They’ll often hire outside vendors to help them either on an advisory basis or to help with the actual migration, development, and integration work. Unfortunately, a lot of these organizations will face big challenges related to cost, scope, quality, and schedule planning. In a recent McKinsey survey, the success rate for digital transformation was found to be less than 30%.

So what makes them so challenging? Presenter Keith Ciocco posed this question to his over 5000 Linkedin connections of software professionals to find out what are their biggest digital transformation challenges. In this webinar, Keith Ciocco will share the top 5 responses and discuss best practices to overcome these roadblocks through better estimation and planning strategies.

Join us Wednesday June 21st at 1pm EDT for what is sure to be an insightful and interactive QSM presentation with Q&A.

Register now!

Blog Post Categories 
Webinars Digital Transformation Estimation

Software Estimation Basics: What Is a Top-Down Estimate?

With over 45 years of experience in the software estimation field, you might say we know a thing or two about the subject.  This is why we wanted to define key principles with our Software Estimation Basics series. Let's start with a common question we hear a lot: what is a top-down estimate?

What Is Top-Down Estimation?

Top-down estimation is a technique that uses high-level, summary project goals or constraints - scope, cost, schedule, resources, and productivity - to evaluate all possible scenarios to meet a project's goals and the risks associated with each scenario.  Top-down estimation is the best approach to employ early in the project and project portfolio planning process when very little is known.

A common misconception about top-down estimation is that it is used solely to produce a ballpark figure for cost. As we'll explain more in this post, good top-down estimates calculate values for key management metrics, not just cost.

A top-down estimate can be generated by anyone who needs to know a software project's budget, schedule, or staffing - project managers, anyone in the PMO, technical architects, cost analysts, and product owners. C-suite executives can leverage top-down estimates when they need to approve project budgets and schedules.

Blog Post Categories 
Estimation SLIM-Estimate