Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Given/When/Then-ready sprint planning (Agile Tour Vienna 2015)

1.746 visualizaciones

Publicado el

Abstract
If you have ever done or tried to do behavior driven development, you know that finding the right scenarios (ie. tests) and writing the Gherkin feature files with the Given/When/Then steps is not so easy. Many teams leave this task entirely for the developers. Others try to use the sprint planning meeting to discuss the exact phrasing. None of these are really perfect. Regarding my experience, for having good scenarios, you have to have a good sprint planning. In this session I am going to talk about what makes a sprint planning good and how you can facilitate your sprint planning meeting in a way that it helps finding the right examples. You will hear about Specification by Examples, the "Three Amigos", example mapping, really good acceptance criteria and also about team motivation, but more importantly you will hear about how to use them efficiently in practice.

Publicado en: Software
  • Inicia sesión para ver los comentarios

Given/When/Then-ready sprint planning (Agile Tour Vienna 2015)

  1. 1. Gáspár Nagy coach • trainer • bdd addict • creator of specflow @gasparnagy • gaspar@specsolutions.eu Gáspár Nagy coach • trainer • bdd addict • creator of specflow @gasparnagy • gaspar@specsolutions.eu Given/When/Then-ready sprint planning Agile Tour Vienna • 21/11/2015
  2. 2. Copyright © Gaspar NagyCopyright © Gaspar Nagy specsolutions.eu/bddaddict bdd addict given.when.then CAUTION! on stage
  3. 3. Copyright © Gaspar NagyCopyright © Gaspar Nagy What is BDD?
  4. 4. Copyright © Gaspar NagyCopyright © Gaspar Nagy An Oversimplified BDD Process Scenario: Books can be added to the shopping basket Given the following books | Author | Title | | Martin Fowler | Analysis Patterns | | Gojko Adzic | Bridging the Communication Gap | And my shopping basket is empty When I add the book “Analysis Patterns” to my shopping basket Then my shopping basket should contain 1 copy of “Analysis Patterns”
  5. 5. Copyright © Gaspar NagyCopyright © Gaspar Nagy The Feature File Scenario: Books can be added to the shopping basket Given the following books | Author | Title | | Martin Fowler | Analysis Patterns | | Gojko Adzic | Bridging the Communication Gap | And my shopping basket is empty When I add the book “Analysis Patterns” to my shopping basket Then my shopping basket should contain 1 copy of “Analysis Patterns” Who writes the scenarios? How do you set the title of the scenario? Can I have multiple when/then steps?
  6. 6. Copyright © Gaspar NagyCopyright © Gaspar Nagy If you have these questions you are probably on the wrong track…
  7. 7. Copyright © Gaspar NagyCopyright © Gaspar Nagy The Sprint Planning
  8. 8. Copyright © Gaspar NagyCopyright © Gaspar Nagy Demo: Planning the Pizza Selection Story
  9. 9. Copyright © Gaspar NagyCopyright © Gaspar Nagy Explain the story as a PO
  10. 10. Copyright © Gaspar NagyCopyright © Gaspar Nagy Let’s write a Gherkin from the result Scenario: ... Given ... When ... Then ...
  11. 11. Copyright © Gaspar NagyCopyright © Gaspar Nagy De-briefing • PO was unprepared • We discussed the topics in a foreign language • The domain was known, but not very exact • Quality of notes? • How easy it to write the first scenario? • Quality of scenario?
  12. 12. Copyright © Gaspar NagyCopyright © Gaspar Nagy An efficient meeting…
  13. 13. Copyright © Gaspar NagyCopyright © Gaspar Nagy Demo: Planning the Pizza Selection Story
  14. 14. Copyright © Gaspar NagyCopyright © Gaspar Nagy Participate in the facilitated discussion as PO
  15. 15. Copyright © Gaspar NagyCopyright © Gaspar Nagy Should be able to add a pizza to the basket Scenario: Should be able to add a pizza to the basket Given the following pizza menu | name | ingredients | | Aslak Hellesøy | Cucumber, Gherkin, Pickles | | Uncle Bob | Chicken, Low cal cheese | | Chris Matts | Garlic, Wasabi, Tomato | And the shopping basket is empty When I choose a “Chris Matts” pizza Then my basket contains 1 “Chris Matts” pizza
  16. 16. Copyright © Gaspar NagyCopyright © Gaspar Nagy Should be able to add extras to the chosen pizza Scenario: Should be able to add extras to the chosen pizza Given the following pizzas in the basket | pizza | extras | | Aslak Hellesøy | - | | Chris Matts | - | And the “Aslak Hellesøy” pizza is selected from the basket When I add extra cheese And I add extra cucumber Then the basket should contain | pizza | extras | | Aslak Hellesøy | +cheese +cucumber | | Chris Matts | - |
  17. 17. Copyright © Gaspar NagyCopyright © Gaspar Nagy How It's Made
  18. 18. Copyright © Gaspar NagyCopyright © Gaspar Nagy Well guided planning meeting can improve the “BDD-efficiency” quite much • Someone needs to facilitate the discussion – not the PO • The facilitation can be rotated so that everyone gets practice • The facilitator can guide the discussion with • Asking questions • Moderating (stopping?) discussions • Everyone can ask of course…
  19. 19. Copyright © Gaspar NagyCopyright © Gaspar Nagy #1 – Pick a guide line • Choose a theme that you can use to order the questions • The “sequence of actions” is usually good • ie. “What you do first?” • If you use story mapping for planning the stories, this comes quite naturally
  20. 20. Copyright © Gaspar NagyCopyright © Gaspar Nagy #2 – Keep collecting acceptance criteria • Once you hear an important rule/behavior/check, note it down as an acceptance criterion • Don’t forget that AC is not necessarily text, but formulas, wireframes or anything that describes the required behavior
  21. 21. Copyright © Gaspar NagyCopyright © Gaspar Nagy #3 – Make notes visible to everyone • Writing them up to the whiteboard can work well • Using (and sharing on projector) a notepad, OneNote or SpecLog is also very good • Pro: stored already in a searchable form, usually better visible (zoom), easy to go back to earlier notes • Con: harder to get a full overview • Stop the discussion while the AC is captured • The team should have an agreement on the captured result • Was this really what we were discussing about?
  22. 22. Copyright © Gaspar NagyCopyright © Gaspar Nagy #4 – Collect examples • Ask for examples if not provided • Examples can help • understanding the topic • discover misunderstandings • keep the requirements real • Discover more: Specification by Example, Example mapping
  23. 23. Copyright © Gaspar NagyCopyright © Gaspar Nagy #5 – Write a glossary • As a facilitator, keep watching the domain terms and their usage • Highlight if they are used inconsistently • Suggest choosing a term • “Why don’t we give this a name?” • The terms can be just highlighted in the notes, but you can also build up a glossary as the discussion goes • Discover more: Domain Driven Design
  24. 24. Copyright © Gaspar NagyCopyright © Gaspar Nagy +1 – Formulate the scenarios in Gherkin • Not necessarily in the planning meeting • Just before you start implementing the story works usually • Don’t do it alone • Try to find broader agreement especially for the first scenarios in a certain topic • At this point, you are not discussing the behavior, but finalizing the ubiquitous language • Discover more: Three Amigos
  25. 25. Copyright © Gaspar NagyCopyright © Gaspar Nagy One page summary #1 – Pick a guide line #2 – Keep collecting acceptance criteria #3 – Make notes visible to everyone #4 – Collect examples #5 – Write a glossary
  26. 26. Copyright © Gaspar NagyCopyright © Gaspar Nagy What about my answers? Who writes the scenarios? How do you set the title of the scenario? Can I have multiple when/then steps?
  27. 27. Copyright © Gaspar NagyCopyright © Gaspar Nagy The answers • Who writes the scenarios? • It does not matter, because we are all on the same page regarding the behavior. But it makes sense if a developer is typing it in with a tester or PO sitting next to him/her. • How do you set the title of the scenario? • You never set it, you start from the acceptance criterion that will be the title. • Can I have multiple when/then steps? • The scenario is the formalization of an AC – a simple check. For that you usually need only one when step and only one or two then steps.
  28. 28. Copyright © Gaspar NagyCopyright © Gaspar Nagy Try is at home!
  29. 29. Gáspár Nagy coach • trainer • bdd addict • creator of specflow @gasparnagy • gaspar@specsolutions.eu Gáspár Nagy coach • trainer • bdd addict • creator of specflow @gasparnagy • gaspar@specsolutions.eu Thank you!
  30. 30. Copyright © Gaspar NagyCopyright © Gaspar Nagy specsolutions.eu/bddaddict bdd addict given.when.then CAUTION! on the loose

×