REVIEW - Software Assessments, Benchmarks, and Best Practices

Title:

Software Assessments, Benchmarks, and Best Practices

Author:

Capers Jones

ISBN:

0201485427

Publisher:

Addison-Wesley Professional (2000)

Pages:

659pp

Reviewer:

Ian Bolland

Reviewed:

December 2000

Rating:

2 out of 5

it is really aimed at the upper levels of IT management.

In their classic software management book Peopleware , DeMarco&Lister discuss the Hawthorne effect. Roughly speaking, this states that the novelty of trying out new working practices can improve productivity, regardless of whether the new practices have any intrinsic merit. They observe that while there are many studies that report productivity improvements immediately after new methods are introduced, there are very few which analyse ten-year-old 'improvements' to see if they are still worthwhile. They take the view (with a certain amount of cynicism) that the Hawthorne effect accounts for most of the reported productivity gains.

Capers Jones is one of the pioneers of software productivity measurement. He originally worked at IBM and ITT and then founded Software Productivity Research, which specialises in performing software process assessments. This book is the latest in a series that summarises the results of these assessments and it performs a valuable service in identifying practices that have stood the test of time.

The author recognises that many practices are not universally applicable, and so has split the book into an introduction and then separate sections for each of the following types of software:

  • MIS
  • outsourced software development
  • systems software
  • commercial packages
  • military systems
  • end-user software.
Each section discusses technical practices (e.g. design, coding, testing), and personnel practices (e.g. hiring, training, organisation). It identifies some practices as universally applicable, some as only necessary for large projects and some as only suitable for small ones.

The focus of the book is on the software process and so its usefulness will depend on how much control you have over the process. There is little in it for the individual programmer, rather more for the team or project leader, but it is really aimed at the upper levels of IT management.

My main reservation about the book is that, in my opinion, its definition of a best practice errs on the conservative side. To qualify as a best practice, it is necessary for it to have been beneficial in all, or almost all, of the projects on which it was used. This definition excludes high-risk, high-gain, or even lowish-risk, high-gain practices. However, there is much room for improvement in the productivity of the average IT organisation and it may well make sense to start by concentrating on those practices with the best chance of success. For this reason I think that this book certainly deserves at least a qualified recommendation.


Book cover image courtesy of Open Library.