Discovering Requirements: How to Specify Products and Services
"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!

1124374172
Discovering Requirements: How to Specify Products and Services
"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!

69.0 In Stock
Discovering Requirements: How to Specify Products and Services

Discovering Requirements: How to Specify Products and Services

Discovering Requirements: How to Specify Products and Services

Discovering Requirements: How to Specify Products and Services

Paperback

$69.00 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

"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!


Product Details

ISBN-13: 9780470712405
Publisher: Wiley
Publication date: 03/30/2009
Pages: 480
Product dimensions: 7.50(w) x 9.20(h) x 1.10(d)

About the Author

Ian Alexander consults and trains on requirements. He has co-authored 3 books including Writing Better Requirements (2002, Wiley), HTML 4 (1997, Addison-Wesley) and Scenarios, Stories, Use Cases (2004, Wiley), and has published many technical papers and popular articles, including regular contributions to the IEEE Software. He runs various requirements training courses for IET, JBA, DERA, QSS and UNICOM amongst others.

Ljerka Beus-Dukic is a lecturer in software engineering and has taught Requirements Engineering for a number of years. Prior to joining academia, she worked in industry as a software engineer developing software for real-time applications. Ljerka is the author of many technical papers and was a contributor for the book (Powell D. (Ed.), A Generic Fault-Tolerant Architecture for Real-Time Dependable Systems, Kluwer Academic Publishers, 2001). She is on the programme committee for a number of conferences including ICCBSS and Euromicro and also worked on the EU funded GUARDS project. She has co-authored around 30 publications.

Read an Excerpt

Click to read or download

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: Naïve 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

From the B&N Reads Blog

Customer Reviews