Software Project Estimation: Core Principles and Proven Techniques

The software industry has long struggled with accurate project estimation due to differing opinions on the best methods. This post explores why estimates often fail and offers advice on improving their use for better project planning. The focus is on pre-project estimation.

Project Estimation Simplified

Project Estimation Simplified

Software development estimation should be an impartial analysis of the effort and time needed for a project. Estimates inform project decisions and shouldn’t be treated as quotes, targets, or commitments. Executives often make the mistake of selecting the lowest estimate, leading to poor decisions. Inaccurate estimates can mislead industry statistics, showing this is a significant issue. Choosing a partner based on the lowest estimate can result in decisions based on faulty information. Before starting a project, consider trade-offs or cancel if realistic estimates are unacceptable, rather than relying on poor forecasts that waste the budget.

Top Estimation Pitfalls

Over decades, researchers have extensively studied software development: 

Nine Management Guidelines for Better Cost Estimating: Enhancing Accuracy and Reliability

In 1992, Albert L. Lederer and Jayesh Prasad highlighted that two-thirds of projects exceed estimates and offered nine management guidelines to improve cost estimation. Essential guidelines include defining the project scope in detail, using historical data for accuracy, and involving all stakeholders to ensure alignment and reduce misunderstandings.

The CHAOS Report: Key Insights from The Standish Group

Since 1994, The Standish Group has published annual reports on software project performance. The initial 1994 study found only 16% of projects were completed on time and within budget, with cost estimates exceeding by about 100% and schedules by 120%. The CHAOS Report 2015 revealed 30% success and 20% failure rates, with 70% of projects failing to meet expectations. Agile projects showed a 40% success rate and a 9% failure rate, contrasting sharply with Waterfall’s 11% success and 29% failure rates. Both reports highlight the importance of user and executive engagement and the evolving role of methodologies, with Agile proving more effective in managing project uncertainties.

Succeeding in Large-Scale IT Projects: Meeting Timelines, Budgets, and Delivering Value

A 2016 Deloitte analysis found that software development projects often face significant issues: a 70% cost overrun, 40% delivery delay, and 15% reduction in expected returns. Total cost overruns for IT projects reached $72 billion, exceeding Slovenia’s GDP. For more details, see the full report here.

The FBI Sentinel Initiative

After the Virtual Case File (VCF) system failed, the FBI initiated the Sentinel project to develop a modern case management system. The project encountered several issues:

  • Overly Optimistic Estimates: Given the project’s complexity, initial cost and time projections could have been more realistic.
  • Technical Challenges: Integrating existing systems and maintaining security proved difficult.
  • Evolving Requirements: Changes in requirements and security needs caused scope creep and cost increases.
  • Underestimated Risks: Initial estimates are needed to account for inherent risks fully.

Sentinel faced significant delays and cost overruns, with costs rising from $425 million to over $600 million, underscoring the challenges of estimating costs and timelines for complex projects.

The National Programme for IT in the UK NHS

The UK’s National Programme for IT aimed to create a unified electronic health records system across England but faced significant issues:

  • Over-ambitious Scope: The broad scope led to underestimations in time and cost.
  • Integration Challenges: Integrating with existing healthcare systems proved complex.
  • Stakeholder Misalignment: Diverse stakeholder requirements caused frequent changes and scope creep.
  • Technical Difficulties: The scale and complexity were underestimated.

Budgeted initially at £2.3 billion, the project cost over £12 billion before being scrapped in 2011, with many components not delivered or used.

What Defines an Effective Estimate?

Determining a reasonable estimate amidst frequent inaccuracies is crucial. A good estimate should be honest, accurate, and precise enough to support decision-making. Estimates must align with executive expectations to avoid misleading misconceptions. Accurate estimates are vital for confident project initiation and for identifying essential features. While initial estimates shouldn’t rigidly dictate actions due to evolving requirements, even estimates with broad ranges can be effective if they offer sufficient detail and reliability.

What Defines an Effective Estimate Example

But how can executives assess if an estimate meets these standards?

Ensuring Accuracy for Better Business Decision-Making

While businesses can’t predict the future, they rely on accurate forecasts for informed decisions. Trustworthy estimators prioritize accuracy, suggesting scope adjustments to fit budgets rather than reducing the hours needed to complete features.

Improving Estimation Precision

In his book, Steve McConnell introduces a test for software estimation proficiency, where participants provide upper and lower bounds for values with 90% confidence. The average score is 2.8 correct answers, with only 2% achieving eight or more, showing common overestimation of confidence.

McConnell advocates reducing uncertainty through systematic approaches rather than guessing. For example, using straightforward calculations for effort estimation:

Effort Estimation=Number of Requirements×Average Effort Per Requirement

For tasks with more variability, a PERT formula can be used, combining optimistic, most likely, and pessimistic estimates:

PERT=Optimistic Effort+4×Most Likely Effort+Pessimistic Effort​/6hb

These methods emphasize data-driven estimation over subjective guesswork, leading to more reliable project planning.

Achieving Precision in Software Development Estimation

Understanding that software development estimation involves a range of possibilities, not a single figure, is crucial. Techniques like PERT require setting a range using standard deviation, which needs historical error data from similar projects, adding complexity.

The Cone of Uncertainty shows the maximum likely accuracy of estimates at various project phases. It visualizes the margin of error by experienced estimators, acknowledging that outcomes can often be less favorable. Achieving greater accuracy than depicted in the cone is more aspirational than guaranteed.

Achieving Precision in Software Development Estimation

An estimate won’t improve if project management is poor or estimators lack expertise. Without a focus on reducing uncertainty, a project shifts from a Cone to a lingering Cloud that lasts until completion.

project shifts from a Cone to a lingering Cloud Example

What does this mean for executives reviewing estimates? Teams often estimate before fully defining requirements, which can change throughout the project. The Cone of Uncertainty suggests precision ranges from 0.67 to 1.5 times the initial estimate at this stage. Thus, if the upper bound is at least 2.24 times the lower bound, the forecast may lack sufficient accuracy and reliability.

Embracing Agile: Flexibility in Project Management

When defining requirements amidst expected changes, Agile software development uses user stories, which are commitments to future communication rather than formal requirements. Examples include “A user can add a product to their cart” or “A user can complete a payment for an order.”

The “INVEST” acronym guides effective user story creation:

  • Independent: Reorderable without affecting others.
  • Valuable: Clearly necessary.
  • Estimable: Effort can be estimated.
  • Small: Manageable within a single iteration.
  • Testable: Verifiable through user actions.

These principles promote flexibility and iterative development, adapting to evolving requirements.

Steering Clear of Common Estimation Mistakes

Common mistakes that lead to underestimating software projects include:

  • Loss of Project Focus: Ensure all user stories align with the project’s goals. Draft a clear project goal statement before estimating.
  • Neglecting User Diversity: Consider all user groups, not just primary ones. For example, include “Admin can fulfill orders” and “Executive can view multiple orders” alongside “Buyer can pay for the order.”
  • Overlooking Non-Functional Requirements: Non-functional requirements are crucial and often involve trade-offs, such as security versus performance. Address these before estimating.
  • Ignoring Transition Requirements: Account for requirements like data migration and staff training, which are often underestimated.

Addressing these pitfalls early improves software project estimates and mitigates future challenges.

Improving Business Estimation Practices

Understanding that an estimate is an analytical tool rather than a commitment or bid is essential for effective project management. Estimates should guide decision-making rather than act as competitive tools. To improve business estimates, consider that around 70% of projects fail to meet expectations due to factors like scope changes, optimism, and unforeseen challenges. Reliable estimates must be honest and precise, relying on rigorous calculations rather than guesswork. Adequate confidence in a range requires that the upper bound is at least twice the lower bound. 

For Agile projects, user stories can replace detailed upfront requirements. Integrating core principles of software estimation with a lean ecommerce brand approach enhances efficiency and effectiveness. 

Both emphasize clear scope definitions and data use—software estimation for accurate forecasts and lean e-commerce for strategic refinement. Engaging stakeholders and using customer feedback are crucial in both, ensuring alignment with needs and reducing risks. Rigorous analysis and adaptive planning in software estimation complement the iterative testing and flexibility in lean e-commerce, leading to better resource management, reduced risks, and improved project and brand outcomes.

Author

Alex Borodin, COO at VT Labs

Master the Art of Video Marketing

AI-Powered Tools to Ideate, Optimize, and Amplify!

  • Spark Creativity: Unleash the most effective video ideas, scripts, and engaging hooks with our AI Generators.
  • Optimize Instantly: Elevate your YouTube presence by optimizing video Titles, Descriptions, and Tags in seconds.
  • Amplify Your Reach: Effortlessly craft social media, email, and ad copy to maximize your video’s impact.