4.3 COCOMO II
COCOMO II is an expanded version of COCOMO (COnstructive COst MOdel) from the
IBM mainframe era. Whereas COCOMO was based on the waterfall model of software
development, COCOMO II takes into account today‘s spiral model / iterative approach to
software development.
For incremental / iterative development, COCOMO II as an estimation methodology may
help for a project with multiple iterations. COCOMO II methodology is essentially based
on number of lines of code. So, COCOMO II can‘t be accurately used to estimate the first
iteration. However, for subsequent iterations, you can use COCOMO II, because you can
use the number of lines of code from your first iteration in estimating subsequent
iterations.
5.0 Estimation in Practice
Accurate estimation requires proper planning. In this context, and also in the context of
frequently changing user / customer requirements, it makes sense to delve a little bit into
predictive vs. adaptive planning. The chapter then identifies in detail the various steps
that go into making a software product / project a great success, both in terms of
estimation and delivery.
5.1 Predictive vs. Adaptive Planning
There is frequently a demand for predictability from the engineering side in product
organizations. In other words, the VP- Product Development or VP-Engineering is
required to provide accurate man-power / man-hours estimates for the next few releases.
For old timers who grew up in the era of the waterfall methodology, their frustrations in
estimating software build / release cycles using processes / extreme programming /
iterative builds / rapid prototyping are well appreciated. But an inability to move along in
time and appreciate this new era of spiral models / frequent change to user requirements
should be viewed as incompetence and not maturity.
Man, by nature, is always in conflict. Users / customers, being men and women like you
and me, can and do think of something today, and something else completely different