Home Page Icon
Home Page
Table of Contents for
B16234_TOC_Final_NM
Close
B16234_TOC_Final_NM
by Fred Heath
Managing Software Requirements the Agile Way
Managing Software Requirements the Agile Way
Why subscribe?
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Chapter 1: The Requirements Domain
The nature of requirements and specifications
What is a requirement?
What are specifications?
The requirements life cycle
Identifying stakeholders
Identifying goals
Domain goals
Business goals
A traveling analogy of goals, requirements, and specifications
Crossing from requirements to specifications
The requirements funnel
The user story chaos
Summary
Further reading
Chapter 2: Impact Mapping and Behavior-Driven Development
Modeling requirements with impact maps
Introduction to impact mapping
The benefits of impact mapping
Identifying capabilities and features
What is a capability?
What is a feature?
Distinguishing capabilities from features
Introducing BDD
BDD with impact mapping – a perfect partnership
Knowing the difference between functional and non-functional requirements
Summary
Further reading
Chapter 3: Writing Fantastic Features with the Gherkin Language
What's in a feature?
Writing Features with Gherkin
Scripting Scenarios
Discovering Scenarios
Avoiding repetition with Data Tables
Adding more Scenarios
Avoiding repetition with Scenario Outlines
Scenario Outlines versus Data Tables
Avoiding step repetition with Backgrounds
Writing a fully formed Feature
Tips for writing good Features
Using tags to label, organize, and filter our Features
Knowing why Features are executable specifications
Summary
Further reading
Chapter 4: Crafting Features Using Principles and Patterns
Applying the BDD principles
BDD isn't testing
The 80-20 rule
System behavior is not system implementation
Wearing different hats
Discerning patterns in our features
The CRUD Features pattern
The composite features pattern
The feature interpolation pattern
Patterns to avoid
Anti-pattern – thinking like developers
Anti-pattern – incidental details
Anti-pattern – scenario flooding
Anti-pattern – vague outcomes
Anti-pattern – compound steps
Summary
Chapter 5: Discovering and Analyzing Requirements
The lost art of requirements elicitation
Preparing for requirements analysis
Stakeholder model
Glossary
Analyzing requirements
Having a structured conversation
Decompose, Derive, Discover (D3)
Decomposition
Detecting capabilities and features
Decomposition outcome
Derivation
Discovery
Business process mapping
Summary
Chapter 6: Organizing Requirements
Providing easy access to our requirements model
Ensuring traceability with entity identifiers
Creating a specification document
Getting stakeholder agreement on the specification
Scoping the specification
Creating a product backlog
The Agile SDLC
What goes into the product backlog?
Where to keep the backlog
Summary
Chapter 7: Feature-First Development
Setting up for successful delivery
Creating a staging environment
Creating a task board
Defining done
Actualizing just-in-time development
Working with Scrum
Sprint planning
Sprint development cycle
End of Sprint
Dealing with change
Working within Kanban
Kanban planning
Kanban development cycle
Dealing with change
Summary
Chapter 8: Creating Automated Verification Code
Why is automated verification valuable?
Avoiding brittleness by layering automation code
The brittle step definition problem
Applying layers of abstraction
Leveraging automated verification code patterns
Hiding browser details with the Page Object pattern
Wrap up complex operations with the Façade Pattern
Knowing which patterns to apply and when to apply them
Separating the things we verify from the way we verify them
Summary
Chapter 9: The Requirements Life Cycle
Revisiting the requirements management life cycle
Validating requirements
Modeling requirements
Creating specifications
Classifying requirements
Documenting requirements
Prioritizing requirements
Verifying requirements
Dealing with change
Applying the Agile requirements management workflow
Elicitation and Analysis
Modeling and Discovery
Executable specification
Development, Validation, and Verification
Summary
Further reading
Chapter 10: Use Case: The Camford University Paper Publishing System
Understanding the Camford conundrum
Eliciting requirements
Leading the initial discussions
Analyzing requirements
Decomposing the ME's requirements
Deriving requirements
Discovering requirements
Planning the way forward
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Managing Software Requirements the Agile Way
Next
Next Chapter
Preface
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
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset