Information Technology Reference
In-Depth Information
production, so it is too soon to know how effective and beneficial these licenses
will be.
So long as software applications are based on custom designs and hand-coding
applications line by line, software cannot really be a true engineering field. Worse,
it will remain one of the most labor-intensive occupations in human history.
Currently, software is built more or less like a Formula 1 race car or an Amer-
ica's Cup yacht. Skilled designers create custom designs that are then manually
constructed by skilled programming craftsmen.
Consider the labor content of a Formula 1 car compared to an automobile such
as a Ford or Lexus that is built on an assembly line using standard components
and robotic devices. An ordinary car constructed on an assembly line from stand-
ard parts uses about 30 hours of direct labor. A hand-built Formula 1 car that may
need precision machining and custom-made parts can take 3,000 hours of direct
labor.
An application of 10,000 logical code statements that is hand-coded at a rate of
about ten lines of code per hour will take about 1,000 hours. By contrast, the same
application constructed from a set of 100 standard and certified reusable modules
could be put together in about eight hours.
Today, a normal mix of software applications in the 500 function point size
range developed using Agile and midlevel languages such as Java or C# would
have an average total productivity rate of about 12 function points per staff month.
This includes delivery, project management, and specialists such as technical
writers and quality assurance.
Using the same kind of 500 function point sample with the same size skill mix
but using 85% certified reusable materials, the predicted productivity rate would
be closer to 110 function points per staff month, or 917% higher results using the
Agile approach. Custom designs and hand-coding cannot possibly provide the eco-
nomic gains that are possible with standard reusable designs and certified reusable
code.
Quality and technical debt would also be improved using patterns and certified
reusable components. Today, Agile projects average about 4.0 bugs per function
point in requirements, design, code user manuals, and bad fixes. About 93% of
these are removed prior to release, so the delivered defect rate is about 0.28
per function point. Technical debt, or fixing those delivered defects downstream,
would cost roughly $150 per function point spread over the first 18 months of us-
age.
Search WWH ::




Custom Search