Three magic formulas

The last thing we're going to share here are three things we refer to as "magic formulas", mostly because we don't know how the authors of these formulas arrived at them. We'll have to assume that they had some data at their disposal, and came up with these formulas to match their data.

Project Duration

The first formula is credited to Barry Boehm. The formula states that the duration of a project is equal to 2.5 times the cube root of the work months, or:

Project Duration = 2.5 * (Cube Root of Work Months)

where Work Months is defined as Work Months = (Project Work Effort (Hours)) / (Hours per Month) . So, if a project is estimated to take 27 work months, then the project duration can be expected to be

Project Duration = 2.5 * (3)

or 7.5 months.

Optimum Staffing Size

The origin of this formula is currently unknown, but it goes like this: Optimum Staffing Size = Square Root of Work Months . Here, the square root of 27 is 5.2.

Minimum Duration

The last magic formula states that the minimum duration of a software project is:

Project Duration = 0.75 * (Cube Root of Work Months)

In our example, this yields 0.75 * 3, or 2.25 months.

Summary

How does this compare to what we've measured? In our earlier example we stated that we worked 540 man-hours 10 weeks. At 160 man-hours per month, this is 3.375 months. Applying the three magic formulas we would arrive at these numbers:
  • Minimum Duration = 0.75*1.5 = 1.12 month. We didn't make it in this short time frame, but assuming 540 total hours of development time, we could have finished in seven weeks instead of 10. (We essentially lost three development weeks due to other issues.)
  • Project Duration = 2.5*1.5 = 3.75 months. This is 15 weeks. We took 10.
  • Optimum Staffing Size = 1.84 developers. We used two developers here, and I did not want any more or less on this effort, so this correlation seems good.

Before using any of these "magic formulas" in practice, you might try reverse-engineering them like this against your own projects, and see if they work for you.