Discovering requirements : how to specify products and services

Author(s)

Bibliographic Information

Discovering requirements : how to specify products and services

Ian Alexander and Ljerka Beus-Dukic

Wiley, c2009

  • : pbk

Available at  / 1 libraries

Search this Book/Journal

Note

Includes bibliography (p. 429-432) and index

Description and Table of Contents

Description

"This book is not only of practical value. It's also a lot of fun to read." Michael Jackson, The Open University. Do you need to know how to create good requirements? Discovering Requirements offers a set of simple, robust, and effective cognitive tools for building requirements. Using worked examples throughout the text, it shows you how to develop an understanding of any problem, leading to questions such as: What are you trying to achieve? Who is involved, and how? What do those people want? Do they agree? How do you envisage this working? What could go wrong? Why are you making these decisions? What are you assuming? The established author team of Ian Alexander and Ljerka Beus-Dukic answer these and related questions, using a set of complementary techniques, including stakeholder analysis, goal modelling, context modelling, storytelling and scenario modelling, identifying risks and threats, describing rationales, defining terms in a project dictionary, and prioritizing. This easy to read guide is full of carefully-checked tips and tricks. Illustrated with worked examples, checklists, summaries, keywords and exercises, this book will encourage you to move closer to the real problems you're trying to solve. Guest boxes from other experts give you additional hints for your projects. Invaluable for anyone specifying requirements including IT practitioners, engineers, developers, business analysts, test engineers, configuration managers, quality engineers and project managers. A practical sourcebook for lecturers as well as students studying software engineering who want to learn about requirements work in industry. Once you've read this book you will be ready to create good requirements!

Table of Contents

Acknowledgements xv Foreword xvii Part I: Discovering Requirement Elements 1 1 Introduction 3 1.1 Summary 4 1.2 Why You Should Read This Book 4 1.3 Simple but Not Easy 6 1.4 Discovered, Not Found 7 1.4.1 Many Different Situations 9 1.5 A Softer Process, at First 12 1.6 More than a List of 'The System Shalls' 16 1.6.1 A Network of Requirement Elements 16 1.6.2 Discovery as Search 18 1.7 A Minimum of Process: The Discovery Cycle 18 1.8 The Structure of this Book 20 1.8.1 Part I: Discovering Requirement Elements 21 1.8.2 Part II: Contexts for Discovery 22 1.9 Further Reading 22 1.9.1 Books on 'Softer' Approaches 22 1.9.2 Books on the Philosophical Background 23 1.9.3 Books on 'Harder' Approaches 24 2 Stakeholders 27 2.1 Summary 28 2.2 Discovering Stakeholders 28 2.2.1 Operational Stakeholders within 'The System' 30 2.2.2 Stakeholders in the Containing System and Wider Environment 30 2.3 Identifying Stakeholders 37 2.3.1 From your Sponsor or Client 37 2.3.2 With a Template such as the Onion Model 37 2.3.3 By Comparison with Similar Projects 40 2.3.4 By Analysing Context 40 2.4 Managing Your Stakeholders 41 2.4.1 Engaging with Stakeholders 41 2.4.2 Keeping Track of Stakeholders 42 2.4.3 Analysing Influences 42 2.4.4 Prioritising Stakeholders 43 2.4.5 Involving Stakeholders 45 2.4.6 The Integrated Project Team 45 2.5 Validating Your List of Stakeholders 45 2.5.1 Things To Check the Stakeholder Analysis Against 46 2.6 The Bare Minimum of Stakeholder Analysis 46 2.7 Next Steps: Requirements from Stakeholders 46 2.8 Exercise 49 2.9 Further Reading 49 3 Goals 51 3.1 Summary 52 3.2 Discovering Goals 52 3.2.1 Worked Example: Goals for a Spacecraft 54 3.2.2 Worked Example: Goals for a Restaurant 57 3.2.3 Worked Example: Tram Goals and Trade-offs 59 3.2.4 Finding Solutions to Goal Conflicts 62 3.2.5 Contexts for Discovering Goals 63 3.2.6 The Negative Side 65 3.3 Documenting Goals 68 3.3.1 Drawing Goal Diagrams 69 3.3.2 Other Ways of Documenting Goals 69 3.4 Validating Goals 71 3.4.1 Things To Check Goals Against 73 3.5 The Bare Minimum of Goals 73 3.6 Next Steps 73 3.7 Exercises 73 3.8 Further Reading 74 3.8.1 Goals 74 3.8.2 The Negative Side 74 3.8.3 The i Goal Modelling Notation 74 4 Context, Interfaces, Scope 75 4.1 Summary 76 4.2 Introduction 76 4.3 A 'Soft Systems' Approach for Ill-Defined Boundaries 77 4.3.1 You are Part of the Soft System you are Observing 78 4.3.2 From Stakeholders to Boundaries 79 4.3.3 Identifying Interfaces 83 4.3.4 Documenting Interfaces 84 4.3.5 Validating your Choice of Boundary 86 4.4 Switching to a 'Hard Systems' Approach for Known Events 87 4.4.1 The Traditional Context Diagram 87 4.4.2 Scope as a List of Events 87 4.4.3 Expressing Event-handling Functions 89 4.4.4 Strengths and Weaknesses of Context Diagrams 92 4.4.5 Validating Interfaces and Events 93 4.4.6 Things To Check Context and Interfaces Against 95 4.5 The Bare Minimum of Context 95 4.6 Next Steps 95 4.7 Exercise 95 4.8 Further Reading 96 4.8.1 Soft Approaches 96 4.8.2 Event-Driven Approaches 96 4.8.3 Writing Requirements 96 5 Scenarios 97 5.1 Summary 98 5.2 Discovering Scenarios 98 5.2.1 Interviews, storytelling 99 5.2.2 Scenario Workshops 101 5.2.3 Discovering Negative Scenarios 107 5.3 Documenting Scenarios 114 5.3.1 Index Cards, User Stories 115 5.3.2 Storyboards 116 5.3.3 Operational Scenarios 118 5.3.4 Use Cases 119 5.4 Summary 124 5.5 Validating Scenarios 124 5.5.1 Scenario Walkthroughs 124 5.5.2 Animation, Simulation, Prototyping 126 5.5.3 Things To Check Scenarios Against 127 5.6 The Bare Minimum of Scenarios 127 5.7 Next Steps 127 5.8 Exercises 128 5.9 Further Reading 128 5.9.1 Storytelling 128 5.9.2 Alternative Scenario Approaches 128 5.9.3 Running Scenario Workshops 129 5.9.4 The Principle of Commensurate Care 129 6 Qualities and Constraints 131 6.1 Summary 132 6.2 What are Qualities and Constraints? 132 6.2.1 A Rich Mixture 132 6.2.2 Qualities that Govern Choices 132 6.2.3 Constraints that Matter to People 133 6.3 Discovering Qualities and Constraints 133 6.3.1 Using Goals to Discover Qualities and Constraints 134 6.3.2 Stakeholder Analysis to Discover Qualities and Constraints 136 6.3.3 Using a Checklist to Discover Qualities and Constraints 136 6.4 Documenting Qualities and Constraints 141 6.4.1 Constraints 142 6.4.2 Development (Process) Qualities 146 6.4.3 Usage (Product) Qualities 147 6.5 Validating Qualities and Constraints 157 6.5.1 Things To Check Qualities and Constraints Against 158 6.6 The Bare Minimum of Qualities and Constraints 159 6.7 Next Steps 159 6.8 Exercises 159 6.9 Further Reading 160 7 Rationale and Assumptions 161 7.1 Summary 162 7.2 The Value of Rationale 162 7.3 Discovering Rationale and Assumptions 163 7.3.1 Asking Why 164 7.3.2 Looking for the word 'will' in vision statements, plans, etc 165 7.3.3 Rationalising a Set of Requirements 166 7.3.4 Inverting Risks 168 7.4 Documenting Rationale 169 7.4.1 Justification Text Field 171 7.4.2 Lists of Assumptions, Risks, Issues and Decisions 172 7.4.3 Traceability to Goals, Assumptions, etc 173 7.4.4 Rationale Models 178 7.4.5 The Goal Structuring Notation (GSN) 182 7.5 Validating Rationale and Assumptions 183 7.5.1 Rationale Walkthrough 184 7.5.2 Analysis of Traceability 184 7.5.3 Things To Check Rationale and Assumptions Against 186 7.6 The Bare Minimum of Rationale and Assumptions 187 7.7 Next Steps 187 7.8 Exercise 187 7.9 Further Reading 187 7.9.1 Discovering Assumptions 187 7.9.2 Reasoning 188 7.9.3 Modelling Rationale 188 7.9.4 Tracing to Goals 188 7.9.5 Goal Structuring Notation (GSN) 188 7.9.6 Satisfaction Arguments 188 8 Definitions 189 8.1 Summary 190 8.2 Discovering Definitions 190 8.2.1 Synonyms 191 8.2.2 Homonyms 193 8.3 Constructing the Project Dictionary 194 8.3.1 Acronyms 195 8.3.2 Definitions and Designations 195 8.3.3 Roles (Operational Stakeholders) 199 8.3.4 Data Definitions 201 8.3.5 Constraints as Data 202 8.4 Validating the Project Dictionary 204 8.4.1 Validating Data Models 205 8.4.2 Things To Check Definitions Against 206 8.5 The Bare Minimum of Definitions 206 8.6 Next Steps 206 8.7 Exercise 206 8.8 Further Reading 206 8.8.1 Definitions and Designations 206 8.8.2 Data Modelling 207 9 Measurements 209 9.1 Summary 210 9.2 Discovering and Documenting Acceptance Criteria 211 9.2.1 Acceptance Criteria for Behavioural Requirements 212 9.2.2 Acceptance Criteria for Qualities 216 9.2.3 Acceptance Criteria for Constraints 218 9.2.4 Verification Method 219 9.3 Validating Acceptance Criteria 222 9.3.1 Testing from Day One 222 9.4 Measuring Quality of Service (QoS) 223 9.4.1 Example Service: Office Carpeting 224 9.4.2 Two Opposite Approaches 225 9.4.3 A Spectrum of Service Approaches 226 9.4.4 Worked Example: QoS Measures for Food Preparation Services 228 9.5 Validating QoS Measures 230 9.5.1 Qualities of a Good QoS Measure 230 9.5.2 Will your QoS Measures Work? 231 9.5.3 Common QoS Measures 232 9.5.4 Validating QoS with Negative Scenarios 232 9.5.5 Things To Check Measurements Against 233 9.6 The Bare Minimum of Measurement 233 9.7 Next Steps 233 9.8 Exercise 233 9.9 Further Reading 233 10 Priorities 235 10.1 Summary 236 10.2 Two Kinds of Priority 236 10.3 Input Priority 237 10.3.1 Discovering Input Priority 237 10.3.2 Documenting Input Priority 241 10.3.3 Validating Input Priority 242 10.4 Output Priority 243 10.4.1 Discovering Output Priority 243 10.4.2 Documenting Output Priority 251 10.4.3 Validating Output Priority 253 10.5 Things To Check Priority Against 254 10.6 The Bare Minimum of Priorities 255 10.7 Next Steps 255 10.8 Exercise 255 10.9 Further Reading 255 10.9.1 Triage 255 10.9.2 Input Priority 256 10.9.3 Boston Matrix 256 10.9.4 Review Process 256 10.9.5 Life Cycles 256 Part II: Discovery Contexts 257 11 Requirements from Individuals 259 11.1 Summary 260 11.2 Introduction 260 11.3 Interviews 261 11.3.1 Planning an Interview Campaign 261 11.3.2 Planning Each Interview 267 11.3.3 Documenting Interviews 268 11.3.4 Validating Interview Findings 273 11.4 Observation and 'Apprenticeship' 274 11.4.1 Making Observations 274 11.4.2 Being 'Talked Through' Operations 276 11.4.3 Documenting Observations 277 11.4.4 Validating Observations 280 11.5 The Bare Minimum from Individuals 280 11.6 Exercises 280 11.7 Further Reading 281 11.7.1 Interviewing 281 11.7.2 Using Video 281 11.7.3 Observation 282 11.7.4 Tacit Knowledge 282 11.7.5 Standard Types of Systems Analysis 282 11.7.6 Informal Modelling Techniques 282 11.7.7 Philosophy 282 12 Requirements from Groups 283 12.1 Summary 284 12.2 The Goal of Group Work 284 12.2.1 Unique Capabilities 284 12.2.2 Obstacles 285 12.2.3 Mediating Group Work (on one site or many) 285 12.3 Workshops 286 12.3.1 Define Workshop Mission 286 12.3.2 Workshop Planning 287 12.3.3 Workshop Rehearsal 289 12.3.4 Workshop Setup 290 12.3.5 Workshop Recording 299 12.3.6 Validating Workshop Findings 302 12.4 Group Media 305 12.4.1 Project Wall 305 12.4.2 Project Website 306 12.4.3 Project Wiki 307 12.4.4 Modelling Tool 308 12.4.5 Requirements Management Tool 309 12.4.6 Groupware and Working at a Distance 310 12.4.7 The Role of Group Media 312 12.5 The Bare Minimum from Groups 314 12.6 Next Steps 314 12.7 Exercise 314 12.8 Further Reading 315 12.8.1 Workshops 315 12.8.2 Working in Groups 315 13 Requirements from Things 317 13.1 Summary 318 13.2 Requirements Prototyping 318 13.2.1 Purpose 319 13.2.2 Techniques 319 13.3 Reverse Engineering 330 13.3.1 From an Existing Product 330 13.4 Requirements Reuse 337 13.4.1 Type 1: Naive Reuse 337 13.4.2 Type 2: Standardisation 338 13.4.3 Type 3: Product Lines 338 13.4.4 Tool Support for Reuse 338 13.5 Validating Requirements from Things 340 13.6 The Bare Minimum from Things 340 13.7 Exercises 340 13.8 Further Reading 340 13.8.1 Prototyping 340 14 Trade-offs 343 14.1 Summary 344 14.2 Optioneering: The Engineering of Trade-offs 344 14.2.1 The Requirements-First Life-Cycle Myth 344 14.2.2 An Optioneering Life Cycle 345 14.2.3 The Optioneering Process 350 14.2.4 Selecting the Winning Option 352 14.2.5 Optioneering with PCA: A Worked Example 360 14.3 Validating your Trade-offs 367 14.4 The Bare Minimum of Trade-offs 367 14.5 Next Steps 367 14.6 Exercises 368 14.7 Further Reading 369 14.7.1 Trade-offs 369 14.7.2 Statistics 370 14.7.3 PCA 370 14.7.4 Weighting Approaches 370 14.7.5 Analytic Hierarchy Process (AHP) 370 14.7.6 Quality Function Deployment (QFD) 370 14.7.7 Questions, Options, Criteria (QOC) 371 15 Putting it all Together 373 15.1 Summary 374 15.2 After Discovery 374 15.2.1 Everything Depends on the Requirements 374 15.2.2 Principles for the Requirements Chef 375 15.3 The Right Process for your Project 376 15.3.1 Case Study: A Retail IT Project 377 15.3.2 Case Study: Transport Planning 379 15.3.3 Requirements-Driven Project Management 381 15.4 Organising the Requirements Specification 385 15.4.1 Template 385 15.4.2 Levels 385 15.4.3 Can Use Cases Do Everything? 386 15.4.4 Organising Product Functions 386 15.4.5 Traditional 'Shalls' 387 15.4.6 Relating Requirements of Different Types 388 15.4.7 Conflicting Needs for Requirement Organisation 390 15.4.8 The Benefit of Requirements (Traceability) Tools 390 15.4.9 An Alternative View: Competing Approaches 391 15.5 The Bare Minimum of Putting it all Together 394 15.6 Further Reading 394 15.6.1 Choosing and Tailoring Development Life Cycles 394 15.6.2 Managing Projects From Requirements 395 15.6.3 Classics for Inspiration and Reflection 395 15.6.4 A Look Ahead 396 Appendix A: Exercise Answers and Hints 397 Appendix B: Getting the Level Right 405 Appendix C: Tools for Requirements Discovery 411 Appendix D: Template 423 Bibliography 429 Glossary 433 Index 445

by "Nielsen BookData"

Details

Page Top