![[アップデート] Kiro IDE で Spec モードで開発するときの新しいワークフロー「デザインファーストワークフロー」を使ってみた](https://images.ctfassets.net/ct0aopd36mqt/4uTbTE9O9jUJCOs80dZ0Ao/e2da592b5eaaad0f5993d6ff64a12467/aws-kiro.png?w=3840&fm=webp)
[アップデート] Kiro IDE で Spec モードで開発するときの新しいワークフロー「デザインファーストワークフロー」を使ってみた
いわさです。
Kiro IDE では Spec モードを使って仕様駆動開発を行うことができます。
これまでは要件の定義から開始して、技術設計を行い、タスクリストを作成する、という流れのワークフローだったのですが、先日の 0.10 バージョンから「デザインファーストワークフロー」が利用できるようになりました。
今回こちらの機能を使ってみたので紹介します。
デザインファーストワークフローとは
公式ドキュメントはこちらになります。
これまでの Spec モードでは要件(機能仕様)を定義するところから開始するワークフローとなっていました。今後はこれは「Requirements-First Workflow」と呼ばれます。
明確なユーザーストーリーがあったり、あるいはデザインについては要件にあわせて調整可能な場合・技術的な制約が特にない場合は引き続き要件ファーストワークフローが適しています。
一方で技術スタックありきでのプロトタイプを作りたかったり、既存の設計を踏襲する必要があったり、非機能要件を始めとする技術的制約を満たす必要がある場合だとは今回追加されたデザインファーストワークフローが適している場合があります。
この2つのワークフローの大きな違いですが、前者の要件ファーストの場合は機能仕様を定義する要件フェーズを経て設計フェーズに進みます。後者のデザインファーストの場合はまず設計フェーズを経て要件フェーズに進みます。
その関係で設計フェーズではどの粒度の設計資料を作成するかレベルやドキュメントを選択することが出来るようになっています。
使ってみた
では実際に使ってみましょう。
本来であれば技術要件や制約をもっと細かく指定する時に使うのでそうしたほうが良さそうですが、こんな感じで指定しました。

まずはこの指示が機能開発なのかバグ修正なのか問われるので「機能開発」で進めます。
このバグ修正というのは先日以下の記事で触れた新しいモードのやつですね。

そうすると、最新版の場合は次のようにどのワークフローで開発を進めるか問われるのでワークフローを指定します。
「要件」が要件ファースト、「技術設計」がデザインファーストのワークフローです。

デザインファーストファークフローを指定する際にはオプションで設計ドキュメントに含めたい成果物を指定することができます。
まず大きくハイレベル設計とローレベル設計に分かれています。

デフォルトではどちらも有効化されており、アーキテクチャに焦点をあてるか、実装詳細に焦点をあてるか、そのどちらも指定するかを選択できます。

上記の場合は高レベル設計のみが行われます。
システムズ、コンポーネント、データモデルが作成されます。

そして、低レベル設計の場合であれば次のように詳細ドキュメントの記述スタイルを指定することができます。

作成されたドキュメントは次のような形で、requirements.md の前に design.md が作成されていることが確認できると思います。
上部のワークフローの並びも通常と違いますね。

そして設計を調整したあとの次のフェーズは要件フェーズになります。
進めてみましょう。

requirements.md で作成されていることが確認できますね。

さいごに
本日は Kiro IDE で Spec モードで開発するときの新しいワークフロー「デザインファーストワークフロー」を使ってみました。
今後 Spec を指定する際にはユースケースにあわせて適切なワークフローを選択することがポイントになりそうです。
一度開始ワークフローは後から変更はできないみたいなので Spec モードで開始する際には注意しましょう。








