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

AIを活用した化学反応的なスピード開発 TDD × ペアプロ × AI / Chemicall...

AIを活用した化学反応的なスピード開発 TDD × ペアプロ × AI / Chemically Reactive Speed Development with AI. TDD-Pair Pro-AI

シリーズ:業界をリードする2社が語るアドテクノロジーの新潮流
Vol.1 アドテク×AI AIコーディング使えてる? アドテク業界での開発生産性向上のリアル
https://geniee.connpass.com/event/347436/

Tomohisa Omagari

April 08, 2025
Tweet

More Decks by Tomohisa Omagari

Other Decks in Technology

Transcript

  1. ©ADWAYS DEEE Inc. 1 AIを活用した化学反応的なスピード開発 TDD x ペアプロ x AI

    2025.4.8 Omagari Tomohisa シリーズ:業界をリードする2社が語るアドテクノロジーの新潮流 Vol.1 アドテク×AI AIコーディング使えてる? アドテク業界での開発生産性向上のリアル
  2. ©ADWAYS DEEE Inc. 2 自己紹介 大曲 智久(オオマガリ トモヒサ) - ADWAYS

    DEEE 取締役CTO - テクノロジー、プロダクト 2 エンジニア採用ページ https://adways-deee.net/recruitment-engineers セミナー発表 https://speakerdeck.com/oomatomo ・【日経×ケップル×アドウェイズ】未来の事業戦略を見据えたシステム改善の最適解を探る ・D-plus | プロダクト開発の貢献をアピールするための目標設計や認知活動 ・2024XP祭り|多様性のあるプロダクトチームを目指した共創の3年間の変化 ・UXへの投資と組織変革 ─ ビジネスに貢献するUXチームの飛躍 ─ エンジニアブログで書いた記事 https://blog.engineer.adways.net/ ・20周年を迎えたサービスでビジネスドメインと向き合いモダナイゼーションを推進 ・エンジニアの事業貢献のために、開発生産性っぽいものを定量化した話 ・新たな組織改善にチームトポロジーを活用したいと思っているところ
  3. Delight Mission 喜び つくろう。 「よかった」が めぐる世界を。 Value Exciting わくわく こなすより、

    夢中になろう。 Value Eager 熱心 傍観者より、 冒険者になろう。 Value Exceed 超える 前例にならうより、 前例になろう。 Mission & Value めぐる世界を。 小さな変化の積み重ねが革新に繋がる ADWAYS DEEEが世界を変える つくろう。 「よかった」が
  4. ©ADWAYS DEEE Inc. 6 伝えたいこと - TDD x ペアプロ x

    AIの部分での変化 - 我々のメインの開発スタイルがペアプロメイン(1日 5~6時間) - ツール補完→Github Copilot → Cursor AIエージェントの変化で 洗練されたペアプロ時間 - AIエージェントだけが凄いわけではない - 技術戦略におけるAIの影響と反省 - 自分が作った2022年から技術戦略アウトプットを見える変化 - 反省(ぶっちゃけ、まだAIエージェントでイケイケな状態ではない) - AIエージェントの概念やTipsは話さない 6 ちょっと煽ったタイトルにしてしまったことで余計伝わりづらいと反省してます!
  5. ©ADWAYS DEEE Inc. 7 伝えたいこと - TDD x ペアプロ x

    AIの部分での変化 - 我々のメインの開発スタイルがペアプロメイン(1日 5~6時間) - ツール補完→Github Copilot → Cursor AIエージェントの変化で 洗練されたペアプロ時間 - AIエージェントだけが凄いわけではない - 技術戦略におけるAIの影響と反省 - 自分が作った2022年から技術戦略アウトプットを見える変化 - 反省(ぶっちゃけ、まだAIエージェントでイケイケな状態ではない) - AIエージェントの概念やTipsは話さない 7 ちょっと煽ったタイトルにしてしまったことで余計伝わりづらいと反省してます! 時間不足!!!
  6. ©ADWAYS DEEE Inc. 13 13 ユーザーストーリーを通した開発プロセス デリバリーフェーズで行っている内容は ※ Tanzu Labs(旧 Pivotal

    Labs)のリーンXPを元に構築されています。    https://medium.com/product-run/791ed131b10f プロダクトチームでの開発スタイル
  7. ©ADWAYS DEEE Inc. 14 14 ストーリーの粒度は、2~3日で実装できる規模が多い - 「XX バリデーション処理を実行する」「XX Cookieに保存する」..etc

    - エンジニアと議論して、テストしやすい受け入れ基準の決めたりする(受け入れテストをPdMが行う) - エラーケースや非機能要件はエンジニアがリードしてPdMに提案する(=全ての要件をPdMが決めない) ストーリーの優先度もPdMがベースを考える - フロー図などを用いて何から着手するかを決める ストーリーのフロー図 WHY As ペルソナは I want 〜したい So that そうすることで、〜からだ Acceptance Criteria Given 〜の場合 When 〜の時 Then 〜なる ストーリーの形式 ※ https://blog.engineer.adways.net/entry/2024/06/21/120000 プロダクトチームでの開発スタイル
  8. ©ADWAYS DEEE Inc. 16 16 テスト駆動開発: テストリストを作成し、 それを満たす最小のコードを書く ※ https://substack.com/@vicwu/note/c-45235322   https://t-wada.hatenablog.jp/entry/canon-tdd-by-kent-beck

    ペアプロをする中で リストがあるため、それのみの実装に集中できる ユーザーストーリーのWHYを満たす実装になって いるか議論する プロダクトチームでの開発スタイル
  9. ©ADWAYS DEEE Inc. 17 17 なぜ、メインのペアプロ(5~6時間)でやっているかは、話すと長いので割愛 言えるのは「ユーザーストーリー x TDD x

    ペアプロ x 心理的安全性 x ゆとり」 によって開発生産性が高くなるもので、ペアプロ単体で開発生産性が高いわけではない うまく使い分けが必要 - 各チームは、最低2トラック(2人 x 2ペア)できるようにする - 理想はエンジニア5名 - 1日の長い時間(5〜6時間)でペアプロをやる - 45分~1時間作業したら10~15分休憩 - Discord + Tuple - トラックごとのボイスチャンネルとTupleでお互いの画面操作可能 - 常時コミュニケーションを意識する - 今何をしているのか、何をしようとしているのか、口に出しながら進める プロダクトチームでの開発スタイル
  10. ©ADWAYS DEEE Inc. 20 20 TDD x ペアプロにおけるAIツール支援の変化は3つのフェーズ AI支援ツールの変化 フェーズ

    内容 学び・気づき IDE補完 ・テンプレートファイルからクラスの自動作成  ショートカット活用 ・テストケース作成はコピペ ・文法ミスやちょっとしたつまずきで、  ペアプロの集中時間が止まることが勿体無い
  11. ©ADWAYS DEEE Inc. 21 21 TDD x ペアプロにおけるAIツール支援の変化は3つのフェーズ フェーズ 内容

    学び・気づき IDE補完 ・テンプレートファイルからクラスの自動作成  ショートカット活用 ・テストケース作成はコピペ ・文法ミスやちょっとしたつまずきで、  ペアプロの集中時間が止まることが勿体無い 生成AI コードアシスト ・テストシナリオのリストから  正常・異常を理解した上で支援  テストコードのお作法やmockすべき部分と  内容までシナリオから理解 ・テストシナリオのリストの後半になると  テストコードもプロダクトコードも全部自動  (リストの⅓ はエンターを押すだけ) ・シナリオ設計やコード設計に集中できるため  思考の時間が増える AI支援ツールの変化
  12. ©ADWAYS DEEE Inc. 22 22 TDD x ペアプロにおけるAIツール支援の変化は3つのフェーズ フェーズ 内容

    学び・気づき IDE補完 ・テンプレートファイルからクラスの自動作成  ショートカット活用 ・テストケース作成はコピペ ・文法ミスやちょっとしたつまずきで、  ペアプロの集中時間が止まることが勿体無い 生成AI コードアシスト ・テストシナリオのリストから  正常・異常を理解した上で支援  テストコードのお作法やmockすべき部分と  内容までシナリオから理解 ・テストシナリオのリストの後半になると  テストコードもプロダクトコードも全部自動  (リストの⅓ はエンターを押すだけ) ・シナリオ設計やコード設計に集中できるため  思考の時間が増える AIエージェント ・テストシナリオを提案される  複数行同時変更される ・既存コードの仕様調査を  AIエージェントがリードしてくれる ・シナリオの観点漏れや  コードの網羅性と統一性が向上  (リストの⅔ は自動化されている) ・判断をする時間が圧倒的に増加  ルールや設計思想をドキュメント化しないと  人が苦労する状態 AI支援ツールの変化
  13. ©ADWAYS DEEE Inc. 28 28 https://www.thoughtworks.com/radar/techniques/summary/replacing-pair-programming-with-ai ToughtWorks 社による技術評価 「ペアプログラミングをAIに置き換える」はまだ Hold(採用する場合は慎重に進める必要がある)

    ただ、内容がAIエージェントに言及していない コーディング アシスタントをペア プログラマーとして捉えると、ペ ア プログラミングの主な利点の 1 つである、個々の貢献者だけ でなくチーム全体をより良くするという点が無視されます。コー ディング アシスタントは、行き詰まりを解消したり、新しいテクノロ ジについて学んだり、オンボーディングを行ったり、戦術的な作業 を高速化して戦略的な設計に集中できるようにしたりといった利 点を提供できます。しかし、進行中の作業を最小限に抑えたり、 引き継ぎや再学習を減らしたり、継続的な統合を可能にしたり、 共同のコード所有権を改善したりするなど、チーム コラボレーショ ンの利点にはまったく役立ちません。 AIの今後の考察
  14. ©ADWAYS DEEE Inc. 36 36 現在のユーザーストーリーは 粒度に正解は無く、チームで価値に対して合意をするためのツール 結果として 価値をアップデートしていくもので価値を意識した上でTDDでリストを作っていく中で、 ユーザーストーリーのアップデートをしたりする

    (ペアプロと一緒でコラボレーションのためのものである) →細かい仕様書では無いためAIに直接指示を出すためのものではない 開発をする中でストーリーを変更することもある AIの今後の考察
  15. ©ADWAYS DEEE Inc. 37 37 AIの今後の考察 AIエージェント向けプロンプト (Devin..etc) 目的 XXXを作成したい

    制約 XXの形式はXXXである XXXのみ有効にするため、 専用のリポジトリを作成して欲しい 完了の条件 XXで使える関数を実装する XXのテストコードも実装してください 補足 XXは自由に使えるよう変数を渡せるようにして 今までのTDDの粒度と異なる部分はあるかもしれな いが、TDDのスタンス(インクリメントな設計を行う) は変えない方が良い ・正常系の1シナリオを作成  コントローラー、ユースケース..etc ・各層のテストシナリオを作成  異常系も含め実装 ユーザーストーリーとは 別でAIエージェント向け指示を作る必要あり (コードの意図など) そのままリリースできそうな 成果物が一気にできる可能性も高い
  16. ©ADWAYS DEEE Inc. 38 38 AIエージェントはペアプロに置き換えられることは可能か? → まだ無くならない(個人の意見) - ペアプロはチーム全体の改善のプラクティス -

    AIエージェントの効果を最大限に発揮するためにも ペアプロの重要性は増すのではないか! - ユーザーストーリーはWHYに対するソリューションを決める不確実性の高いもの AIエージェント向けの指示としてはTDDのあり方も含め別切り口で考えられる AIの今後の考察
  17. ©ADWAYS DEEE Inc. 40 まとめ 40 - TDD x ペアプロ

    x AIの部分での変化 - AI支援の効果でペアプロの質が高い時間が増えている - AIとのペアプロではなく、AIとペアプロを組み合わせることで ペアプロの「1+1>2」から「1+1+1>3」実現に挑戦 - AIに置き換える部分は絶対に増えるが、 チームのためのプラクティスの意味を持つ部分との棲み分けを考えること で有意義なAI時間を使えそう