Information Technology Reference
In-Depth Information
By contrast, an application constructed from proven design patterns and certi-
fied components would have a defect potential of only about 1.0 defect per func-
tion point (mainly in customized features). Defect removal efficiency would be
about 99.4%. This leads to a delivered defect volume of only 0.006 defects per
function point. Technical debt would be about $12.50 per function point for 18
months, or only about 8.33% of the technical debt noted with the Agile example.
Note
Waterfall projects similar to the 500 function point examples dis-
cussed above would have productivity rates of about 7.5 function
points per staff month. Their defect potentials would be 5.0 bugs
per function point, 85% defect removal efficiency, and 0.75 de-
livered defects per function point. Technical debt would be around
$350 per function point, spread over 18 months. This is more than
twice the Agile result and about 23 times the technical debt of
design patterns and certified reusable components.
Of course, actually building the reusable materials is slow and fairly expensive.
Average productivity for the initial construction of each component, assumed to
be 25 function points, would only be about 4.5 function points per staff month.
However, as usage of the certified components goes up, their economic value goes
up. Needless to say, the reusable components would be subject to rigorous inspec-
tions, pretest static analysis, and a full suite of formal test stages performed by
certified test personnel. The cumulative defect removal efficiency of the reusable
components would be about 99.7%.
A fundamental question for the software engineering community that hopefully
will be solved this decade is what are the enabling technologies to move software
from laborious custom designs and hand-coding to reusable designs and certified
reusable modules?
There are bold claims from various methodologies such as Agile that they make
marked improvements in productivity and quality. But so long as software applic-
ations need custom design and hand-coding, they will be intrinsically inefficient
no matter what methodology is used.
The following are some of the enabling technologies needed to move from
manual construction and hand-coding of software to automated assembly of soft-
ware:
Search WWH ::




Custom Search