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

20250913_JBUG広島

Avatar for にしはま にしはま
September 14, 2025
8

 20250913_JBUG広島

Avatar for にしはま

にしはま

September 14, 2025
Tweet

Transcript

  1. 2 KDDI Agile Development Center Corporation 自己紹介 
 KAG公式キャラクター カグカグ

    広島ver KDDIアジャイル開発センター株式会社
 ソフトウェアエンジニア & 広島オフィス長
 西浜 正人
 Nishihama Naoto 
 スクラム祭り 広島トラック
 JAWS-UG 広島支部
 コミュニティ運営
 好きな技
 須佐能乎(スサノオ)
 AWS、Go、Terraform、Python
 よく使う

  2. 4 KDDI Agile Development Center Corporation スクラムとは 
 アジャイル開発におけるフレームワークの一種
 アジャイルは考え方・概念、スクラムは具体的な方法論


    
 「スプリント」と呼ばれる短期間の開発サイクルを繰り返す
 3つの役割を持ったメンバー(PO、SM、開発)
 スプリントを構成する4つのイベントを実施
 3つの作成物を活用し、スプリントを繰り返す

  3. 6 KDDI Agile Development Center Corporation 開発者のつらみ 
 スプリントプランニング 見積もりがブレる

    設計・実装 技術調査に時間を 取られる テストコード後回し コードレビュー レビュー負荷 レトロスペクティブ 改善案が思いつかない 実装に時間がかかる いつリファクタリングするのか
  4. 7 KDDI Agile Development Center Corporation いつリファクタリングをするのか 
 Refactoring -

    Not on the backlog! [2]
 リファクタリングはバックログに載せるな(2014)
 大規模なリファクタリングは非効率で成功しにくい
 → POへの要求が難しい、かつ限られた時間で完全に解決できない
 
 Simples!というやり方の提案
 → 新機能に取り組む時、関連コードも改善していく

  5. 8 KDDI Agile Development Center Corporation AI(コーディングエージェント)が開発者にもたらす具体的なメリット 
 
 


    設計・実装 
 テストコードを後回し・実装やリファクタリングに時間がかかる
 → プロダクション・テストコードの自動生成
 → リファクタリングの支援
 コードレビュー 
 レビュー負荷
 → コードレビューの高速化

  6. 10 KDDI Agile Development Center Corporation エンジニアは必要ないのか? 
 • エンジニアの大規模人員削減


    ◦ 新規採用も削減
 • 次いでマネジメント系の職種も
 [3] AIでソフト開発者に解雇の波、マイクロソフトの米大規模人員削減
  7. 11 KDDI Agile Development Center Corporation エンジニアがプロダクト開発をする際にやっていること 
 Why LLMs

    Can’t Really Build Software [4] なぜLLMはソフトウェアをつくれないのか 1. 要件のメンタルモデルを構築する 2. そのメンタルモデルを満たすコードを書く 3. そのコードが実際に何をするかのメンタルモデルを構築する 4. 違いを特定し、コードを更新する 

  8. 12 KDDI Agile Development Center Corporation メンタルモデル 
 メンタルモデルとは、人が無意識に持っている、現実世界を認識・解釈するた めの「思い込み」や「価値観」、「仮説」のことです。


    過去の経験や育った環境・文化に影響を受け、個々人で異なるため、同じ状 況でも人によって思考や行動が変わる原因となります。
 このメンタルモデルを理解・活用することで、コミュニケーションの円滑化、ビジ ネスの意思決定、製品開発、自己成長などを促進することができます。by Gemini

  9. 14 KDDI Agile Development Center Corporation ヒトとAIの違い 
 LLMは明確なメンタルモデルを維持できない 


    うまくいかないとすべての作業を削除して最初からやり直すことも
 人間はあるタスクから一度離れても、元のタスクに戻れる

  10. 16 KDDI Agile Development Center Corporation def _diag_exception(e: Exception) ->

    Dict[str, Any]: info: Dict[str, Any] = { 'type': type(e).__name__, 'repr': repr(e), } if hasattr(e, 'errno'): try: info['errno'] = getattr(e, 'errno') info['errno_name'] = errno.errorcode.get(getattr(e, 'errno'), None) except Exception: pass 生成されたコード例 
 標準Loggerを使って欲しいのに自前で関数を作り始めた
  11. 17 KDDI Agile Development Center Corporation プロトタイピングとの比較 
 プロトタイピング
 •

    技術的に実現可能か
 • 初期開発コストの削減
 • UI/UXの検討
 etc…
 リリース後の開発
 • バグ修正
 • パフォーマンス改善
 • リファクタリング
 etc…

  12. 18 KDDI Agile Development Center Corporation Claude Code: Best practices

    for agentic coding [5]
 1. セットアップのカスタマイズ
 a. CLAUDE.mdを使う
 2. Claudeに多くのツールを与える、機能を拡張する
 a. bashツールやMCPの活用
 3. 一般的なワークフローを試す
 a. 「探索、計画、コード、コミット」
 b. テスト駆動開発
 4. 効率をあげる
 a. 複数のClaudeインスタンスに別々の処理をさせる

  13. 19 KDDI Agile Development Center Corporation コーディングエージェントの能力を最大化する 
 • 「探索、計画、コード、コミット」ワークフロー

    
 ◦ コードを「探索」してタスクを理解
 ◦ 変更を実行するための「計画」を立てる
 ◦ AIにコードを書かせる
 ◦ レビューし、コミットする
 • 「テスト駆動開発」アプローチ 
 ◦ 失敗するテストを書く、そのテストが通るようにAIに書かせる
 • コードベースの Q&A 
 ◦ リポジトリ内のコードについて質問する

  14. 20 KDDI Agile Development Center Corporation スクラムにおけるエンジニアの役割 
 要件のメンタルモデルを持ち
 実際のコードとすり合わせ


    継続的にプロダクトの品質を高め
 不確実性下で価値を最大化していく
 
 「検査、適応、価値提供」という精神をいかに維持し、 
 より効果的に適用していくかが重要 

  15. 21 KDDI Agile Development Center Corporation スクラムガイド拡張パック [6]
 急速な変化への対応 


    製品開発の世界が急速に変化し続けている現状に対応するため、拡張パックは、不確実性、加速、そして新しいテクノロジーによって形成される環 境において、チームがスクラムの精神を維持できるように支援します。スクラムをシンプルさを失わずに、動きの速い環境で適用する方法について ガイダンスを提供します。 
 AI統合への指針 
 「AIがチームの一部となる場合に、どのように機能するのか?」という問いに対応するために作成されました。AIのような新しいテクノロジーが導入さ れる環境においても、スクラムのコア原則を明確にし、その精神を維持する方法を示します。 
 スクラムの精神の明確化 
 この拡張パックは、より多くのルールを追加したり、スクラムを複雑にすることを目指しているわけではありません。むしろ、プロダクト思考、創発性 (emergence)、戦略的焦点といったスクラムの精神を明確にすることを目的としています。これにより、チームは、迅速に学習し、適応し、価値を届け るというスクラム本来の目的を、現代の課題の中でも見失わずに進めることができます。 
 真の成果への焦点 
 フィーチャーを出荷するだけでなく、「真の成果(real outcomes)」に焦点を当て続ける方法について、ガイダンスを提供します。 

  16. 22 KDDI Agile Development Center Corporation まとめ
 継続的に開発を進めるために必要なこと
 • 「検査、適応、価値提供」は人が責任を持つ

    
 • 「探索、計画、コード、コミット」ワークフロー 
 ◦ 探索して要件のメンタルモデルを構築、計画を立てる
 ◦ コードはAIに任せる
 ◦ AIの提案内容を精査する
 • AIに自己レビューさせて拾いきれないものもある
 • テスト駆動開発 
 ◦ UTがガードレール的な役割もしてくれる

  17. 24 KDDI Agile Development Center Corporation 参考
 [1] Scrum Inc.

    Japan . スクラム導入支援 . https://scruminc.jp/scrum-consulting-and-coaching/ , (参照 2025/09/10)
 [2] Refactoring - Not on the backlog! . https://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/ , (参照 2025/09/10)
 [3] Bloomberg . AIでソフト開発者に解雇の波、マイクロソフトの米大規模人員削減 . https://www.bloomberg.co.jp/news/articles/2025-05-14/SW9MHIT1UM0W00 , (参照 2025/09/10)
 [4] Why LLMs Can’t Really Build Software . https://zed.dev/blog/why-llms-cant-build-software , (参照 2025/09/10)
 [5] Claude Code: Best practices for agentic coding . https://www.anthropic.com/engineering/claude-code-best-practices , (参照 2025/09/11)
 [6] スクラムガイド拡張パック . https://github.com/ScrumGuides/ScrumGuide-ExpansionPack , (参照 2025/09/10)