Software cost estimating - Cocomo model variables

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.