Foreword to 'Discovering Requirements'
by
Professor Michael Jackson

As information technology grows in power and reach, systems become more ambitious and more tightly integrated. The discipline of defining—or, perhaps, engineering—requirements becomes broader and deeper: it now embraces almost every project that aims to defining a human or technical need and to find a means to satisfy it.

Inevitably, the requirements engineering community is a very broad church. Its adherents includes practitioners and thinkers of all inclinations, ranging from those who relish challenges in the softest human and social terms to those who prefer to grapple with the hard-edged technical intricacies of defining the details of required software behaviour in any problem context from a physical device to a business organisation.

Ian Alexander and Ljerka Beus-Dukic are teachers and practitioners, very comfortable in the centre and softer areas of the discipline. They are interested above all in the process of discovering requirements in realistic human contexts, and their book reflects and conveys the scope of their interest, experience and wisdom. It is filled with practical advice based both on experience and thought. They offer insights and help in the vital pragmatics of eliciting and clarifying the needs of multifarious stakeholders, and of balancing their conflicting interests and goals. They are strong on the social skills that the practitioner needs to identify what is really required, and on the techniques of trading off stakeholders’ requirements against one another and against what is achievable in practice.

The book is annotated with aphorisms drawn from a multitude of sources—some from the ever-growing literature of requirements engineering, some from thinkers as diverse as Winston Churchill and Walter Vincenti, a wonderfully insightful aeronautical engineer. Every human milieu provides illuminating examples: the provision of a meal, the construction of an Indonesian outrigger boat, the use of a hand-held wireless device on a mountain hike—all furnish both insight and amusement.

The book has an interesting matrix organisation. Earlier chapters focus on the elements of requirements—stakeholders, goals, scenarios and priorities. Later chapters focus on the contexts and sources—individuals, groups, and artefacts—from which these elements can be elicited and the full requirements fashioned. Two final chapters offer advice on trade-offs and on how to put it all together in the eventual implementation project.

This book is not only of practical value. It’s also a lot of fun to read. I particularly liked one remark that chimed happily with my own prejudices: “We believe that for any task, whether you are learning from a book or doing practical work on a project, you need to balance periods of action with periods of reflection.” I agree wholeheartedly. And I’m sure you will agree, as you enjoy this book, that its authors have followed their own advice to admirable effect.

Discovering Requirements


(c) Ian Alexander 2009