Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to do example mapping

nihonbuson
November 17, 2020

How to do example mapping

nihonbuson

November 17, 2020
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. Example Mapping Techniques for clarifying understanding of rules • Red

    sticky notes (Questions) is many ◦ Still have a lot to learn • Blue sticky notes (Rules) is many ◦ Story is big and complicated ◦ We should divide the story • One rule has many green sticky notes ◦ The rules are too complicated ◦ Should be divided into multiple blue sticky notes (rules) Japanese version: https://nihonbuson.hatenadiary.jp/entry/ExampleMapping https://cucumber.io/blog/bdd/example-mapping-introduction/
  2. Three Amigos People from three standpoints gather and collaborate to

    confirm requirements People vector created by stories - www.freepik.com QA(Tester) Dev PO
  3. • It's not important to use the practice of example

    mapping! • It is important to have a conversation with stories, rules, examples, and questions separately, and record them separately! • This time, we will also introduce the conversation that is the process of creating the example mapping. What I want to convey through real examples
  4. Add scale rule I want to display the graph of

    the number of people in a good way I don't understand what "good way" is. So, I'll ask you a lot of questions. The scale of the vertical axis changes with a good way based on the maximum value Change the scale based on the maximum value Display the number of people graph in a good way PO QA
  5. Case of 1000 people For example, what happens if there

    are 1000 people in max value? Display the number of people graph in a good way QA
  6. Case of 1000 people Since there are 4 scales, the

    scales are 250, 500, 750, 1000. For example, what happens if there are 1000 people in max value? Display the number of people graph in a good way QA PO
  7. Add example 1000 Display the number of people graph in

    a good way Change the scale based on the maximum value For example, what happens if there are 1000 people in max value?
  8. Add example 1000 -> 250,500 750,1000 Change the scale based

    on the maximum value Display the number of people graph in a good way For example, what happens if there are 1000 people in max value? Since there are 4 scales, the scales are 250, 500, 750, 1000.
  9. Add another scale rule There are 4 scales Change the

    scale based on the maximum value Display the number of people graph in a good way For example, what happens if there are 1000 people in max value? Since there are 4 scales, the scales are 250, 500, 750, 1000. 1000 -> 250,500 750,1000
  10. Case of 800 people Ah, what happens if there are

    800 people in max value? Display the number of people graph in a good way
  11. Add example There are 4 scales 1000 -> 250,500 750,1000

    800 Change the scale based on the maximum value Ah, what happens if there are 800 people in max value? Display the number of people graph in a good way
  12. Add example Ah, what happens if there are 800 people

    in max value? Again the scale is the same as for 1000 people case. Display the number of people graph in a good way There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Change the scale based on the maximum value
  13. Case of 1500 people So is it the same result

    for 1500 people case? Display the number of people graph in a good way
  14. Case of 1500 people So is it the same result

    for 1500 people case? In this case, the scale will be adjusted to 400,800,1200,1600. Display the number of people graph in a good way
  15. Case of 1500 people So is it the same result

    for 1500 people case? 1500 Display the number of people graph in a good way There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Change the scale based on the maximum value
  16. Add example In this case, the scale will be adjusted

    to 400,800,1200,1600. So is it the same result for 1500 people case? 1500 -> 400,800 1200,1600 Display the number of people graph in a good way There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Change the scale based on the maximum value
  17. Add rule that not to exceed scale Why would it

    change in the case of 1500 people case? 1500 -> 400,800 1200,1600 Display the number of people graph in a good way There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Change the scale based on the maximum value
  18. Add rule that not to exceed scale If the max

    scale is 1000, the data will go through on grath. Do not exceed the top mark Display the number of people graph in a good way There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Change the scale based on the maximum value 1500 -> 400,800 1200,1600 Why would it change in the case of 1500 people case?
  19. Case of 1050 people Then, what happen 1050 people case?

    This is over 1000 people. Display the number of people graph in a good way
  20. Add example Display the number of people graph in a

    good way 1500 -> 400,800 1200,1600 Change the scale based on the maximum value There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Do not exceed the top mark 1050 Then, what happen 1050 people case? This is over 1000 people.
  21. Add example In that case, the max scale remains at

    1000 because the data does not protrude outside the graph. Then, what happen 1050 people case? This is over 1000 people. Display the number of people graph in a good way 1500 -> 400,800 1200,1600 Change the scale based on the maximum value There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Do not exceed the top mark 1050 -> 250,500 750,1000
  22. Change the rule Then, what happen 1050 people case? This

    is over 1000 people. In that case, the max scale remains at 1000 because the data does not protrude outside the graph. I found that it is important that the graph does not go out of the area. Display the number of people graph in a good way 1500 -> 400,800 1200,1600 Change the scale based on the maximum value There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 Do not exceed the top mark 1050 -> 250,500 750,1000
  23. Change the rule In that case, the max scale remains

    at 1000 because the data does not protrude outside the graph. I found that it is important that the graph does not go out of the area. Then, what happen 1050 people case? This is over 1000 people. Display the number of people graph in a good way 1500 -> 400,800 1200,1600 Change the scale based on the maximum value There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 data does not go out of graph area 1050 -> 250,500 750,1000
  24. Case of 600 people Now, consider a smaller value. What

    happen 600 people case? Display the number of people graph in a good way
  25. Add example Change the scale based on the maximum value

    600 Now, consider a smaller value. What happen 600 people case? Display the number of people graph in a good way
  26. Add example 600 -> 200,400 600,800 250, 500, 750, 1000

    scale makes the plot is smaller. So 200, 400, 600, 800 scale makes. Now, consider a smaller value. What happen 600 people case? Display the number of people graph in a good way Change the scale based on the maximum value
  27. Case of 150 people Next, consider a more smaller value.

    What happen 150 people case? Display the number of people graph in a good way
  28. Add example 600 -> 200,400 600,800 150 Display the number

    of people graph in a good way Change the scale based on the maximum value Next, consider a more smaller value. What happen 150 people case?
  29. Add example 150 -> 40,80 120,160 Ah, 40,80,120,160 is just

    right. Display the number of people graph in a good way Change the scale based on the maximum value 600 -> 200,400 600,800 Next, consider a more smaller value. What happen 150 people case?
  30. Discover the new rule Oh, yes. that's true. I see.

    Based on the examples, is the maximum value adjusted so that it is larger than the second from the top of the scale? Display the number of people graph in a good way
  31. Discover the new rule Oh, yes. that's true. I see.

    Based on the examples, is the maximum value adjusted so that it is larger than the second from the top of the scale? Display the number of people graph in a good way Change the scale based on the maximum value 600 -> 200,400 600,800 150 -> 40,80 120,160
  32. 600 -> 200,400 600,800 Discover the new rule The largest

    data is plotted larger than the second from the top of the scale. Display the number of people graph in a good way 150 -> 40,80 120,160 I see. Based on the examples, is the maximum value adjusted so that it is larger than the second from the top of the scale? Oh, yes. that's true.
  33. Case of 2 people Next, consider a much more smaller

    value. What happen 2 people case? Display the number of people graph in a good way
  34. Add example The largest data is plotted larger than the

    second from the top of the scale. 2 Next, consider a much more smaller value. What happen 2 people case? Display the number of people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160
  35. Add example I think about 4 divisions, it's 0.5, 1,

    1.5, 2. 2 -> 0.5,1 1.5,2 Next, consider a much more smaller value. What happen 2 people case? Display the number of people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 The largest data is plotted larger than the second from the top of the scale.
  36. Add question Oh, it might need to discuss. Even though

    we are dealing with the number of people, it feels strange to have a scale with decimal places. 2 -> 0.5,1 1.5,2 Display the number of people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 The largest data is plotted larger than the second from the top of the scale.
  37. Add question Do scale with decimal points appear? Display the

    number of people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 2 -> 0.5,1 1.5,2 The largest data is plotted larger than the second from the top of the scale. Even though we are dealing with the number of people, it feels strange to have a scale with decimal places. Oh, it might need to discuss.
  38. Resolve question We don't lose value by not reducing the

    number of scales, so we fix the number of scales at 4 this time. Changing the number of scales depending on the situation takes man-hours, so this time I want to leave it as it is. Display the number of people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 2 -> 0.5,1 1.5,2 The largest data is plotted larger than the second from the top of the scale. Do scale with decimal points appear? Dev
  39. Resolve question Display the number of people graph in a

    good way 600 -> 200,400 600,800 150 -> 40,80 120,160 2 -> 0.5,1 1.5,2 The largest data is plotted larger than the second from the top of the scale. Do scale with decimal points appear? -> Yes Changing the number of scales depending on the situation takes man-hours, so this time I want to leave it as it is. We don't lose value by not reducing the number of scales, so we fix the number of scales at 4 this time. Dev
  40. Case of 0 people Exactly. I'm not really sure what

    to do. Also, what happens if there are 0 people? I can't imagine how the scale is adjusted. Display the number of people graph in a good way
  41. Add question The largest data is plotted larger than the

    second from the top of the scale. What happens to the scale when the maximum value is 0? Display the number of people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 2 -> 0.5,1 1.5,2 Do scale with decimal points appear? -> Yes Also, what happens if there are 0 people? I can't imagine how the scale is adjusted. Exactly. I'm not really sure what to do.
  42. Summary of this example mapping Display the number of people

    graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 The largest data is plotted larger than the second from the top of the scale. 2 -> 0.5,1 1.5,2 Do scale with decimal points appear? -> Yes What happens to the scale when the maximum value is 0? There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 data does not go out of graph area 1500 -> 400,800 1200,1600 1050 -> 250,500 750,1000
  43. example mapping artifacts in this case Display the number of

    people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 The largest data is plotted larger than the second from the top of the scale. 2 -> 0.5,1 1.5,2 Do scale with decimal points appear? -> Yes What happens to the scale when the maximum value is 0? There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 data does not go out of graph area 1500 -> 400,800 1200,1600 1050 -> 250,500 750,1000
  44. example mapping artifacts in this case Display the number of

    people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 The largest data is plotted larger than the second from the top of the scale. 2 -> 0.5,1 1.5,2 Do scale with decimal points appear? -> Yes What happens to the scale when the maximum value is 0? There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 data does not go out of graph area 1500 -> 400,800 1200,1600 1050 -> 250,500 750,1000 This could be a Spike Task. We should not start development unless we investigate and decide.
  45. example mapping artifacts in this case Display the number of

    people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 The largest data is plotted larger than the second from the top of the scale. 2 -> 0.5,1 1.5,2 Do scale with decimal points appear? -> Yes What happens to the scale when the maximum value is 0? There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 data does not go out of graph area 1500 -> 400,800 1200,1600 1050 -> 250,500 750,1000 These can be used for acceptance criteria. After confirming that these have been achieved, this story is changed to "Completed."
  46. example mapping artifacts in this case Display the number of

    people graph in a good way 600 -> 200,400 600,800 150 -> 40,80 120,160 The largest data is plotted larger than the second from the top of the scale. 2 -> 0.5,1 1.5,2 Do scale with decimal points appear? -> Yes What happens to the scale when the maximum value is 0? There are 4 scales 1000 -> 250,500 750,1000 800 -> 250,500 750,1000 data does not go out of graph area 1500 -> 400,800 1200,1600 1050 -> 250,500 750,1000 These can be used as test case examples. Note: Not all of them are used as they are.
  47. What I understand as seen There are few green sticky

    notes -> There may not be enough discussion or Implementation content may be self-explanatory
  48. What I understand as seen There are many green sticky

    notes for one blue sticky notes. -> Since the rules are complicated, it may be better to divide them into multiple simple rules.
  49. What I understand as seen There are many blue sticky

    notes →Since the story is complicated, it may be better to divide it into smaller stories.
  50. What I understand as seen There are many red sticky

    notes -> We may not be ready to start developing.
  51. Skills required for example mapping • Can consider in a

    concrete example • Can go back and forth between abstraction and materialization ◦ It is necessary when deriving a rule from a concrete example. ◦ We can also use testing skills. ▪ Equivalence partitioning ▪ High-level test case and Low-level test case
  52. Three Amigos specialties Three Amigos has different points of focus

    to be good at • PO…Good at focusing on what I want to achieve with this Feature. • Dev…Good at focusing on how this Feature can be realized. • QA…Good at focusing on what I need to confirm to judge that this Feature is "completed" Note: These are just each strong point, not a divided responsibility.
  53. Between abstraction and materialization materialization 1500 -> 400,800 1200,1600 Display

    the number of people graph in a good way Then, what happen 1050 people case?
  54. Between abstraction and materialization If the max scale is 1000,

    the data will go through on grath. So, the scale will be adjusted to 400,800,1200,1600. Then, what happen 1050 people case? 1500 -> 400,800 1200,1600 Display the number of people graph in a good way
  55. Between abstraction and materialization Do not exceed the top mark

    abstraction Display the number of people graph in a good way 1500 -> 400,800 1200,1600 Then, what happen 1050 people case? If the max scale is 1000, the data will go through on grath. So, the scale will be adjusted to 400,800,1200,1600.
  56. Flow to automation in BDD e.g.Example mapping e.g.Writing automated test

    code e.g.Scenario arrangement by BRIEF principle reference:Keep your scenarios BRIEF reference:『The BDD Books - Discovery』
  57. Don't think of automation tools first • You will achieve

    significant improvements in your software development activities just by practicing discovery on its own. • Using a BDD tool, or automating tests using Given/When/Then doesn't make your development approach BDD in the slightest. • Don't focus on the automation tools until you’ve got good at collaborating across the team. 参考:『The BDD Books - Discovery』
  58. Example mapping summary • Able to distinguish between rules, specific

    examples, and questions in a story. • It is important to think in terms of concrete examples and to go back and forth between abstraction and concreteness. • Developers, POs, and QAs should work together to think about testing before implementing development, and recognize the product the team is aiming for. • Discovery practices such as example mapping are important to consider before doing automated testing. ◦ Instance mapping is not required. Other methods may be used as long as Discovery activities are possible.
  59. Real practices (These resources are Japanese text) • QAエンジニアが実例マッピングを2ヶ月運用した話 •

    miroを使って実例マッピングの一歩目を踏み出すの(仮) • 新機能の開発前に行っている3つのプラクティスを紹介します • 異世界に転生したら激レア職業のスクラム Developerだったので 手始めに Scrum Fest Osaka 2020 でラーニングしたスキルで リファインメント無双してみた There are other cases that have not been presentation but have been contacted individually.