If you have a function-point count, you can compute a rough schedule directly from function points by using what Capers Jones has described as the First-Order Estimation Practice (Jones 1996). To use it, take your function-point total and raise it to the appropriate power selected from Table 20-3. The Average exponents in the table are derived from Jones's analysis of several thousand projects. I've added approximate Better and Worse exponents to represent variations in performance.
Kind of software | Better | Average | Worse |
---|---|---|---|
Object-oriented software | 0.33 | 0.36 | 0.39 |
Client-server software | 0.34 | 0.37 | 0.40 |
Business systems, internal intranet systems | 0.36 | 0.39 | 0.42 |
Shrink-wrapped, scientific systems, engineering systems, public internet systems | 0.37 | 0.40 | 0.43 |
Embedded systems, telecommunications, device drivers, systems software | 0.38 | 0.41 | 0.44 |
Source: Loosely adapted from "Determining Software Schedules" (Jones 1995c) and Estimating Software Costs (Jones 1996). |
If you estimate your project's total number of function points to be 1,450, and you're working in a business-systems organization with average productivity, you will raise 1,450 to the 0.39 power (1,4500.39), for a rough schedule of 17 calendar months. If you are working in a best-in-class business-systems organization, you will raise 1,450 to the 0.36 power, for a schedule of 14 months. If you're developing an object-oriented business system, the object-oriented software exponents will give you a range of 11 to 17 months. Thus, it appears that the real schedule lies somewhere in the range of 11 to 17 months.
This practice isn't a substitute for more careful schedule estimation, but it does provide a simple means of getting a rough schedule estimate that's better than guessing. It can also provide a quick reality check. If you want to develop a 1,450-functionpoint business system in 9 months, you should think again. The best-in-class schedule would be 11 to 14 months, and most organizations aren't best in class. Jones's First-Order Estimation Practice allows you to know early on if you need to adjust your feature set expectations, schedule expectations, or both.
Tip #91 | Use Jones's First-Order Estimation Practice to produce a low-accuracy (but very low-effort) schedule estimate early in a project. |