Table of Contents

Preface

Chapter 1: The Requirements Domain

The nature of requirements and specifications  2

What is a requirement?  3

What are specifications?  3

The requirements life cycle  4

Identifying stakeholders  5

Identifying goals  7

Domain goals  7

Business goals  8

A traveling analogy of goals, requirements, and specifications   13

Crossing from requirements to specifications  14

The requirements funnel  14

The user story chaos  16

Summary  17

Further reading  17

Chapter 2: Impact Mapping and Behavior-Driven Development

Modeling requirements with impact maps  20

Introduction to impact mapping   20

The benefits of impact mapping  21

Identifying capabilities and features  22

What is a capability?  24

What is a feature?  24

Distinguishing capabilities from features  25

Introducing BDD  30

BDD with impact mapping – a perfect partnership  32

Knowing the difference between functional and non-functional requirements  32

Summary  34

Further reading  35

Chapter 3: Writing Fantastic Features with the Gherkin Language

What's in a feature?  38

Writing Features with Gherkin  39

Scripting Scenarios  41

Discovering Scenarios  42

Avoiding repetition with Data Tables  44

Adding more Scenarios  45

Avoiding repetition with Scenario Outlines  46

Scenario Outlines versus Data Tables  48

Avoiding step repetition with Backgrounds  49

Writing a fully formed Feature  50

Tips for writing good Features  52

Using tags to label, organize, and filter our Features  54

Knowing why Features are executable specifications  55

Summary  58

Further reading  59

Chapter 4: Crafting Features Using Principles and Patterns

Applying the BDD principles  62

BDD isn't testing  62

The 80-20 rule  62

System behavior is not system implementation  63

Wearing different hats  64

Discerning patterns in our features  64

The CRUD Features pattern  65

The composite features pattern  66

The feature interpolation pattern  68

Patterns to avoid  71

Anti-pattern – thinking like developers  72

Anti-pattern – incidental details  73

Anti-pattern – scenario flooding  74

Anti-pattern – vague outcomes  74

Anti-pattern – compound steps  76

Summary  77

Chapter 5: Discovering and Analyzing Requirements

The lost art of requirements elicitation  80

Preparing for requirements analysis  82

Stakeholder model  82

Glossary  85

Analyzing requirements  87

Having a structured conversation  88

Decompose, Derive, Discover (D3)  89

Decomposition  90

Detecting capabilities and features  91

Decomposition outcome  93

Derivation  94

Discovery  95

Business process mapping  96

Summary  99

Chapter 6: Organizing Requirements

Providing easy access to our requirements model  102

Ensuring traceability with entity identifiers  103

Creating a specification document  104

Getting stakeholder agreement on the specification  106

Scoping the specification  106

Creating a product backlog  107

The Agile SDLC  107

What goes into the product backlog?  108

Where to keep the backlog  112

Summary  113

Chapter 7: Feature-First Development

Setting up for successful delivery  116

Creating a staging environment  116

Creating a task board  116

Defining done  118

Actualizing just-in-time development  119

Working with Scrum  120

Sprint planning  121

Sprint development cycle  122

End of Sprint  125

Dealing with change  128

Working within Kanban  132

Kanban planning  133

Kanban development cycle  134

Dealing with change  135

Summary  135

Chapter 8: Creating Automated Verification Code

Why is automated verification valuable?  138

Avoiding brittleness by layering automation code  138

The brittle step definition problem  139

Applying layers of abstraction  140

Leveraging automated verification code patterns  142

Hiding browser details with the Page Object pattern  143

Wrap up complex operations with the Façade Pattern  146

Knowing which patterns to apply and when to apply them  147

Separating the things we verify from the way we verify them  148

Summary  149

Chapter 9: The Requirements Life Cycle

Revisiting the requirements management life cycle  152

Validating requirements  153

Modeling requirements  153

Creating specifications  155

Classifying requirements  156

Documenting requirements  157

Prioritizing requirements  157

Verifying requirements  159

Dealing with change  159

Applying the Agile requirements management workflow  163

Elicitation and Analysis  163

Modeling and Discovery  165

Executable specification  166

Development, Validation, and Verification   167

Summary  168

Further reading  168

Chapter 10: Use Case: The Camford University Paper Publishing System

Understanding the Camford conundrum  170

Eliciting requirements  171

Leading the initial discussions  171

Analyzing requirements  174

Decomposing the ME's requirements  177

Deriving requirements  179

Discovering requirements  180

Planning the way forward  182

Summary  184

Other Books You May Enjoy

Leave a review - let other readers know what you think  189

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.210.17