[comp.misc] Metrics

kww@cbnews.ATT.COM (Kevin W. Wall) (11/23/89)

Before we are all at each other's throats arguing how programmer productivity
should be measured, I suggest you all check out the book "Programming
Productivity" by T. Capers Jones (1987 ??).  It points out the many apparent
paradoxes of using SLOC as a metric for measuring productivity -- most of
which are very non-intuititve.  It is the ONLY book that I've seen on software
metrics which I think contains the STRAIGHT SCOOP (i.e., no hype) on this
crucial area.  I highly recommend it.

Now getting back to SLOC, let's face it -- the general reasons that SLOC still
being used as a measure of programmer productivity are:
	1) management demands some quantitative measurement (& rightfully so).
	2) SLOC is a very easy thing to measure.
	3) other possible software metrics (e.g., Halstead's, McCabe's,
	   function points, etc.) are either difficult to calculate, or
	   difficult to interpret, or both.

I assume that most readers of this newsgroup are well aware of the shortcomings
of using SLOC as an accurrate software metric.  (If not, see T. Caper Jones'
book, mentioned above.)

Instead of pointing out are the things that are wrong with SLOC, how about
hearing some success stories using some other software metric (e.g., McCabe's
complexity metric, etc.).

Also (surprise, surprise), not all of software development consists of
programming.  That is just the implementation phase.  What metrics do you
use (or "should be used") for measuring productivity of those involved in
design, testing, requirements, etc.?

-- 
In person: Kevin W. Wall			AT&T Bell Laboratories
Usenet/UUCP: {att!}cblpf!kww			6200 E. Broad St.
Internet: kww@cblpf.att.com			Columbus, Oh. 43213
		"Death is life's way of firing you!" -- Hack rumor

crm@romeo.cs.duke.edu (Charlie Martin) (11/25/89)

In article <11690@cbnews.ATT.COM> kww@cbnews.ATT.COM (Kevin W. Wall,55212,cb,1B329,6148604775) writes:
>....
>I assume that most readers of this newsgroup are well aware of the shortcomings
>of using SLOC as an accurrate software metric.  (If not, see T. Caper Jones'
>book, mentioned above.)
>
>Instead of pointing out are the things that are wrong with SLOC, how about
>hearing some success stories using some other software metric (e.g., McCabe's
>complexity metric, etc.).
>

The funny thing about the other measures (e.g. McCabe and Halsted) is
that they don't seem to be a lot more predictive than weighted SLOC
models like COCOMO.  Also, just like SLOC, they can be confounded by
pathological programs:  Elliot Soloway has a perfectly hilarious
comparison of two programs with the same McCabe complexity, but where
one is instantly and obviously much harder to code or maintain than the
other.  (This was done by choosing odd names, odd loop bounds and array
indicises, that sort of thing.  Another example of a way to confound
McCabe or Halstead is programming with variable names like O0OO0.)

>Also (surprise, surprise), not all of software development consists of
>programming.  That is just the implementation phase.  What metrics do you
>use (or "should be used") for measuring productivity of those involved in
>design, testing, requirements, etc.?

There is plenty of work to be done in this, no  question.  Common
assumption is that, given the time for the whole thing guessed by SLOC,
you can then guess the time for a phase by taking a proportionate slice
of the total for that phase.  But those time to complete SLOC rules of
thumb, like 3-4 SLOC per staff day, represent total time to complete,
not just implementation.

Another good book on software engineering metrics is the Conte, Dunsmore
and Shen book _Software Engineering Metrics and Models_.


Charlie Martin (crm@cs.duke.edu,mcnc!duke!crm)