Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Feature Mapping - The Fast Track from Stories to Executable Specifications

507 views

Published on

Slides from the Feature Mapping workshop run at Agile Testing Days 2018 in Berlin.

Feature Mapping helps teams collaboratively write higher quality executable specifications.

Writing good acceptance criteria is one of the keys to effective software delivery. But it’s hard. In this workshop, you will learn about Feature Mapping, a simple but powerful technique that helps teams understand requirements at different levels and leads them naturally to write great executable specifications.

Building on Jeff Patton’s Story Mapping, Matt Wynne’s Example Mapping, and other techniques, Feature Mapping is an excellent way to build a deep shared understanding of a story's requirements and to clear a path to a smooth implementation of automated acceptance tests.

This workshop will be structured in two parts. The first will present the principles behind Feature Mapping, and the BDD requirements discovery process in general, and walk through an example of building a feature map. During the second half of the workshop, participants will work in groups of 6 to use Feature Mapping to go from a user story with a few high-level acceptance criteria, to executable specifications that could be implemented directly in Cucumber.

Published in: Technology
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Feature Mapping - The Fast Track from Stories to Executable Specifications

  1. 1. AUTHOR OF ‘BDD IN ACTION’ @wakaleo www.johnfergusonsmart.com Feature Mapping The fast track from stories to acceptance criteria
  2. 2. BDD and Agile Requirements Discovery
  3. 3. BDD is what makes you be agile, not just “do agile”
  4. 4. Overview Overview www.johnfergusonsmart.comWakaleo Consulting The collaboration conundrum “So we all agree”
  5. 5. Overview Overview www.johnfergusonsmart.comWakaleo Consulting The Traditional Way Business Stakeholders BA Dev team Test team
  6. 6. What can possibly go wrong? Wasted time during analysis Misunderstandings and Misinterpretations during development
  7. 7. We call this approach 
 “Behaviour Driven Development” Collaborate to discover requirements and identify uncertainty And a common language to build a shared understanding And automation that provides fast and relevant feedback To deliver software that matters Using rules and examples at multiple levels
  8. 8. Overview Overview Validation and Feedback The BDD Way Collaboration As a corporate frequent flyer I want to earn points on my business flights So that I can get discounts on my holiday flights Business Scenario: First class earns double points Given London-Paris in economy earns 100 points When I fly from London to Paris in First Class
 Then I should earn 200 points SHARED UNDERSTANDING Automation
  9. 9. Collaboratively Defined Executable Specifications Faster automated feedback, sooner A deeper shared understanding of the business domain A single source of truth give us
  10. 10. The BDD Process Roles and stages
  11. 11. Illustrate The Three Amigos Business rules and examples Feature Mapping, Example Mapping… Formulate The Gherkin Gang Gherkin Executable Specifications Automate Cucumber The Cucumber Club Automated Acceptance Tests Amend a trade In order to respect the orders of our clients As a trader I need to be able to amend incorrectly-entered Speculate The Value Hunters Validate Passing acceptance tests The Daring Delivery Team Demonstrate Working features and Living Documentation The Contented Customer Feature Mapping
  12. 12. The bigger picture - BDD across teams High level business idea or needs Initial analysis Principal stakeholder, SMEs, business BAs,… Strategic Requirements Discovery Stakeholders, SMEs, business BAs, team delegates In order to comply to CDD regulations As a retail bank I need to ensure that new customers do not pose a reputational or financial risk for the bank. In order to comply to CDD regulations As a retail bank I need to ensure that new customers do not pose a reputational or financial risk for the bank. In order to comply to CDD regulations As a retail bank I need to ensure that new customers do not pose a reputational or financial risk for the bank. In order to comply to CDD regulations As a retail bank I need to ensure that new customers do not pose a reputational or financial risk for the bank. Prioritised backlog of high level items High Level Feature Map Team CTeam BTeam A High level capabilities
  13. 13. Feature Mapping
  14. 14. We question rules to find examples We challenge examples to find counter-examples We explain counter-examples with new rules We start with the rules we know about
  15. 15. Rules explain Examples Examples illustrate Rules Steps explore Examples Steps lead to Consequences Questions challenge everything Four Principles
  16. 16. Serenity Dojo www.johnfergusonsmart.com A Simple Feature Map “Sally is assigned a high priority review task for a suspicious transaction. She knows she won’t be able to complete it today, so she delegates it to her colleague Doug. Doug sees the review task appear in his task list, and Sally should see the task in her ‘Pending others’ list” Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner
  17. 17. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list Start with a happy path or a known rule
  18. 18. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 1) Start with an example
  19. 19. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 2) Break into steps Sally is assigned a high priority review task Sally assigns the task to Doug
  20. 20. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 3) Identify consequences Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list
  21. 21. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list “Example” “Steps” “Consequences”
  22. 22. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 4) Hunt for variations Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list What if Doug isn’t authorised to handle this task?
  23. 23. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 5) Find new rules Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list What if Doug isn’t authorised to handle this task? Tasks can only be delegated to authorised users
  24. 24. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 6) Illustrate the rules Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list What if Doug isn’t authorised to handle this task? Tasks can only be delegated to authorised users The one where Sally delegates a review task to Indira Sally is assigned a Suspicious International Transfer review task Indira is not authorised to view Suspicious International Transfer tasks Sally tries to assign the task to Indira => Indira does not appear in the list of potential delegates
  25. 25. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 6) Illustrate the rules Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list Tasks can only be delegated to authorised users The one where Sally delegates a review task to Indira Sally is assigned a Suspicious International Transfer review task Indira is not authorised to view Suspicious International Transfer tasks Sally tries to assign the task to Indira => Indira does not appear in the list of potential delegates “Rule”
  26. 26. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 7) Keep going Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list Tasks can only be delegated to authorised users The one where Sally delegates a review task to Indira Sally is assigned a Suspicious International Transfer review task Indira is not authorised to view Suspicious International Transfer tasks Sally tries to assign the task to Indira => Indira does not appear in the list of potential delegates What if Sally has already completed the task and tried to delegate by mistake? Only pending tasks can be delegated The one where Sally has already completed the task Sally is assigned a Suspicious International Transfer review task Sally tries to assign the task to Doug => Sally is not given the option to delegate the completed task. Sally completes the task
  27. 27. Delegate a review task As a busy regulatory supervisor I want to be able to delegate some of my review tasks to other users So that the tasks will be processed in a timely manner The one where Sally delegates a review task to Doug 7) Keep going Sally is assigned a high priority review task Sally assigns the task to Doug => The task should not appear in Sally’s task list => The task should be visible in Doug’s task list => The task should appear in Sally’s Pending Others list Tasks can only be delegated to authorised users The one where Sally delegates a review task to Indira Sally is assigned a Suspicious International Transfer review task Indira is not authorised to view Suspicious International Transfer tasks Sally tries to assign the task to Indira => Indira does not appear in the list of potential delegates Only pending tasks can be delegated The one where Sally has already completed the task Sally is assigned a Suspicious International Transfer review task Sally tries to assign the task to Doug => Sally is not given the option to delegate the completed task. Sally completes the task The supervisor is warned if the delegate is absent The one where Doug is on holidays Sally is assigned a Suspicious International Transfer review task Sally tries to assign the task to Doug => Sally is warned that Doug is on holidays Doug is on holidays this week
  28. 28. From Feature Maps to Gherkin
  29. 29. Serenity Dojo www.johnfergusonsmart.com Feature Maps and Gherkin Feature Maps lead naturally to good quality Gherkin
  30. 30. The supervisor is warned if the delegate is absent The one where Doug is on holidays Sally is assigned a Suspicious International Transfer review task Sally tries to assign the task to Doug => Sally is warned that Doug is on holidays Doug is on holidays this week Scenario: The one where Doug is on holidays The supervisor is warned if the delegate is absent Given Sally has been assigned a 'Suspicious International Transfer' review task And Doug is on holidays until next week When Sally tries to delegate the task Then Sally is warned that Doug is on holidays
  31. 31. Let’s give it a try!
  32. 32. Key Take Aways
  33. 33. Feature Mapping Collaborative Iterative Exploratory A requirements discovery practice that is…
  34. 34. Feature Mapping Breadth Depth Context
  35. 35. Feature Mapping More precise than free-form acceptance criteria Faster than Gherkin Easy to automate
  36. 36. Thank You! http://johnfergusonsmart.com reachme@johnfergusonsmart.com reachme@johnfergusonsmart.com

×