Executable Specifications with Scrum: A Practical Guide to Agile Requirements Discovery


Most books about specifications still assume that requirements can be known up front and won?t change much during your project. In today?s ?real world,? however, you must specify and build software in the face of high and continuing uncertainty. Scrum and other agile methods have evolved to reflect this reality. Now, there?s a complete guide to specifying software in agile environments when prerequisites are unclear, requirements are difficult to grasp, and anything about your ...
See more details below
BN.com price
(Save 5%)$34.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (11) from $16.98   
  • New (7) from $18.47   
  • Used (4) from $16.98   
Executable Specifications with Scrum: A Practical Guide to Agile Requirements Discovery

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
BN.com price
(Save 12%)$27.99 List Price


Most books about specifications still assume that requirements can be known up front and won’t change much during your project. In today’s “real world,” however, you must specify and build software in the face of high and continuing uncertainty. Scrum and other agile methods have evolved to reflect this reality. Now, there’s a complete guide to specifying software in agile environments when prerequisites are unclear, requirements are difficult to grasp, and anything about your project could change.

Long-time agile coach and enterprise architect Mario Cardinal shows how to create executable specifications and use them to test software behavior against requirements. Cardinal shows how to trawl requirements incrementally, step-by-step, using a vision-centric and emergent iterative practice that is designed for agility. Writing for analysts, architects, developers, and managers, Cardinal makes a strong case for the iterative discovery of requirements. Then, he moves from theory to practice, fully explaining the technical mechanisms and empirical techniques you need to gain full value from executable specifications.

You’ll learn to connect specifications with software under construction, link requirements to architecture, and automate requirements verification within the Scrum framework. Above all, Cardinal will help you solve the paramount challenge of software development: not only to solve the problem right, but also to solve the right problem.

You will learn how to
• Establish more effective agile roles for analysts and architects
• Integrate and simplify the best techniques from FIT, ATDD, and BDD
• Identify “core certainties” on which your project team should rely to ensure requirements discovery
• Manage uncertainty by discovering stakeholder desires through short feedback loops
• Specify as you go while writing small chunks of requirements
• Use storyboarding and paper prototyping to improve conversations with stakeholders
• Express stakeholder desires that are requirements with user stories
• Refine your user stories, and plan more effective Scrum sprints
• Confirm user stories by scripting behaviors with scenarios
• Transform scenarios into automated tests that easily confirm your software’s expected behavior as designs emerge and specifications evolve
• Ensure higher-quality software by specifying nonfunctional requirements

Read More Show Less

Product Details

  • ISBN-13: 9780321784131
  • Publisher: Addison-Wesley
  • Publication date: 8/14/2013
  • Edition number: 1
  • Pages: 168
  • Sales rank: 1,449,912
  • Product dimensions: 7.00 (w) x 9.00 (h) x 0.50 (d)

Meet the Author

Known for many years as an agile coach specialized in software architecture, Mario Cardinal is the co-founder of Slingboards Lab, a young start-up that brings sticky notes to smartphones, tablets and the web for empowering teams to better collaborate. A visionary and an entrepreneur, he likes to seize the opportunities that emerge from the unexpected. His friends like to describe him as someone who can extract the essence of a complicated situation, sort out the core ideas from the incidental distractions, and provide a summary that is easy to understand. For the ninth consecutive year, he has received the Most Valuable Professional (MVP) award from Microsoft. MVP status is awarded to credible technology experts who are among the very best community members willing to share their experience to help others realize their potential.
Read More Show Less

Table of Contents

Preface xvi
Chapter 1 Solving the Right Problem 1
Distinguishing the Requirements from the Solution 4
Recognizing the Impact of Uncertainty 5
Tackling Uncertainty 7
Summary 10
References 10

Chapter 2 Relying on a Stable Foundation 13
Defining What Will Hardly Change 14
Creating a Healthy Team 14
Requiring the Involvement of All Stakeholders 16
Expressing a Shared Vision 17
Distinguishing a Meaningful Common Goal 20
Identifying a Set of High-Level Features 21
Validating the “Can-Exist” Assumption 22
Summary 23
References 23

Chapter 3 Discovering Through Short Feedback Loops and Stakeholders’ Desirements 25
Applying the Trial-and-Error Method 25
Using Short Feedback Loops 29
Targeting Feedback Along the Expected Benefits 31
Focusing on the Stakeholders’ Desirements 31
Summary 34
References 34

Chapter 4 Expressing Desirements with User Stories 35
Describing Desirements by Using User Stories 35
Discovering Desirements by Exploring Roles and Benefits 38
Establishing a Ubiquitous Language 40
Recording Desirements by Using a Product Backlog 41
Summary 43
References 44

Chapter 5 Refining User Stories by Grooming the Product Backlog 45
Managing the Product Backlog 46
Collaborating to Groom the Product Backlog 48
Ranking User Stories with a Dot Voting Method 49
Illustrating User Stories with Storyboards 52
Sizing User Stories Using Comparison 56
Splitting User Stories Along Business Values 60
Tracking User Stories with a Collaboration Board 62
Delivering a Coherent Set of User Stories 68
Planning Work with User Stories 70
Summary 71
References 72

Chapter 6 Confirming User Stories with Scenarios 73
Scripting User Stories with Scenarios 74
Expressing Scenarios with Formality 76
Scripting Scenarios Using the FIT Tabular Format 77
Scripting Scenarios Using Given-When-Then Syntax 79
Choosing Between FIT Tabular Format or Given-When-Then Syntax 80
Formalizing a Ubiquitous Language 81
Splitting Scenarios into Commands or Queries 83
Confirming Collaboratively in a Two-Step Process 85
Removing Technical Considerations from Scenarios 89
Evolving Scenarios from Sprint to Sprint 91
Organizing Scenarios by Feature 92
Documenting Scenarios by Feature 93
Avoiding Duplication and Merging Conflicts 94
Summary 95
References 96

Chapter 7 Automating Confirmation with Acceptance Tests 97
Evolving Scenarios into Acceptance Tests 98
Automating Scenarios Using the Red-Green-Refactor Cycle 101
Translating the Scenario into an Acceptance Test 104
Transposing Using an Internal DSL 104
Creating a Test 107
Coding the DSL into the Newly Created Test 108
Connecting the Newly Created Test with the Interface 110
Exercising the Interface 112
Chaining Context Between the Steps of the Scenario 113
Making the Test Fail 114
Implementing the Interface 115
Replacing Unit Testing with Context-Specification Testing 116
Making the Test Pass 117
Evolving the Acceptance Test 117
Running Acceptance Tests Side-by-Side with Continuous Integration 118
Enhancing Scenarios with Test Results 119
Summary 121
References 122

Chapter 8 Addressing Nonfunctional Requirements 123
Improving External Quality Using Restrictions 125
Translating Nonfunctional Requirements into Restrictions 127
Reducing the Functional Scope to a Single Scenario 129
Setting Measurable Quality Objectives 131
Testing Restrictions with Proven Practices 135
Ensuring Internal Quality Using Sound Engineering Practices 137
Improving Software Construction with Explicit Practices 137
Mastering Practices with Collaborative Construction 140
Summary 142
References 143

Chapter 9 Conclusion 145
Recapitulating the Book 146
Summarizing the Process 148
Drawing Attention to Individual Roles 149

Glossary 153
Index 159

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)