April 13, 2011, 4:04 p.m.
posted by concurre
The Cocomo II adjustment factors provide an interesting viewpoint into how diseconomies of scale operate. In Figure, 5 of the factors in the figure are called scaling factors. These are the factors that contribute to software's diseconomies of scale. They affect projects to different degrees at different sizes. Figure shows the same graph with these factors highlighted in blue.
Figure: Cocomo II factors with diseconomy of scale factors highlighted in blue. Project size is 100,000 LOC.
None of the factors that contribute to software's diseconomy of scale is in the top half of factors in terms of significance. In fact, 4 of the 5 least-influential factors are scaling factors. However, because the scaling factors contribute different amounts at different project sizes, this diagram must be drawn from the point of view of a project of a specific size. The factors in Figure are shown for a project of 100,000 lines of code. Figure shows what happens when the factors are recalculated for a much larger project of 5,000,000 lines of code.
Figure: Cocomo II factors with diseconomy of scale factors highlighted in blue. Project size is 5,000,000 LOC.
The scaling factors all become significant as project size increases. Although none of them was in the top half at 100,000 LOC, all the scaling factors are in the top half at 5,000,000 LOC.
What this means from an estimating point of view is that different factors need to be weighted differently at different project sizes. What this means from a project planning and control point of view is that small and medium-sized projects can succeed largely on the basis of strong individuals. Large projects still need strong individuals, but how well the project is managed (especially in terms of risk management), how mature the organization is, and how well the individuals coalesce into a team become as significant.