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

Agile Studioウェビナー~モブプログラミング&テスト駆動開発はじめの一歩~

eiji.ienaga
January 12, 2023
220

Agile Studioウェビナー~モブプログラミング&テスト駆動開発はじめの一歩~

2022年4月のウェビナー資料。

eiji.ienaga

January 12, 2023
Tweet

More Decks by eiji.ienaga

Transcript

  1. © 2022 ESM, Inc. 2000年代にエクストリームプログラミングの一部のコミュニティで知られる 2014-15 辺り で Woody Zuillさんの講演での発表で再び脚光を浴びる

    日本でも2018年に Agile Japanで講演など認知され、採用が増えている https://agile-monster.com/blog/agilejapan2018-mobprogramming/ モブプロの歴史
  2. © 2022 ESM, Inc. Goodな選択肢を選びクオリティを上げるため 問題定義 x 解決手段の空間 一人の場合の探索 多様な専門家による

    集合知を使った探索 問題定義 x 解決手段の空間 一人の知性には限界があり 問題定義が間違っているかも? (必要とされる背景の誤解、テストパターンの抜 け漏れ etc..) 解決手段が間違っているかも? (影響範囲調査の見誤り、実現手段A,B,Cの選択 ミス、メンテナンス不能なコード記述 etc…)
  3. © 2022 ESM, Inc. 顧客やユーザに価値がありリリースできるもの リソース効率:一人一人の稼働率の高さを重視する作戦。 レビュー待ち、遅れて設計不備や抜け漏れによって リリースできるものが1つもないに注意 フロー効率を高めて、一個流しでリリース頻度を上げるため TODO

    DOING REVIEW DONE STORY TODO DONE STORY レビュー中に抜け漏れが発覚して追加タスク。 過去の作業の抜け漏れ、設計不備が発覚し追加タスク DOING& REVIEW フロー効率:「価値を届けるためのリードタイム」を重視 1つ1つ確実に終わらせる作戦
  4. © 2022 ESM, Inc. バス因子:「自分 のいるプロジェクトで、 明日姿を消したらプロジェクトやチームが 破綻してしまうと いう人はいるだろう か?」

    誰かが抜けてもリリースし続けられるようにするため 単一障害点 ボトルネック 成長の阻害要因 知識共有 スキル伝搬 認知的徒弟制
  5. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA 1.はじめの一歩のテストケ ースを選ぶ 2. テストコードを書く 2. テストをパスする必要最 低限のコードを書く 3. リファクタリングし コードを整える 4. (完成まで続ける) 10分以下のサイクル
  6. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA ソフトウェアを使うユーザ の置かれた状況や困りごと って? どの順番で作ると 完成できそう? 何ができたら完成と言 える?テストケースの 抜け漏れは? テストコードを読んで 仕様が理解できる記述に なっているだろうか? メンテナンス可能なテスト コードだろうか? テストしやすい設計を 導くテストコードだろう か? あれGreenにできない。 エラーの意味は。。。 順番入れ替えてテストケ ース2を先にやった方が 先に進めるかも 実現手段A ,B,Cのなかで シンプルなのは。。。 修正による影響範囲は Xxxなので。。。 メンテナンス可能な プロダクションコードだ ろうか?
  7. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA ソフトウェアを使うユーザ の置かれた状況や困りごと って?
  8. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA 何ができたら完成と言 える?テストケースの 抜け漏れは?
  9. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA ルートA,B,Cのどの順 番で作ると安全に素早 く完成できそう?
  10. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA ユニットレベルで 動作確認できるようにするには? (テストしやすい設計の判断)
  11. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA テストは仕様が理解できる記述 だろうか? (コードはドキュメント)
  12. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA エラーレポートは 理解できる記述だろうか?
  13. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA 修正による影響範囲は ….
  14. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA 実現手段A,B,Cの中で良 さそうなのは。。。
  15. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA あれGreenにできない。 エラーの意味は。。。
  16. © 2022 ESM, Inc. RED Green Refactor テストケース1 テストケース2 テストケース3

    あとで発見した テストケースD StoryA メンテナンス可能な プロダクションコードだろうか? (コードはドキュメント)
  17. © 2022 ESM, Inc. 実装中に新たなテストケースを発見 したら追加 RED Green Refactor テストケース1

    テストケース2 テストケース3 あとで発見した テストケースD StoryA
  18. © 2022 ESM, Inc. ルートA,B,Cの段取りが ダメとわかれば、 ルートZと立て直し RED Green Refactor

    テストケース1 テストケース2 テストケース3 あとで発見した テストケースD StoryA
  19. © 2022 ESM, Inc. 実現不可能とわかれば、ユーザの困り ごとや達成したいことに立ち返って、 作戦の立て直し RED Green Refactor

    テストケース1 テストケース2 テストケース3 あとで発見した テストケースD StoryA