REVIEW - Constructing Superior Software

Title:

Constructing Superior Software

Author:

Paul Clements

ISBN:

1578701473

Publisher:

Sams Publishing (2000)

Pages:

285pp

Reviewer:

Pete Goodliffe

Reviewed:

August 2000

Rating:

★★☆☆☆

This is the first in a series of books sponsored by the publishers in conjunction with the Software Quality Institute (a partnership between The University of Texas and some industry bodies) that are aimed at Software development/management. The aim of this book is to help the reader create high quality software in the context of real world development.

Having got past the first page, which tells you the book discusses 'high-leverage problems' (eugh) you will find a bit of a patchwork quilt of a book. It is split into three sections, detailing 'quality systems', 'quality designs' and 'quality projects'.

Each section contains a selection of essays by different people. Because of this structure the style of each chapter varies greatly. It would have been nice to see a consistent conclusion and summary at the end of every chapter, not just in those where the author thought it appropriate.

Each chapter is discrete and self-contained and the book does not provide much to tie them all together. You can't necessarily use every technique at once and not every chapter will be applicable to every software project. The book would perhaps have benefited from a 'compare and contrast' section.

Some chapters are written by industry figures and you sometimes feel they are subtly trying to sell their company or product (although the book does appear to limit this as much as possible). Each writer clearly believes in the particular methodology that they describe, but the chapters would perhaps also benefit from information on when a technique is not applicable or useful.

The book has a clean design and layout, which does make it easy to read. It has a generally useful index, which helps the reader revisit specific issues later on.

Each chapter is a useful overview of its discipline, but they (necessarily) cannot get into enough detail to make it a really worthwhile read - presumably the later books in the series will carry on each thread.

The book is an interesting read if you want to learn a little more about the various disciplines it describes, but is not a must-buy by any means.

Whilst it is not normal to quote the contents of a book in ACCU reviews, due to the nature of the book the reader will find it useful;

Part I: Quality Systems
1 The System is the Key
About taking the 'system view' during development.
2 Engineer the Reliability
About the Software Reliability Engineering process.
3 User-Centred Design and Development
About adopting a user-centred development methodology.

Part II: Quality Designs
4 Software Architecture and Quality
The importance of a central software 'architecture'.
5. Rationalise your Design
About making your design look coherent after it has been formulated - even if it didn't start out that way.
6. Building Systems from Pieces with Component-Based Software Engineering
Buzzword compliant section ;-)

Part III: Quality Projects
7. Teamwork Considerations for Superior Software Development
A good section on how to improve the quality of your teamwork.
8. Use Realistic, Effective Software Measurement
How to use measurements to improve engineering. Didn't talk about the metrics I hoped it would.
9. Select Tools to For the Tasks
Selecting the appropriate tools for each task. Not a particularly groundbreaking chapter, reads more like a shopping list.


Book cover image courtesy of Open Library.