Practical Software Estimation Measurement

When You Plan Your Projects Impacts the Bottom Line

In my previous blog post, I discussed the similarities between software and home improvement projects, and how the planning process greatly impacts the project lifecycle.  Better planning in and of itself is a great way to streamline the Construct & Test Phase of development.  However, when you plan is equally important to the development process.

While watching home improvement shows, like Discovery Home’s "Flip That House," one of the primary concerns of the project manager is often how quickly the team can get started so that they can meet their target deadline.  One cringe-worthy line that I distinctly remember was “as long as we have activity, we have productivity.”  Unfortunately, activity and productivity do not necessarily go hand in hand.  

For instance, in software development a project manager may tell a developer at the beginning of a project to start building a system.  If the requirements have not yet been determined, it’s challenging for the developer to build anything.  Yes, it’s possible for the developer to start building something while the project manager decides what should actually be built.  However, once the requirements are finalized it’s very likely that the developer will have to go back and rework the code so that the system will have the desired functionality.  

The situation I’ve just described is often the result of increasing the amount of phase overlap in an attempt to shorten the development schedule.  Project managers believe that if they complete all the requirements design work while the developers are building the system, they can shave a good portion of time off the development lifecycle.  However, what they fail to realize when they implement this strategy is that by overlapping Requirements and Design (Phase 2) with Construction and Testing (Phase 3) the amount of required effort increases dramatically.

This image below shows how SLIM-Estimate models the aggregate staffing curve for a project with 100% phase overlap and a project with 40% phase overlap.  The area under the curve represents to effort expended at various points in the project lifecycle.  Notice how the area under the curve is much greater for the project with 100% phase overlap compared with the project with 40% phase overlap.

Phase Overlap Comparison

An additional consequence of increasing phase overlap is that it often increases rework because the developers have to go back and modify functionality once the requirements have been determined.  This rework may actually increase the schedule duration, which offsets the purpose of increasing the phase overlap in the first place.  

For this project, reducing the phase overlap from 100% to 40% resulted in a:

  • 29% decrease in effort
  • 35% fewer staff
  • 9% schedule reduction
  • 30% cost reduction 

From this, we can see that there are definitely some benefits to allocating some time to spend exclusively in the Requirements & Design Phase before moving into the Construct & Test Phase.  While it may not be practical to completely eliminate phase overlap, minimizing the overlap will allow you to reduce rework once the system requirements have been finalized.

Recommended Phase Overlap

Implementing these best practices will help project managers plan how to allocate staff and carry out their projects.  Regardless of the project type, be it software development, a house renovation, or otherwise, efficiently utilizing resources will ensure that at each phase of the project lifecycle, the activity occurring is actually productive.  

Interested in learning the ideal amount of phase overlap for your projects?  QSM’s consulting team can conduct a benchmark analysis on your completed projects or help establish an Estimation Center of Excellence for your organization to improve processes in the future.

Blog Post Categories 
Benchmarking Process Improvement