A quoi ça sert?
What's it for?
President Chirac of France,
on being shown a famous white elephant,
the Millennium Dome, Greenwich
Much of the recent history of large engineering projects—software or systems—has been a tale of waste, error, mismanagement, over-optimism, and lack of proper planning for likely costs and risks. Projects come in late, over budget, and with miserably reduced functionality. Systems sometimes never work, fail on their first period of operational stress, or are permanently unreliable and costly to maintain. We will not name names, as it is fruitless to play the blame game; indeed, engineering systems badly and passing blame are two sides of the same coin. In any case, it is all too easy to find examples in news reports of the demise of famous projects.
By the way, we do not think this is a software issue: it seems to affect complex systems of diverse kinds. The solution cannot therefore be a matter of finding better software-specific tools and techniques; it must be something that helps master complexity.
People have suggested many possible cures for this disease. Most come down to two things:
We think that a critical element that is therefore lacking is communication and, in particular, skill in techniques for communicating needs. With the other authors of this book, we believe that the scenario is one of the most powerful techniques for discovering and communicating requirements and often the first choice for organising them.
On a lighter note, scenarios pass the party test, where the requirements engineer has to explain what he or she does for a living to a stranger in 15 seconds. Where
“I'm a systems, errm, a requirements engineer, and I help to specify complex systems…”
gets a glazed look every time; the description
“I get people to tell the stories of what their systems are meant to do, so they build the right thing”
always seems to work (and even arouse interest). Story telling is so obviously sensible that it seems surprising that it has taken so long to become a mainstream engineering activity.
If you are wondering whether we recommend replacing requirements entirely with scenarios in all circumstances, we can at once tell you that we think that distinctly unwise, for several reasons:
Other vital ingredients of a successful project include
But these are not all within our scope; scenarios don't do everything. However, much of the book is in one way or another about helping to ensure sufficient contact with stakeholders, and the book will, we hope, help to inform engineers in a practical way about using scenarios.
In this book, we present a range of scenario techniques from light, sketchy, and agile to careful and systematic. There is no single ‘right way’ to use scenarios; we celebrate diversity in requirements discovery and modelling. There is supposedly a saying among French cooks that the English have only two sauces: brown Windsor soup (salted gravy thickened with flour) and custard (sweetened milk thickened with corn flour). Obviously, if such a thing were true, the English diet would be somewhat monotonous. Happily, there are as many ways of using scenarios as there are French sauces—for every palate, season, and occasion, and like sauces, each basic scenario technique has any number of variations.
It would have been possible while editing to impose a uniform style and ‘voice’ on all the contributed chapters, but while we have arranged for a common chapter structure and cross-references, we have chosen to encourage authors to speak in their own way. This may help readers to see that people—engineers and researchers—come to technical issues from different directions, with their own backgrounds and preconceptions, just as project stakeholders do. No one on a project has a monopoly on truth; a major strength of scenario approaches is that they allow stakeholders to share and own a description of what they want. Indeed, each step of an operational scenario may be the responsibility of a different player.
Equally, there are many kinds of scenario structures, and these may well be applicable in projects of different types. The question of which approach is best for a given type of project is open, and in the final part of this book, we sketch some preliminary answers to it.
What all the scenario techniques described here have in common is the motivation to improve industrial practice, a clearly defined approach which has been applied to projects and has a grounding in theory.
We have taken care to ensure a consistent framework for each contribution. There are no tall claims here for commercial tools; equally, there are no chapters asserting elegant but untried academic hypotheses.
The book is structured as a whole to put across the message that scenarios work and are good for your projects,
Part I provides an Overview of the nature and use of Scenarios.
Part II looks at how to apply Scenarios through the System Life cycle. It is introduced by an overview of the chapter structure used in this part of the book, and then by two chapters that review what scenarios are and how they are used. Then the chapter authors describe their techniques in their own words, but in a fixed structure, which we hope makes the different approaches easy to compare and contrast. Each chapter includes a Comparisons section to guide the reader to related chapters and to help weave the book into a unified whole. The chapters are supported not only by references to the literature but also by recommendations for further reading.
Part III presents industrial experiences of Scenarios in Action: Case Studies. It begins with an overview of the chapter structure used in this part of the book. Then the chapter authors tell their stories in their own words, but again in a structure that we hope will help you to select the experiences most relevant to your projects. Where appropriate, the text is cross-referenced to the techniques described in other chapters.
Part IV reasons and speculates a little about the future of Scenarios in The Way Ahead. Chapter 22, Putting Scenarios into Practice, reflects on the lessons learnt from the techniques and case studies in Parts II and III—the book itself serving as the basis for some very preliminary research. Part of the Way Ahead lies in the dissemination of what we already know and in the education of tomorrow's engineers; this challenge is discussed in Chapter 23, Teaching Computer Scientists to Make Use.
The Appendices are designed to help make this a practical guide by explaining the terms used and by providing a set of scenario-based engineering templates to get you started, with simple exercises in their use—and providing answers to the exercises.
18.189.170.206