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.

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.

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.

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.

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.