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

事例から学ぶ実例マッピングのやり方 / Example Mapping

nihonbuson
November 17, 2020

事例から学ぶ実例マッピングのやり方 / Example Mapping

nihonbuson

November 17, 2020
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. 実例マッピング ルールの理解を明確にする手法 • 赤い付箋(疑問点)だらけ ◦ 学ぶ内容がまだ沢山ある • 青い付箋(ルール)だらけ ◦ ストーリーが大きく複雑

    ◦ ストーリーを分割すべき • 1つのルールに多くの緑の付箋 ◦ ルールが複雑すぎる ◦ 複数の青い付箋(ルール)に分割すべき 日本語版: https://nihonbuson.hatenadiary.jp/entry/ExampleMapping https://cucumber.io/blog/bdd/example-mapping-introduction/
  2. 具体例の追加 人数のグラフを 良い感じに表示する 目盛りが 4本出る 1000人 250,500 750,1000 800人 250,500

    750,1000 最大値を 基準に スケール 変更 じゃあ800人だったら? その場合も目盛りは 1000人の場合と 同じです
  3. 具体例の追加 人数のグラフを 良い感じに表示する その場合は 400,800,1200,1600 に調整されますね じゃあ1500人でも 同じ? 1500人 400,800

    1200,1600 最大値を 基準に スケール 変更 目盛りが 4本出る 1000人 250,500 750,1000 800人 250,500 750,1000
  4. 目盛りを超えないルールの追加 人数のグラフを 良い感じに表示する 上の目盛りが 1000だと グラフが突き抜けて しまうので… 1500人の場合はなぜ 変わるんですかね? 一番上の

    目盛りを 超えない 1500人 400,800 1200,1600 最大値を 基準に スケール 変更 目盛りが 4本出る 1000人 250,500 750,1000 800人 250,500 750,1000
  5. 具体例の追加 人数のグラフを 良い感じに表示する 1500人 400,800 1200,1600 最大値を 基準に スケール 変更

    目盛りが 4本出る 1000人 250,500 750,1000 800人 250,500 750,1000 そしたら1050人は? 1000人超えだけど… 一番上の 目盛りを 超えない 1050人
  6. 具体例の追加 人数のグラフを 良い感じに表示する その場合はグラフが 外にはみ出ないので 目盛りは1000のまま ですね。 1500人 400,800 1200,1600

    最大値を 基準に スケール 変更 目盛りが 4本出る 1000人 250,500 750,1000 800人 250,500 750,1000 そしたら1050人は? 1000人超えだけど… 1050人 250,500 750,1000 一番上の 目盛りを 超えない
  7. ルールの変更 人数のグラフを 良い感じに表示する その場合はグラフが 外にはみ出ないので 目盛りは1000のまま ですね。 一番上の 目盛りを 超えない

    1500人 400,800 1200,1600 最大値を 基準に スケール 変更 目盛りが 4本出る 1000人 250,500 750,1000 800人 250,500 750,1000 そしたら1050人は? 1000人超えだけど… グラフがエリア外に 出ないことが 重要なんですね。 1050人 250,500 750,1000
  8. ルールの変更 人数のグラフを 良い感じに表示する その場合はグラフが 外にはみ出ないので 目盛りは1000のまま ですね。 データが エリア外 に出ない

    1500人 400,800 1200,1600 最大値を 基準に スケール 変更 目盛りが 4本出る 1000人 250,500 750,1000 800人 250,500 750,1000 そしたら1050人は? 1000人超えだけど… グラフがエリア外に 出ないことが 重要なんですね。 1050人 250,500 750,1000
  9. 具体例の追加 人数のグラフを 良い感じに表示する 最大値を基準に スケール変更 600人 200,400 600,800 250,500,750,1000だと グラフが小さく表示さ

    れるので、200,400, 600,800ですかね。 今度は小さい値を 考えてみます。 600人はどうですか?
  10. 具体例の追加 人数のグラフを 良い感じに表示する 最大値を基準に スケール変更 600人 200,400 600,800 150人 40,80

    120,160 そしたら40,80,120, 160ですかね。 ちょうど良いのは。 もっと小さい値 で150人だったら?
  11. ルールの発見 人数のグラフを 良い感じに表示する 最大値を基準に スケール変更 600人 200,400 600,800 150人 40,80

    120,160 あー、 確かにそうですね なるほどー。 ここまでの話から 最大値は目盛りの 上から2番目よりは 大きいように調整 するんですかね?
  12. ルールの発見 人数のグラフを 良い感じに表示する 最大値が目盛りの 上から2番目よりは 大きくなる 600人 200,400 600,800 150人

    40,80 120,160 あー、 確かにそうですね なるほどー。 ここまでの話から 最大値は目盛りの 上から2番目よりは 大きいように調整 するんですかね?
  13. 具体例の追加 人数のグラフを 良い感じに表示する 最大値が目盛りの 上から2番目よりは 大きくなる 600人 200,400 600,800 150人

    40,80 120,160 4分割で考えると0.5, 1, 1.5, 2ですかね。 2人 0.5,1 1.5,2 さらに小さい値を 考えてみます。 2人だと どうなります?
  14. 疑問点の追加 人数のグラフを 良い感じに表示する 最大値が目盛りの 上から2番目よりは 大きくなる 600人 200,400 600,800 150人

    40,80 120,160 あー、それは調整する 必要があるかも。 人数なのに 小数点以下の 目盛りがあるのは 違和感がありますね 2人 0.5,1 1.5,2
  15. 疑問点の追加 人数のグラフを 良い感じに表示する 最大値が目盛りの 上から2番目よりは 大きくなる 600人 200,400 600,800 150人

    40,80 120,160 あー、それは調整する 必要があるかも。 人数なのに 小数点以下の 目盛りがあるのは 違和感がありますね 2人 0.5,1 1.5,2 小数点の 目盛りは 表示される?
  16. 疑問点の追加 人数のグラフを 良い感じに表示する 最大値が目盛りの 上から2番目よりは 大きくなる 600人 200,400 600,800 150人

    40,80 120,160 価値が無くなる訳では ないので、今回は一旦 そのままにしましょう! 目盛りの数を状況に よって変えるのは 工数がかかるから 今回はそのままに したい… 2人 0.5,1 1.5,2 小数点の 目盛りは 表示される?
  17. 疑問点の追加 人数のグラフを 良い感じに表示する 最大値が目盛りの 上から2番目よりは 大きくなる 600人 200,400 600,800 150人

    40,80 120,160 価値が無くなる訳では ないので、今回は一旦 そのままにしましょう! 目盛りの数を状況に よって変えるのは 工数がかかるから 今回はそのままに したい… 2人 0.5,1 1.5,2 小数点の目盛り は表示される? →表示する
  18. 疑問点の追加 人数のグラフを 良い感じに表示する 最大値が目盛りの 上から2番目よりは 大きくなる 600人 200,400 600,800 150人

    40,80 120,160 それは自分も どうするか明確に してないですね… あとは、0人だったら どうなります? 目盛りがどのように 調節されるのか 分からない… 2人 0.5,1 1.5,2 小数点の目盛り は表示される? →表示する 最大値が0人 の時に目盛り はどうする?
  19. 今回の実例マッピングのまとめ 人数のグラフを 良い感じに表示する 600人なら 200,400 600,800 150人なら 40,80 120,160 最大値が目盛りの

    上から2番目よりは 大きくなるように調整 2人なら 0.5, 1 1.5, 2 小数点の目盛り は表示される? →表示する 最大値が0人 の時に目盛り はどうする? 目盛りが 4本出る 1000人なら 250,500 750,1000 800人なら 250,500 750,1000 データが エリア外 に出ない 1500人なら 400,800 1200,1600 1050人なら 250,500 750,1000
  20. 今回の実例マッピングの成果物 人数のグラフを 良い感じに表示する 600人なら 200,400 600,800 150人なら 40,80 120,160 最大値が目盛りの

    上から2番目よりは 大きくなるように調整 2人なら 0.5, 1 1.5, 2 小数点の目盛り は表示される? →表示する 最大値が0人 の時に目盛り はどうする? 目盛りが 4本出る 1000人なら 250,500 750,1000 800人なら 250,500 750,1000 データが エリア外 に出ない 1500人なら 400,800 1200,1600 1050人なら 250,500 750,1000
  21. 実例マッピングの成果物から分かること 人数のグラフを 良い感じに表示する 600人なら 200,400 600,800 150人なら 40,80 120,160 最大値が目盛りの

    上から2番目よりは 大きくなるように調整 2人なら 0.5, 1 1.5, 2 小数点の目盛り は表示される? →表示する 最大値が0人 の時に目盛り はどうする? 目盛りが 4本出る 1000人なら 250,500 750,1000 800人なら 250,500 750,1000 データが エリア外 に出ない 1500人なら 400,800 1200,1600 1050人なら 250,500 750,1000 ここがSpike Taskになる場合も… (調査・決定しない限り、 開発に着手すべきでない)
  22. 実例マッピングの成果物から分かること 人数のグラフを 良い感じに表示する 600人なら 200,400 600,800 150人なら 40,80 120,160 最大値が目盛りの

    上から2番目よりは 大きくなるように調整 2人なら 0.5, 1 1.5, 2 小数点の目盛り は表示される? →表示する 最大値が0人 の時に目盛り はどうする? 目盛りが 4本出る 1000人なら 250,500 750,1000 800人なら 250,500 750,1000 データが エリア外 に出ない 1500人なら 400,800 1200,1600 1050人なら 250,500 750,1000 受け入れ条件に使える (これらを実現したことを確認して 案件を「完了」に変える)
  23. 実例マッピングの成果物から分かること 人数のグラフを 良い感じに表示する 600人なら 200,400 600,800 150人なら 40,80 120,160 最大値が目盛りの

    上から2番目よりは 大きくなるように調整 2人なら 0.5, 1 1.5, 2 小数点の目盛り は表示される? →表示する 最大値が0人 の時に目盛り はどうする? 目盛りが 4本出る 1000人なら 250,500 750,1000 800人なら 250,500 750,1000 データが エリア外 に出ない 1500人なら 400,800 1200,1600 1050人なら 250,500 750,1000 テストケース例に使える ※これが全てではないので注意!
  24. Three Amigosの得意分野 Three Amigosは得意分野となる注目点が異なる • PO…今回のFeatureで実現したいことに注目 • 開発者…今回のFeatureはどのようにすれば     実現できるかに注目 •

    QA…今回のFeatureが「完成した」と   判断するためには   何を確認すれば良いのかに注目 ※あくまでも得意分野であり、  責任分担している訳ではない
  25. BDDにおける自動化への流れ 参考:『The BDD Books - Discovery』第1章より 例)実例   マッピング 例)自動テスト   コード作成

    例)BRIEFによる   シナリオ整理 参考:【翻訳記事】テスト自動化の対象となる    テストシナリオの整理に役立つBRIEFの原則
  26. 自動化ツールを最初に考えない • 実例マッピングのような発見のプラクティス を単独で実施するだけで、 ソフトウェア開発活動を大幅に改善できる • BDDツールを利用したり、Given/When/Thenを 使用してテストを自動化しても、 開発アプローチは少しもBDDにはなりません •

    チームをまたいだ協調作業が 得意になるまでは、 自動化ツールに焦点を合わせない方が良い 参考:『The BDD Books - Discovery』 この書籍の著者は、BDDツール 「SpecFlow(Cucumber for .NET)」の作者
  27. 実例マッピングのまとめ • ストーリーに対し、ルール・具体例・疑問点を 区別して表現することができる • 具体例で考え、 抽象化と具体化の行き来をする思考が大切 • 開発者・PO・QAが協力し、 開発の実装前からテストを考え、

    チームが目指す製品について認識をしよう • 実例マッピングなどの発見のプラクティスは 自動テストを行う前に考えるのが大切 ◦ 実例マッピングを必ず使う必要はない
  28. 実践事例 • QAエンジニアが実例マッピングを2ヶ月運用した話 • miroを使って実例マッピングの一歩目を踏み出すの (仮) • 異世界に転生したら激レア職業のスクラム Developer だったので手始めに

    Scrum Fest Osaka 2020 で ラーニングしたスキルでリファインメント無双 してみた その他、社外発表はしていませんが、 個別に連絡をいただいた事例あり