0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

きっかけ

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(高速フィードバック)

aD_process-アウトライン.drawio.png

仕事の流れはこのような形になる。

aD_process-アローダイアグラム.drawio.png

PFD

PFD(プロセスフローダイアグラム)は次のようになる。
エンジニアFBを核とし、エンジニアを中心に各AIツールが協調して、プロセスを進める。

aD_process-PFD.drawio.png

考えられるメリット・デメリット

メリットとして考えられること

  • 開発速度の向上:AIが実装とデバッグの大部分を担うため、開発サイクルが劇的に短縮できるようになる
  • 品質の向上:テストが駆動する開発プロセスにより、機能的なバグが大幅に削減できるようになる
  • 生産性の向上:人間は、より創造的で価値の高い作業(要求定義、E2Eテスト設計、レビューなど)に集中できるようになる。
  • 早期の妥当性確認:実際にコードを書く前に、AIが要求の矛盾や妥当性を検証する手助けをしてくれるようになる。

デメリットとして考えられること

  • エンジニアのスキル要件:AIを効果的に使うには、人間が質の高い要求がどういう状態かわかっている必要がある、幅広いAIの成果物(コードからテスト、テスト期待値まで)の妥当性を判断する技術が不可欠になる。
  • コスト:複数のAIサービスを利用する場合、コストが増大する可能性がある。
  • 内部品質の課題:AIはテストをパスするコードを生成することができるが、内部品質(可読性や保守性など)の観点では、人間のコードビューで担保する必要がある。

手段

AIツール無課金でトライアルできそうな組み合わせを以下と考えている。

  • 対話型AI: kiro、Gemini CLI
  • テスト生成AI: uipath Autopilot for testers
  • コードエージェント: kiro、Jules

aD_process-手段.drawio.png

検証(トライアル)

トライアルは、Kiro無料枠をすぐに利用できず・・・。
Gemini CLIとJules、uipath autopilot for testersを活用して実施した。
別投稿にて、トライアルの結果を共有する。

参考

TDDでClaudeCodeのビックバン変更と向き合おう
Kiroみたいな「仕様書駆動開発」をClaude Code・Opus 4でやるまでの手順を整理した!!!
生成AIでテスト作業をまるっと自動化「UiPath Autopilot for Testers」かんたんチュートリアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?