AWS Kiroによる仕様駆動開発 – NEXTSCAPE blog

はじめに

株式会社ネクストスケープ エンタープライズサービス部の小野塚です

前回仕様駆動開発を試してみようということで、spec-workflow-mcpを触ってみました。

blog.nextscape.net

そしてAWSのKiroを使えるようになりましたので今回はその感想を。
Kiroは以前からWait listに申請していたのですが、恐らく1カ月経ったでしょうか、それでも通知が来ず、結局Proプランを申し込む形となりました。すごい人気なんですね。。

kiro.dev

Kiro起動

まずはWebサイトで入金を行い、Kiroをインストールして立ち上げます。
私はProプランを申し込みました。
KiroもVSCodeライクの画面なのですね。まずはプロジェクトを開くように言われますので、今回も比較のためにVisualStudioで簡単な.NETのWebサイトを作成し、それをKiroで開きます。


すると以下の画面に切り替わります。


ちょっと画面が小さいと思うので一部拡大。
以下のように「Vibe」と「Spec」が選択できます。
「Vibe」が他のAIツール同様、都度質問してそれに対してAIが作業を行う形、そして「Spec」が仕様駆動開発で進める場合の選択肢となります。
今回は当然ながら「Spec」を。

要件定義~設計

依頼する内容は以下の通り。前回と同じ(ざっくりとした)依頼にすることでそれぞれの挙動を比較してみたいと思います。
「ToDoリスト機能の仕様を作成してください。タスクの追加、完了チェック、削除機能を含めて、基本的なToDoアプリとして動作するようにしたいです。要件から実装タスクまで段階的に作成してください。」

すると早速「仕様を作成します」から始まります。

画像
画面上部のタブも「Requirements」「Design」「Task list」と、要件定義→設計の流れを表してます。


まずは要件定義が作成されます。Markdownファイルで必要によってはMermaidでの図も使って要件をまとめてくれます。


問題無ければ右下の入力欄のところにある「Move to design phase」をクリックして設計フェーズへ進みます。


そして設計文書の作成。


設計文書の内容の一部は以下の通り。エラーハンドリング等も細かく既定されています。


そして、「Task list」、いわゆる実装計画になります。


これが終わると実装に入るわけですが、上の画面では見づらいと思いますのでKiroからのメッセージを抜粋しておきます。

「これで仕様作成のワークフローは完了です。実装を開始するには、tasks.mdファイルを開いて、各タスク項目の横にある「Start task」をクリックして個別のタスクを実行できます。最初のタスクから順番に進めることをお勧めします。」
と、このように仕様が問題無いかを確認してきます。

いよいよ実装

改めてタスクリストを見ると赤枠部分のように「Start task」というボタンといいますか、クリックできるところがありまして、これをクリックすることでその選択したタスクが実行されます。
ちなみにタスクリストにはそれに関連する要件も書かれてますのでわかりやすいです。


すると以下のように各タスクが実行され、必要に応じてビルドも細かく実行してくれます。
前回のspec-workflowは都度ビルドは行ってくれなかったのですが、普通人間が作業を進める場合もこのように手戻りを小さくするために都度ビルドは実施するわけなので非常に丁寧な対応だなと思いました。


実は丁寧さはこれだけでなく、各タスクの内容を見ていると「テスト」「test」という単語が出てきます。
よく見ると各タスクにおいてちゃんとテストコードを書いてくれていて、更に(当たり前ですが)テストも実行してくれてます。
ちなみにTodoアプリのような「比較的」小規模なアプリでもタスク数は13個ありまして、都度テストを書いて・実行を繰り返しましたので、とにかくどんどん承認だけを繰り返すだけでも30分以上かかりました(1時間近くかかったかもしれません)。
テストコードを通すのにエラーやその対処で意外と手間がかかってしまったこともありますが、とにかく丁寧かつ細かく対応してくれます。
そして全ての対応が終わりました。


結果として以下のようにTodoアプリが完成しました(ちなみに他のツール同様、ビルドだけでなく起動もしてくれます)
アイコンや最初に入力する箇所が赤枠で表示されたりと、あれだけ漠然とした依頼にもかかわず、非常に細かい作りになっています。

最後に

ということでKiroを用いた仕様駆動開発を簡単に試してみました。
spec-workflow-mcpもちゃんと仕様書が作られ、それに基づいて実装もされていたわけなのですが、1つのIDEの中で要件定義<->設計<ー>タスクリスト<ー>実装がシームレスに行き来できる点は非常に優れているなと思いました。
先ほど書いた通り非常にきめ細かく対応してくれるので、既存のシステムのちょっとした改造ということであれば最初の画面で「Vibe」を選んでくれればよいのかなと思います。
spec-workflow-mcp、github/spec-kit、そして今回のKiroと、全て仕様駆動開発というのがベースにあるものの、それぞれ似て非なるものでした。
他のツールにも言えることですが、セキュリティの問題もありますので事前に簡単な小規模のアプリ・システムで使ってみて、それぞれの使い勝手や、自分に合っているかどうかを試してみることをお勧めします。
実はこの前にもう1つgithub/spec-kitも試してまして、それもまた特徴のある内容だったのですが、別途紹介してみたいと思います。

当社ネクストスケープはこのように生成AIを始めとした新しい技術・知識を日々取り入れており、Webサイト、スマホアプリ、Hololensアプリの開発をはじめ、CMSを利用したサイトの新規構築やリニューアルなど、お客様のニーズに幅広く対応いたします。お困りのことがございましたら、いつでもお気軽にお問い合わせください。

nextscape.net

nextscape.net

(以下当社お問合せフォーム)

Microsoft Forms




元の記事を確認する

関連記事