見出し画像

【通算090|要求AI 07】要件定義書を渡したら、設計書ができた——技術設計書には何が書かれるのか

前回、4つの視点で構造化した指示から要件定義書ができた。しかし、SDD(仕様駆動開発)の本領はここから。要件定義書→設計書→タスクリスト——「要求仕様からシステムを作る」。
同じセッションの続きを確かめた。まず設計書作成まで。
タスクリストは次回に分けて紹介する。

Kiroについてのこれまでの記事

Kiroはまず、ファイルをチェックする

入力欄に「技術設計書を生成してください」と送る。

「requirements.md は存在しますが、design.md がまだありません。技術設計書を生成します」


kiro:「requirements.md は存在しますが、design.md がまだありません。技術設計書を生成します」

会話の記憶ではなく、フォルダー内の要件定義(書)を確認して、設計を始めた。セッションを閉じても、MDファイルさえ残っていれば続きから再開できる。

そしてもう一つ。技術スタックの質問は来なかった。言語は? データベースは? ——何も聞かずに、KiroはTypeScriptと4層アーキテクチャ(DDD)を自分で決めて書き始めた。要件のときに業務を聞かなかったのと同様に、設計では技術を聞かない。

10分で433行の設計書

約10分・3.37クレジットで design.md(433行)が生成され、承認を求めるメッセージが出た。
記事の後半に、作成された設計書の一部のスクリーンショットを添付している。

フェーズの節目には必ず人間の承認が挟まる。SDDの「レビュー」がUIに実装されている
差分表示。設計の各項目に「Validates: Requirements 1.1, 1.2」と要件番号への参照が付く

状態遷移図とアーキテクチャ図(テキストから図を生成するmermaid記法)、データモデルの型定義6、エラー処理の一覧表、テスト戦略。そして注目は「正確性プロパティ」——システムが常に満たすべき性質を9本、文章で定義し、それぞれに要件番号を紐づけている

Property 4: 金額閾値による一次承認後ステータス分岐 — 金額 < 50,000円であれば承認後ステータスは APPROVED、>= 50,000円であれば PENDING_ACCOUNTING になる。Validates: Requirements 3.2, 3.3

バリデーションチェックの例

指示に書いた「5万円未満は上長承認のみ」が、要件になり、検証可能な性質にまで落ちている。

設計書の完了報告。状態遷移図・4層アーキテクチャ・データモデル・9つの正確性プロパティ

テキストで渡した要求が、設計の段階で図と型に変換される

頼んでいない「下書き」が、また出た

ただし、データモデルの状態定義に、見覚えのある文字があった。

DRAFT(下書き)。

要件定義書に下書きは存在しない。状態遷移図にもDRAFTからの矢印は無い。それなのに、型定義にだけ、下書きが入っている。——雑な一文で検証したとき、Kiroは用語集に「下書き」を定義しながら要件化し忘れた。指示を構造化して要件からは消えたはずの下書きが、一段下の設計層で復活した

「経費申請には下書きがあるはず」というAIの学習知識は、書かなくても紛れ込む。しかも要件・設計のどちらのレビューゲートでも、誰にも気づかれずに通過した。

作成された「設計書」の一部のスクリーンショットが以下のとおり

ディレクトリ構成は以下のように、".kiro"配下に、"design.md"として作成される

.kiroの配下のdesign.mdが設計書の本体

設計書は、MDファイルとして作成され、一部、Mermaid形式の図解あり

先頭で要約と設計目標


ワークフロー状態遷移図


アーキテクチャ図


ワークフローエンジン


ノーティフィケーションと画像などのストレージ


データモデル

設計書の次は、実装計画

この設計書を土台に、Kiroは次の工程「タスクリスト(実装計画)」を生成する。設計がどんなタスクに分解され、要件番号がどこまで貫通するのか——それは次回紹介する。

今日のまとめ

  • 「技術設計書を生成してください」の一言で、Kiroは要件定義書を読み込み、約10分・3.37クレジットで433行の設計書を生成した

  • 中身は、状態遷移図・4層アーキテクチャ・データモデルの型定義・エラー処理・テスト戦略、そして要件番号に紐づく9つの正確性プロパティ

  • テキストで渡した要求が、設計の段階で図と型に変換される

  • ただし技術スタックは無言で決まり、頼んでいない「下書き」状態が紛れ込んだ。AIの思い込みは、人間のレビューでも気づきにくい

タグ


#AIエージェント #Kiro #AWS #要件定義 #スペック駆動開発 #要求定義 #技術設計 #システム開発 #SE #生成AI #50代

いいなと思ったら応援しよう!