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.
Top-down estimating is typically performed early in the project lifecycle, when not a lot of detail is known, to estimate the overall cost and schedule of the project. Rather than relying on input from various functional groups or subject matter experts (SMEs), top-down estimation takes a look at the scope of the entire project, overall efficiency of the organization, and complexity of the proposed work – before any actual work is done. However, it should be noted that top-down estimation can be used later in the project life cycle to re-estimate when more information becomes available (we will discuss this later).
How to Generate a Top-Down Estimate
So you might be wondering, how is a top-down estimate generated if very little project information is available? We believe the best top-down methods take into account project complexity and team efficiency; and they allow the estimator to plan for uncertainty. To generate a reliable top-down estimate, we recommend this approach:
- Identify project goals and constraints. What do you need this estimate to predict? Is it how long this project will take to complete? How many people are required to complete it? How much it will cost? These questions help you determine your approach − taking what you know and solve for what you don’t know. Prioritizing these questions is key to defining the purpose of the estimate and what results need to be generated.
- Scope the project. Software size, the measure of the functionality that a software project will create or modify, is arguably the most important input in a top-down estimate. Size is the biggest driver of a project's budget, schedule, staffing, productivity, and quality. This is because there is a non-linear relationship between software size, schedule, effort (cost), and defects. Since a top-down estimate is often generated early in the project lifecycle, usually a Rough Order of Magnitude (ROM) sizing approach is used, such as T-shirt sizing (XS-XXL). Of course, many other sizing methods can be used, such as epics, user stories, requirements, features, and many more, depending on the amount of scope information available. To decide which sizing method is right for your project, check out our Software Sizing Infographic.
- Calculate productivity. Poor estimates fail to take into account process productivity. We do this with QSM's measure of productivity, the Productivity Index, which factors in management practices, technology and methods, skills and experience of the team, and application complexity. This calculation can be based upon historical data from QSM's database of over 14,000 completed projects or, better yet, your own project history. Embedding real life behavior into your estimates is the most defensible source of estimate calibration.
- Run the estimate. Once targets are set and you have a general idea of scope and productivity, you can run a top-down estimate. There are a number of commercially available products that run top-down estimates based on scope, such as QSM's SLIM-Estimate. Whichever you choose, it's important that the mathematical formula used models software project behavior.
Software Production Equation (Leveraged in QSM's SLIM-Estimate)
- Factor in uncertainty. The biggest source of risk with any software project estimate is the level of uncertainty that comes with it. The job of estimation is not to remove uncertainty—it is to measure it and include it in the estimate. How much risk you decide to take is ultimately a business decision, but it is important to build a realistic amount of contingency into your estimate to determine achievable commitments. SLIM-Estimate uses uncertainty ranges around estimation inputs to perform Monte Carlo simulation to determine the probability ranges for estimation outputs (cost, effort, and project duration).
It is important to note that top-down estimation can be used regardless of development methodology. It can be applied to any development approach, such as agile development, business intelligence, package implementation, hardware, call center development, infrastructure, model-based development, engineering and architecture design, service-oriented architecture, SAP, Oracle, and more.
Additional Top-Down Estimation Uses
Once the initial estimate is generated, you can assess how it aligns with project goals. Due to the small number of inputs required, creating "what-if" scenarios is easy and valuable. In minutes, you can anticipate and plan for the inevitable challenges and roadblocks that will occur during development. These can answer questions like: what happens if we reduce the scope of this project? What if we lengthen the schedule? Or what if we add more people to the staff? Running these scenarios ahead of time allows you to more accurately determine costs, time frames and staffing required to finish the project on time and within budget, thereby avoiding some common mistakes that lead to overruns.
Top-down estimating is also useful for resource demand and capacity planning at the project and portfolio level. A top-down approach can provide organizations with an overview of staffing needs by role, over time at initiative and portfolio levels. The people managing the portfolio of projects may have a certain spending rate and staffing capacity in mind, but that may not be in alignment with reality. Top-down estimation allows everyone to see if the “as submitted” plan exceeds their organization’s current and near future capacity and make adjustments like changing start dates, adjusting scope, etc.
Top-Down Estimation Benefits
So let's explore the benefits of the top-down estimation approach:
- Make better business decisions. In essence, top-down estimation's sole purpose is to support the business decision-making process by providing information about the impact of decisions and their associated risks. Whether you’re evaluating a vendor bid, prioritizing the backlog, or responding to a proposal, sharing this information early, before any commitments are made, can save time, money, even avoid the dreaded project failure; which brings me to the next point...
- Identify unrealistic expectations. Often the desired schedule and budget for new ideas or projects is driven by the project goals or what feels right. When money and jobs are on the line, you don’t want to be making commitments based on gut feel versus past performance. Leveraging scope and historical data in your estimates will give you quantifiable evidence to determine if project goals are reasonable or not. In the image below, the green curve represents the practical solution range within duration and cost/effort constraints. Solutions outside this range are either impossible, because additional cost/effort won’t compress duration further, or impractical, because, by the time the project is finally finished, it’s obsolete.
The Time/Effort Trade-Off of Project Constraints
- Provides defensible information for negotiation. Let the numbers speak for themselves. By generating defensible estimates, you can present to stakeholders early in the planning process and propose realistic alternatives before the project gets underway.
- Flexibility. Because of the limited inputs required, top-down estimates can be easily revised when plans change. You can quickly assess options like de-scoping your project if you can't get it done in time or lengthening the schedule to cut back on cost. Top-down estimates are appropriate at any time during planning and should be refined as more information becomes available.
In conclusion, top-down estimation is an ideal method for determining cost, schedule, and staffing for a software project, particularly at the beginning of the project planning process, when little information is available. Requiring few inputs, it is a quick and reliable method, but must factor in process productivity and practical level of uncertainty. Subsequently, it can be used to run additional scenarios to meet project goals or as more information becomes available. This process is applicable regardless of the development methodology you use. Anyone from project managers to cost analysts to C-level executives can use top-down estimating effectively for evaluating vendor bids, prioritizing backlogs, responding to proposals, and more.
Want to learn more about software estimation best practices? Check out our Improve Estimation page for tools, services, research, and more!