きっかけ
KiroのSpec駆動開発の記事などを読んで、今ならAIを活用して、良い要求を作って、良い開発ができるのでは?と思った。
もともと、Stimulusなどのツールを使った要求に対するテストや、シフトレフトの活動を業務で実施してきた。どちらかというと、段階的詳細化を要求工学やシステムズエンジニアリングを使って、早い段階でテストを実施して、品質の作り込みを行いたいと考えて、POCで実践し効果を確認してきた。
KiroのSpec Driven Developmentに渡す要求に対して、要求工学の要素を持ち込んで、拡張してみたら面白いのではないかなと思った。
小規模アプリの開発を実施するにあたって、考えを整理してみた。
概要
複数のAI・AIエージェントと人間のエンジニアがオーケストレーションする新しい開発フローに挑戦してみた。
人のエンジニアとそれぞれの専門性を持ったAIたちが、まるでオーケストラのように協調し、ハーモニーを増幅させ、指揮者(人間のエンジニア)の指示やフィードバックによって、開発を進める手法。
今回の技術的プラクティスは、「Requirements - Tests - Codes - Fast Feedback」の4本柱で構成している。
今回は、Requirementsからテストとコーディングをそれぞれを得意とするAIを活用し生成する。拡張したTDDやSpec Driven Developmentとも言えるかもしれない。
Reqirements:
対話型生成AIと人による準形式・高品質な要求
Tests:
準形式・高品質な要求からテスティングエージェントAIが生成する生成テストケース(コード)
Codes:
準形式・高品質な要求からコーディングエージェントAIが生成する生成コード
Fast Feedback:
生成コードを生成テストケースでGreenになるまで修正を繰り返すフィードバック、また人間による継続的なレビューで質を高めるフィードバック
絵は後で載せる
目的
プロダクト開発の早い段階から、洗練された要求を用いたテスト生成を行い、テストに合格できるように、コードを生成することで、コードの品質を担保し、人間のエンジニアのフィードバックで、保守可能なプロダクトを維持できること。
仮説
『 複数のAIを使いオーケストレーションすることで、要求バグを早期に減らし、手戻りの距離が短いプロダクト開発をできるようになる。 』
手法の流れ
「Requirements - Tests - Codes - Fast Feedback」のプラクティスで構成している。
- Re: Requirements(要求定義)
- Te: Tests(テスト生成)
- Co: Codes(コード生成)
- FFee: Fast Feedback(高速フィードバック)
仕事の流れはこのような形になる。
PFD
PFD(プロセスフローダイアグラム)は次のようになる。
エンジニアFBを核とし、エンジニアを中心に各AIツールが協調して、プロセスを進める。
考えられるメリット・デメリット
メリットとして考えられること
- 開発速度の向上:AIが実装とデバッグの大部分を担うため、開発サイクルが劇的に短縮できるようになる
- 品質の向上:テストが駆動する開発プロセスにより、機能的なバグが大幅に削減できるようになる
- 生産性の向上:人間は、より創造的で価値の高い作業(要求定義、E2Eテスト設計、レビューなど)に集中できるようになる。
- 早期の妥当性確認:実際にコードを書く前に、AIが要求の矛盾や妥当性を検証する手助けをしてくれるようになる。
デメリットとして考えられること
- エンジニアのスキル要件:AIを効果的に使うには、人間が質の高い要求がどういう状態かわかっている必要がある、幅広いAIの成果物(コードからテスト、テスト期待値まで)の妥当性を判断する技術が不可欠になる。
- コスト:複数のAIサービスを利用する場合、コストが増大する可能性がある。
- 内部品質の課題:AIはテストをパスするコードを生成することができるが、内部品質(可読性や保守性など)の観点では、人間のコードビューで担保する必要がある。
手段
AIツール無課金でトライアルできそうな組み合わせを以下と考えている。
- 対話型AI: kiro、Gemini CLI
- テスト生成AI: uipath Autopilot for testers
- コードエージェント: kiro、Jules
検証(トライアル)
トライアルは、Kiro無料枠をすぐに利用できず・・・。
Gemini CLIとJules、uipath autopilot for testersを活用して実施した。
別投稿にて、トライアルの結果を共有する。
参考
TDDでClaudeCodeのビックバン変更と向き合おう
Kiroみたいな「仕様書駆動開発」をClaude Code・Opus 4でやるまでの手順を整理した!!!
生成AIでテスト作業をまるっと自動化「UiPath Autopilot for Testers」かんたんチュートリアル



