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

SDD (仕様書駆動開発)を やってみて

SDD (仕様書駆動開発)を やってみて

AIを使った「行き当たりばったり」開発の落とし穴——仕様の見落としや1500行超の「魔物」コードを経験した上で辿り着いた、SDD(仕様書駆動開発)の実践レポートです。
実装前にAIと共に仕様書を定義し、要件定義・設計・タスク分割・レビューまでをカスタムコマンドで型化するフローを業務・個人開発の両方で試した結果、「思考の整理」「タスク分割の自動化」「考慮漏れの防止」という恩恵がある一方で、確認コストの増大や柔軟性とのジレンマにも正直に向き合っています。
結論は「厳格にやりすぎず、仕様書を手段として割り切る」こと。AI開発の理想と現実を等身大でまとめたLTです。

More Decks by 株式会社イノベーション(エンジニア)

Other Decks in Technology

Transcript

  1. 自己紹介 Photo / Icon 坂本 知聡(Sakamoto Chisato) メディアディベロップメント A1チーム所属 現在の主業務:

    ITトレンドのリプレイス開発 経歴: 小学校教員→インフラ→フルスタック 趣味: ゲーム🎮、ダンス🕺、TRPG、マーダーミステリー 今年の目標: 小説を読んで語彙力を手に入れること
  2. cc-sddの実践 1:導入とプロジェクト定義 1. インストールと初期化 $ npx cc-sdd@latest --codex --lang ja

    プロジェクトへ cc-sddを導入。実行後、プロジェクトの「脳」となる .kiro ディレ クトリが作成されます。 2. プロジェクトの基本方針策定 /prompts:kiro-steering プロダクトの目的、主要機能、技術スタック、設計方針、命名規則などを定 義。AIが開発の「羅針盤」を持つ工程です。
  3. cc-sddの実践 3:設計とタスク分割の自動化 5. 設計書の作成 /prompts:kiro-spec-design {id} -y 要件を承認し、具体的な設計書の作成に取り掛かります。プロジェクト構成 や命名規則に基づいた詳細な設計が生成されます。 6.

    タスク分割の実行 /prompts:kiro-spec-tasks {id} -y 設計を承認し、実装可能な最小単位のタスクへ分割。 AIが「一度に確実に 実装できるサイズ」にタスクを切り出します。
  4. cc-sddの実践 4:実装の実行とレビューフロー 7. タスクごとの実装実行 /prompts:kiro-spec-impl {id} {task_no} -y 分割されたタスクを一つずつ実行。 AIが仕様と設計に基づき、実際のコード

    を生成・配置します。 8. バリデーションとレビュー /prompts:kiro-validate:* 実装されたコードが仕様を満たしているか、設計方針に沿っているかを AI がセルフレビュー。品質の最終確認を行います。
  5. 結論:目的を明確にした「ほどよい」 SDD SDDを取り入れる真のメリット 思考の整理 行き当たりばったりを防ぎ、やるべきことを構造的 に整理できる。 タスク分割の自動化 少ないキーワードから、AIが実装可能な粒度まで 分解してくれる。 考慮漏れの防止

    自分では気づかなかったエッジケースや非機能要 件をAIが洗い出す。 持続可能な運用のための提案 「何が目的か」を明確にし、 仕様書を「手段」として柔軟に活用する 厳格にやりすぎず、細かな修正はその場で指示。整理の道具として割り切ることで導入のハードルを下げる。
  6. まとめ:AI時代の開発スタイルを模索し続ける 整理の重要性 行き当たりばったりの指示よりも、仕 様書としてまとまることで「やるべきこ と」が整理されるメリットは非常に大き い。 柔軟性の維持 厳格すぎる仕様書駆動は、 AI開発の スピード感や柔軟性を損なう可能性が

    ある。細かな修正はその場で行う等の 柔軟さはあっても良い。 最適な距離感 目的を明確にし、自分のプロジェクト やチームに合った「ほどよい」 SDDの取 り入れ方を見つけることが成功の鍵。 AIを使いこなし、理想のバランスを追求する