3

What type of SLOC do you take into account for estimating web application development projects with COCOMO II?

For instance, suppose you have to estimate a web application project that will probably result in those SLOC counts, based on what you know about similar previous projects:

  • Python (back-end REST API) - 10'000 SLOC
  • JavaScript (front-end single page app) - 12'000 SLOC
  • HandleBars (templating) - 8'000 SLOC
  • SASS (css preprocessing) - 3'000 SLOC
  • JSON/XML/YAML (data and configuration) - 1'000 SLOC
  • YAML (server deployment recipes and tasks) - 1'000 SLOC

Would you only enter Python and JS SLOC or would you take everything into account?

Thomas Owens
  • 85,641
  • 18
  • 207
  • 307
Jivan
  • 315

1 Answers1

4

You include every line of code and configuration that took you time to write. It is doubtful that the 1 kSLOC of JSON and XML appeared out of thin air. If you fail to do this, you will underestimate the amount of effort to create the product.

On the other hand, it is likely the case that writing 1 kSLOC of JSON will take a different amount of time than writing 1 kSLOC of Python or Javascript. For that matter, it is also likely that 1 kSLOC of Python is different than 1 kSLOC of JavaScript.

You will need to keep track of how much time is spent generating the code for those other technologies and figure out what their SLOC to time conversion is. It is unlikely to be exactly the same as JavaScript or Python, but thats a starting spot for developing an estimate (just make sure you give enough uncertainty in the estimate to account for it).