3 ms·
This seems like as good an opportunity as any to start a discussion: what do people think about these software cost estimation models and tools? They seem like
by sparky 17y ago
This seems like as good an opportunity as any to start a discussion: what do people think about these software cost estimation models and tools? They seem like a valuable tool for communicating the value of working software to non-technical businesspeople, but any programmer knows that the value, complexity, or cost to reproduce software is a function of much more than SLOC count.
For instance, the SLOCCount tools use the COCOMO model (http://www.dwheeler.com/sloccount/sloccount.html#cocomo http://www.dwheeler.com/sloccount/sloccount.html#cocomo), whose follow-on COCOMO II is discussed here (http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html). These models use factors like the following to calculate an exponent which is applied to the SLOC count to estimate cost to produce:
Required software reliability
Database size
Product complexity
Execution time constraint
Main storage constraint
Virtual machine (HW and OS) volatility
Computer turnaround time
Analyst capability
Applications experience
Programmer capability
Virtual machine experience
Programming language experience
Use of "modern" programming practices (e.g. structured programming)
Use of software tools
Required development schedule
Are these the right factors? How are they suited to estimating the cost to produce or reproduce a piece of software? What would you add?
It seems like some measure of the cyclomatic complexity of a codebase, or the number of syntactic elements, might add some information to the raw SLOC count. Arguably this doesn't tell you much about how much it might cost somebody to reimplement it (since that person might come up with an easier-to-code-and-maintain variant with lower cyclomatic complexity or in a more powerful language), but it might help estimate the cost to get it working in the first place.
- btilly 17y agoSoftware Estimation by Steve McConnell (who is pretty much always worth listening to) makes the point that models with many tweakable factors like COCOMO II are not good for estimating costs because people have a strong tendency to start with a number they want to find then tweak the factors to get there. However the research that went into discovering the relative costs in the model has uncovered a lot of data that is worth listening to. And, of course, if you want to estimate costs and schedules for your software then I highly recommend reading Software Estimation. It offers a lot of good advice for people who seriously want to come up with somewhat less ineffective estimates.