RE: Human minds on Windows(?)

From: hal@finney.org
Date: Sat Jul 10 1999 - 22:39:50 MDT


Billy Brown, <ewbrownv@mindspring.com>, writes:
> Think in terms of team development. A programmer gets assigned a piece of
> the project, writes code for it, does whatever personal testing he feels
> necessary, then checks it into the central code repository (which is
> presumeably some sort of version-control package). Once he checks it in for
> the first time, anything that anyone ever finds wrong with it counts as an
> error.

A few years ago I worked for a company which had a contract to do software
for Ford. Ford has an extensive quality control program with very strict
methodologies, which we had to cooperate with. One thing they wanted was
a bug tracking system in which, for each bug we found and fixed, we also
reported when the bug had been introduced.

It seemed a bit strange at first to view bugs in this way, having in
effect birth and death dates. But in fact using the kind of version
control system Billy describes, it is usually pretty easy to determine
at what date the mistake was made which caused the bug. Sometimes this
was at the time the code was first written, other times it was a bug
introduced as part of another change, often a fix for some other bug.

It is a truism in software development that at some point code becomes
so large and messy, with the original designers gone or working on
other projects, that bugs are introduced as fast as they are fixed.
Ford was attempting to detect this, in that they were able to build up
over time a chart showing how fast bugs were being introduced and removed
at any point in time. It's not perfect because it often takes months or
years before a given bug is detected, so the bug-creation rate data is
only valid for dates some considerable distance in the past. But you
can extrapolate from the older data to get an idea of how reliable the
software is likely to be today or at any point in the future.

There is an entire literature within the software engineering discipline
on this kind of error rate estimation. With time and patience you can get
a reasonably accurate picture of the rate at which bugs are introduced,
detected and removed.

Hal



This archive was generated by hypermail 2.1.5 : Fri Nov 01 2002 - 15:04:27 MST