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

KAGAIWeek_仕様駆動開発で開発スピードが爆速になった!その結果生まれたバック...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for piyonakajima piyonakajima
February 20, 2026
3

 KAGAIWeek_仕様駆動開発で開発スピードが爆速になった!その結果生まれたバックログ管理の課題と対策

Avatar for piyonakajima

piyonakajima

February 20, 2026
Tweet

More Decks by piyonakajima

Transcript

  1. Vibe Codingと仕様駆動開発の違い Vibe Coding 仕様駆動開発 入力 プロンプト 曖昧で雰囲気でOK 構造化された仕様書 ブレ

    大きい (意図とずれやすい) 小さい (仕様に沿った結果) 追跡性 困難 仕様書が残る 実装の追跡ができる
  2. requirements.mdの例 # Requirements Document ## Introduction ユーザーは現在地または任意の都市の天気情報をリアルタイムで確認でき、週間予報や気象アラートも受け取れるアプリケーションを構 築する。 ## Requirements

    ### Requirement 1: 現在の天気表示 **User Story:** ユーザーとして、現在の天気情報を確認したい。それにより外出の準備を適切に行える。 #### Acceptance Criteria 1. WHEN ユーザーがアプリを開いたとき THEN the system SHALL 現在の気温・湿度・風速を表示する 2. WHEN ユーザーが都市名で検索したとき THEN the system SHALL 該当都市の現在の天気情報を 2秒以内に返す 3. IF 位置情報サービスが利用できない場合 THEN the system SHALL 都市名の手動入力フォームを表示する 4. WHILE 天気データを取得中 the system SHALL ローディングインジケーターを表示する ### Requirement 2: 週間天気予報 **User Story:** ユーザーとして、7日間の天気予報を確認したい。それにより週間の予定を計画できる。 #### Acceptance Criteria 1. WHEN ユーザーが「週間予報」タブをクリックしたとき THEN the system SHALL 7日間の日別予報(最高気温・最低気温・天気アイコ 複数のRequirementからなる 1つのRequirement=1つのユーザーストーリーと複数の受入条件
  3. スクラムのプロダクトバックログアイテムと requirements.md似てる? # Requirements Document ## Introduction 本仕様は、AWSにTerraformでデプロイする天気予報 Webアプリケーションを定義する。 ユーザーは現在地または任意の都市の天気情報をリアルタイムで確認でき、

    週間予報や気象アラートも受け取れるアプリケーションを構築する。 ## Requirements ### Requirement 1: 現在の天気表示 **User Story:** ユーザーとして、現在の天気情報を確認したい。それにより外出の準備を適切に行える。 #### Acceptance Criteria 1. WHEN ユーザーがアプリを開いたとき THEN the system SHALL 現在の気温・湿度・風速を表示する 2. WHEN ユーザーが都市名で検索したとき THEN the system SHALL 該当都市の現在の天気情報を 2秒以内に返す 3. IF 位置情報サービスが利用できない場合 THEN the system SHALL 都市名の手動入力フォームを表示する 4. WHILE 天気データを取得中 the system SHALL ローディングインジケーターを表示する ### Requirement 2: 週間天気予報 **User Story:** ユーザーとして、7日間の天気予報を確認したい。それにより週間の予定を計画できる。 #### Acceptance Criteria 1. WHEN ユーザーが「週間予報」タブをクリックしたとき THEN the system SHALL 7日間の日別予報(最高気温・最低気温・天気アイコ ン・降水確率)を表示する 2. WHEN ユーザーが特定の日付をタップしたとき THEN the system SHALL その日の時間帯別詳細予報を展開表示する 3. IF 週間予報データの取得に失敗した場合 THEN the system SHALL キャッシュされた最新データを表示し、「最終更新 : [時刻]」を明示 する requirements.md ユーザーストーリー 「xx(ユーザー)としてxx(機能)したい。 xx(提供価値)だから。」 受入条件 ・xxができること。 ・xxができること。 ・xxができること。 プロダクトバックログアイテム 複数のRequirementからなる 1つのRequirement=1つのユーザー ストーリーと複数の受入条件 Requirementはバラバラにできない 1つのユーザーストーリーと 複数の受入条件 他のPBIと依存関係はない
  4. プロダクトバックログアイテムってどうしたらいいの? requrementsと同じ??いや、 Specに近い?? ユーザーストーリー 「xx(ユーザー)としてxx(機能)したい。 xx(提供価値)だから。」 受入条件 ・xxができること。 ・xxができること。 ・xxができること。

    ①Specを作る ②requirements.md (仕様書)ができる ③design.md (設計書)ができる ④tasks.md (タスクリスト)ができる ⑤プログラムコードが生まれる ⑥動作確認 ? プロダクトバックログアイテム
  5. (Kiroで採用している )「AI DLCは新しい用語と習慣を導入します」 スクラムじゃないらしい AI 駆動の高度に協調的なアプローチを反映してAI-DLC は新しい用語と習慣を導入します。従来の「スプリント」は「ボルト ( bolts )」に

    置き換えられます。これは、週単位ではなく時間や日単位で測定される、より短く集中的な作業サイクルです。エピックは作業単位 ( Units of Work) に置き換えられます。 この用語の変更は、この手法がスピードと継続的デリバリーを重視していることを強調していま す。同様に、他の一般的なアジャイルの用語も AI 中心のワークフローに合わせて再定義され、この手法のソフトウェア開発における革新 的なアプローチをより適切に表現する用語体系が作られています。 https://aws.amazon.com/jp/blogs/news/ai-driven-development-life-cycle/
  6. 解決したい課題に立ち戻る 細かく刻んでゴールを目指す アイアンだけでうち続ける Before After 飛距離が飛ぶドライバーが出てきた 時間はかかる。でも 細かく刻む必要がなくなった わざわざ途中の目標でパター使う必要ない 今までの仕事の姿勢

    ・「宵越しのタスクは持たない」 ・プロダクトバックログは 1日に収まるサイズ ・常にリリース可能な状態を維持  ・どこで終わっても良いように細かく分割!! 飛距離が出るんだから、 直近の旗(仮説検証ポイント)に辿り着ければいい!!!
  7. チームで話して生まれた Working Agreement PodはDaily Sprintをベースとし、「宵越しのタスクを持たない」ことを大切にしてきた。 しかし、AIコーディングの普及により状況が変わった。 • 短期での実装速度は上がった一方、人間が期待する結果になるよう修正するコストが大きくなっている • 1日単位のスプリントを回そうとすると、検証する必要がないのに顧客説明のためにバックログを細分化し、

    不要な修正作業が発生するという不整合が起きた • 顧客の期待値醸成は大切だが、それよりも「検証したい仮説を検証するためのアクション」に注力すべきである 私たちの選択 • リリース可能な状態は 1週間単位 を目指す • 1週間おきに到達ゴールを TrelloのEpicとしてPOLが記載する。チームはその達成にコミットする • 到達ゴールにはシンプルな検証に必要な受け入れ条件を記載する • AIと協働する中でより良い方法が見つかった場合は、受け入れ条件を POLと一緒に見直す • 手段は柔軟に、目的(仮説検証)は見失わない Daily Sprintを辞めてWeekly Goalだけ計画を立てることにした 一個一個のバックログの正確性より検証したい仮説に集中できるようになった PMは顧客やステークホルダーと対話する時間が増えた
  8. requirements.mdはEARSという記法で記されている EARS(Easy Approach to Requirements Syntax) ・Rolls-RoyceのエンジニアAlistair Mavinが2009年に提案 ・要件記述のための構文テンプレート ・自然言語の曖昧さを排除

    ・航空宇宙・自動車業界を中心に広く採用 EARSは、人間が人間に誤解なく伝える為に作られたフォーマット。 アジャイルソフトウェア開発宣言「プロセスやツールよりも個人と対話を」 人間はコンテキストを持つ。だから、人間とは対話すればよかった。 AIはコンテキストを持っていない状態で始まる。(2025年現在) だから、AIと対話する為には誤解なく伝えられるEARSが向いていた?