Over time I hope to write more posts about software cost estimating, but for today I just want to list some of the software cost estimating variables from the model of the Cocomo II software application:
- Analyst capability
- Applications experience
- Database size
- Developed for reuse
- Documentation
- Execution time
- Language/tool experience
- Multisite development
- Personnel continuity
- Platform experience
- Platform volatility
- Product complexity
- Programmer capability
- Required reliability
- Required schedule
- Software tools
The Cocomo cost estimation software uses these variables to help predict the cost of a software application. Some of these Cocomo model variables are straight multipliers, some work at the exponent level, and all are customizable. What I mean by "customizable" is that the application has several built-in values for each parameter -- think of them as low, medium, and high -- but over time you should have multipliers of your own, tuned to your own history of software development projects.
The important point I want to make about these Cocomo model variables today is that I think this is a great starter list to think about when you're creating your own software cost estimating model. Regardless of the actual value of each parameter -- and whether you think they should be straight multipliers or exponent operators -- I think it's valid to say that all of these variables can have an impact on the development time and cost of your software project.