Hofmann Requirements Engineering GABLER EDITION WISSENSCHAFT Information Engineering und IV -Controll in g Herausgegeben von Professor Dr. Franz Lehner, Universität Regensburg (schriftführend), Professor Dr. Stefan Eicker, Universität-GH Essen, Professor Dr. Ulrich Frank, Universität Koblenz-Landau, Professor Dr. Erich Ortner, Technische Universität Darmstadt, Professor Dr. Eric Schoop, Technische Universität Dresden Die Schriftenreihe präsentiert aktuelle Forschungsergebnisse der Wirtschaftsinformatik sowie interdisziplinäre Ansätze aus Informatik und Betriebswirtschaftslehre. Ein zentrales Anliegen ist dabei die Pflege der Verbindung zwischen Theorie und Praxis durch eine an wendungsorientierte Darstellung sowie durch die Aktualität der Bei träge. Mit der inhaltlichen Orientierung an Fragen des Information Engineerings und des IV-Controllings soll insbesondere ein Beitrag zur theoretischen Fundierung und Weiterentwicklung eines wichtigen Teilbereichs der Wirtschaftsinformatik geleistet werden. Hubert F. Hofmann Requirements Engineering A Situated Discovery Process With foreword by 0 Prof. Dr. Franz Lehner Springer Fachmedien Wiesbaden GmbH Die Deutsche Bibliothek -ClP-Einheitsaufnahme Hofmann, Hubert F.: Requirements engineering : o situated discovery process. / Hubert F. Hofniann. With o forew. by Franz Lehner. -Wiesbaden : Dt. Univ. -VerI. ; wiesbaden : Gabler, 2000 (Gobler Edition WissenschaFt : Information Engineering und IV-Controlling) Zugl.: Regensburg, Univ., Diss., 2000 ISBN 978-3-8244-7215-4 Alle Rechte vorbehalten © Springer Fachmedien Wiesbaden, 2000 Ursprünglich erschienin bei BetriebswirtschaFtlicher Verlag Dr. Th. Gabler GmbH, Wiesbaden, und Deutscher Universitats-Verlag GmbH, Wiesboden, 2000 Lektorat: Brigitte Siegel / Stefanie Brich Der Gobler Verlag und der Deutsche Universităts-Verlag sind Unternehmen der Fachverlagsgruppe BertelsmannSpringer. Dos Werk einschlie!3lich aller seiner Teile ist urheberrechtlich geschGtzt. Jede Verwertung au!3erhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlag~~ unzulăssig und stralbar. Dos girt insbeson dere fur Vervielfăltigungen, Ubersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. hHp:/ /www.gabler.de hHp:/ /www.duv.de Hăchste inhaltliche und technische Qualităt unserer Produkte ist unser ZieI. Bei der Produktion und Verbreitung unserer Werke wollen wir die Umwelt schonen. Dieses Buch ist deshalb auf său refreiem und chlorfrei gebleichtem PaEier gedruckt. Die Einschwei!3folie besteht aus Polyethylen und dom it aus organischen Grundstoffen, (lie weder bei der Herstellung noch bei der Verbren nung Schadstoffe frei setzen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Na men im Sinne der Warenzeichen-und Markenschutz-Gesetzgebung als frei zu betrachten wăren und daher von jedermann benutzt werden dGrften. ISBN 978-3-8244-7215-4 ISBN 978-3-663-07965-1 (eBook) DOI 10.1007/978-3-663-07965-1 Fo r my mother and Theresa Foreword In general the subject of requirements engineering is dealt with as the first stage in the life cyc1e or in the process of software development. Due to rapid advancements in the field of software technologies, the technicalliterature to date does not represent the elicitation and documentation of requirements as comprehensively as to meet its importance. Thus, an increasing demand and a considerable deficit persists in research. Meanwhile, deviations from estimates (e.g., time and expenses), when developing or procuring software products, is an everyday occurrence. A substantial part of this is due to underestimating expenditures during early project stages, in particular for the analysis of requirements. Additionally, errors and failures during these early project stages cause exceptionally high expenses for adjustments of already delivered software. The importance of requirements engineering stands vis-a-vis to insufficient knowledge about available techniques and the methodological approach in practice. Since the beginning of the seventies, when the discussion about the software crisis started, the knowledge in this field significantly increased. This book is, therefore, of considerable importance. An important contribution ofthe author consists ofa comprehensive overview ofthe state of technology and knowledge in this field. In this context the gap between theory and practice, frequently quoted in the technical literature, is also dealt with. Building upon this the author analyzes current practice by reviewing the few studies, which are available for that purpose. Time and again an insufficient relation of requirements knowledge, resources, and process to the situation proves to be the weak point. But only with such a relation an adequate consideration of the participating persons and the evolving application situation is ensured. To bridge this gap, the author compiles heuristics to improve the current practice of requirements engineering (situated discovery process). Finally, in a field study, the verification ofthe suggested concepts and heuristics is attempted. In summary it can be maintained that a comprehensive work to areal and relevant subject has been presented. It is an effective reflection of the relevant literature and a diversified illustration of requirements engineering, which has previously been nonexistent in this form, and which deserves an adequate positive reception among experts. Prof. Dr. Franz Lehner Preface Specifying requirements, often called requirements engineering (RE), may be the single most important part of a software project. Frequently, however, it is the detrimental impact of deficient requirements that emphasizes RE's significant role in deve10ping or procuring software. Originally, RE set out to correct this situation by bringing an engineering orientation to traditional system analysis. This resulted in a piethora ofmethods and techniques emphasizing fitness-of-form. That is, they focused on the internal consistency of a specification against the demands of the specification language or the consistency of a pro gram with its formal specification. Practitioners were left with little guidance on how to apply these methods and techniques to successfully specify requirements. Research, however, increasingly c10ses the gap to RE practice. Ihis more comprehensive view of RE allows stakeholders to achieve and maintain a common understanding of the problem and its solution over the software's life cyc1e. In other words, fitness-for-purpose and fitness-for-change receive more attention. Fitness-for purpose ensures the software's conformity with social and technical requirements. It indicates the understanding of requirements at a given time and deals with the specification's completeness typically measured against some standard, guideline, or domain model. Fitness-for-change denotes the capability to systematically adapt the specification to achanging environment. We expand on previous research and explore fitness-for-purpose and fitness-for change to emphasize a more comprehensive understanding of specifying software. Io achieve this understanding, we first c1assify prevalent methods for each RE activity and compile "heuristics" to help stakeholders identify useful methods for developing or procuring software. We also review five processes that prescribe the timing and frequency of RE activities throughout the software process. While these processes subscribe to different assumptions, they view RE as a fundamentally social process that involves reciprocal interactions of stakeholders, teams, and specifications. In other words, they emphasize that RE is a discovery process. We then turn to the scarce empirical evidence ofRE in practice. For that, we review seven field studies. Ihey offer a wide variety of findings addressing a diverse set of issues largely confirming most people's intuitions and experiences about specifying x Preface requirements. Nevertheless, they also teach us that the commonly experienced discrepancy between the stakeholders' expectations and their (partial) realization in the form of software is deeply rooted in the practiced process of discovering requirements. Moreover, they clearly emphasize RE as a leaming, communication, and negotiation process. While the reviewed studies guide us in the right direction, they pinpoint the need to integrate technical process models with cognitive, social, and organizational processes to improve RE. Based on these findings, we establish RE as a situated discovery process. To develop the foundations of situatedness, we first outline the theory of structuration. Giddens (1984) provides a situated perspective that integrates technical aspects with the (human) environment in which software is initiated, operated, and evaluated. The situated perspective sees a stakeholders' actions as embedded and indexically related to the situation. It stresses the situated character of human action and emphasizes the relevance of context, experience, and practice in RE. In other words, stakeholders draw on knowledge, resources, and processes when specitying software. We apply this situated framework in an exploratory field study. It considers knowledge, allocated resources, and exhibited RE processes, as weIl as discusses their contribution to a project's success or failure. We discuss the stakeholders' assessment ofRE team knowledge with regard to the application domain, information technology, and the RE process. We also review resource utilization and RE processes deployed by participating projects. FinaIly, we provide an overview oftheir performance in terms ofthe quality ofRE service, the quality ofRE products, and process contro!. Some RE teams perform significantly better than the majority of participating projects. In general, they successfully "maneuver" through the duality of structure and dynamically balance its modalities (Le., knowledge, resources, and process). Preface XI Acknowledgements The research for this book on requirements engineering started some seven years ago. Hence, my gratitude is spread far and wide. Old friends as weil as complete strangers from various disciplines have provided invaluable assistance combined with criticism and creative suggestions. The central themes of this work have their roots in the practices of leading high technology companies. While these companies and the outstanding executives that manage their software development and procurement must go unnamed, I am deeply indebted to them for inspiring me to think in new and ever-evolving ways. I owe a debt of gratitude to many colleagues and teachers from whom I have learned so much over the years. Franz Lehner, my friend and thesis advisor, was critically important to this project. I have been privileged to have his expert suggestions and support. I would also like to thank Dieter Bartmann and the late Gerhard Niemeyer for supporting this work. Many of the ideas in this work have emerged from informal discussions. We would particularly like to thank Jon Bartol, Bruce Blum, Bill Clancey, Anthony Finke1stein, Norbert Fuchs, Ralph Holbein, Johannes Koch, Julio Cesar Leite, John Marano, John Overmars, Rolf Pfeifer, Gustav Pomberger, Colin Potts, Gerald Quirchmayr, and Dennis Severance. Finally and most importantly I want to thank my family for their love and support during these many years. A special thanks goes to my wife, Theresa, for arranging our lives to accommodate this whole project, for ingeniously facilitating "thinking" workshops to keep ideas flowing, and who always gently shows me that there is a rich life beyond all things related to requirements engineering. I end with deepest thanks to my mother, Elfriede, who inspired much of the enthusiasm and discipline that went into the creation ofthis book. Hubert F. Hofmann