Book Review: Michael Jackson Retrospective

Software Requirements and Design:
The Work of Michael Jackson

Edited by Bashar Nuseibeh and Pamela Zave

Good Friends Publishing, New Jersey, 2009.

ISBN 9780557407842 (paper)

Buy it from Lulu.com

Books by Michael Jackson:
   
Software Requirements and Specifications
    Problem Frames

Other Reviews

 

 

This nicely produced retrospective has been put together by "colleagues and friends" of Michael Jackson (not the pop singer) to celebrate his extraordinary pioneering career in software engineering, and in particular on requirements. It follows a special "Michael" event at ICSE 2009 (in Vancouver).

Half the book consists as you'd expect of enjoyable samples of Jackson's own writings. These include the sharply funny "Getting It Wrong - A Cautionary Tale". It's about how Fred the programmer makes a continuingly hideous mess of a simple file summary report through lack of correct program structure, complete with stepwise worked example. Each time the program goes wrong ("All went well for the next 17 months.") Jackson wryly shows us what Fred must have been thinking, the agony of debugging

"With the help of the systems programmer, Fred went through the object code hexadecimal character by hexadecimal character, and related it to the source code. The job took only nine hours, which they did in one marathon stretch, thus earning a bonus from their appreciative management. But the result was to prove that the object code was a perfectly reasonable compilation of the up-to-date cobol source text!"

and the steady build-up of tricks and kludges to get the program, somehow, to work. It's pure genius.

Other Jackson samples are more serious: for example, the early "Software Development as an Engineering Problem", with the wonderful abstract

"It is hoped that software development can become a branch of engineering, but there are important differences. ..."

where as usual Jackson brings fresh insights and practical suggestions - so fresh and so practical, indeed, that it is with something of a shock that the reader notices the article is nearly 30 years old.

Four chapters (one by Tony Hoare) cover JSP and JSD.

The other half of the book consists of Jackson-inspired or at least Jackson-admiring chapters by the distinguished friends and colleagues: Anthony Hall, Tony Hoare, Daniel Jackson (Michael's son), Cliff B. Jones, Eunsuk Kang, Bashar Nuseibeh, Axel van Lamsweerde, and Pamela Zave - omitting the word "Professor" to avoid considerable repetition. Anthony Hall explains "the e=mc2" of requirements engineering - the "simple sequent" relation S, E ® R, which (Hall believes) encapsulates precisely what a requirement is, and he describes his Damascus moment while listening to a talk by Jackson:

"The answer to this question came with blinding clarity in 1995."

Other chapters look at Jackson's Problem Frames, and discuss how methods as diverse as goal modelling and dependence diagrams derive from Jackson's ideas.

© Ian Alexander 2010