要件定義を生成AIを使って自動化してみた
FLINTERSでPMをしています、内藤と髙木です
今回は社内で生成AIを使って要件定義の自動化を試みましたので、その内容を記事にしたいと思います
きっかけ
昨今、システム開発においては生成AIの活用が広がっています
特にエンジニアでは、ブログでも紹介している通り、コーディング補助やコードレビュー、AI駆動開発などAIを駆使して開発環境が劇的に変化しています
一方、PMの仕事はどうでしょうか?
調査や資料作成の補助等、部分的な利用はありますが、エンジニアほどの恩恵は受けていないように感じます
生成AIを利用することで、もっと業務効率を上げ、よりよい成果をあげられるのではないか?
PMももっと生成AIの恩恵を受けたい
そんな動機からこの試みがはじまりました
なぜ要件定義なのか
PMの仕事は多岐にわたりますが、
当社のPMのタスクは、大まかにこの2種類に分けることができます
A. プロジェクトの立案・管理
B. プロダクトの要求/要件定義
この中でB.プロダクトの要求/要件定義は顧客ドメインに対して造詣の深い当社PMの強みでもありますが、経験の浅いPMにとっては難易度の高い業務でもあります
特に顧客の抽象的な要望や要求をシステムの要件に落とし込むには、ドメイン知識だけではなく、開発に対する幅広い知識と経験が必要になります
この部分を生成AIを利用することでカバーできるかもしれない、と仮説を立て、実装をはじめました
具体的な実装
今回は社内PM部で使用する要件定義支援ツールとして、機能要件の自動生成システムを構築しました
システム概要
要件定義プロセスの中でも機能要件の作成にフォーカスした理由は、要求整理後の工程であり、複雑な前処理を必要とせずシンプルにAIを活用できる領域だったためです
技術構成
- Google Apps Script(以下GAS) + Gemini Pro + Google スプレッドシート(以下GS)
- 既存の要件定義テンプレート(GS)を活用
- 社内PM部での利用を想定
実装の流れ
- GASでGSから要求一覧を自動取得
- 要求データをGemini Proに送信し、機能要件案を生成
- 人間が確認・調整してシート上に記載
実装のポイント
- シンプルな設計:出力フォーマット指示のみのプロンプト
- 既存ワークフロー活用:最小限の変更で導入可能
- 要求の詳細度:生成品質に大きく影響することを確認
やってみた感想/課題感
実際にやってみた感想は、
- 要求と機能一覧の間にはかなり溝がある
- 最終的な機能の要件定義はやはり人が大切
ということを改めて実感したということでした
設計時は要求をそのまま生成AIに読ませることで機能一覧を出力しようとしていましたが、
それでは足りないということに気が付きました
出力される機能自体に大きな問題があるわけではありません
- 出力された機能一覧は顧客に価値をもたらすのか?
- この機能はユーザーが使って嬉しいものなのか?
これらを踏まえたものが本当の「要件定義」であり、生成AIで出力したものは、たたき台となる「機能アイデア」で、それが現状の限界であると感じました
しかし、要件定義を行う上で、大きな補助にはなります
0→1の工程を大幅に減らすことができ、業務での効率化や負担軽減につながります
特に経験の浅いPMにとっては、良い補助となりそうです
また、経験の多いPMにとっても、抽象的な要求→具体的な機能の落とし込みを自動化することで、本当に必要な機能を検討することにリソースを集中することができます
当社PMの強みをより発揮しやすい環境を作る一助になることを期待しています
さいごに
今回は要求一覧から機能要件の洗い出しという、限られた範囲でのAI活用でしたが、要件定義には他にも多くの成果物があります
今後はより幅広い領域への拡張を検討していきたいと思います
正直なところ、まだ「PMの作業が劇的に減った」と実感できるレベルではありません
しかし、こうした小さな取り組みが部全体のAI活用を促進する種になると考えています
当社では全社AI研修を実施するなど、組織全体でAI活用を推進しています
完璧なシステムを目指すよりも、まずは小さな種を蒔くことが重要だと感じています
ぜひ皆さんも、仕事の小さなところからAI化を始めてみてください
PMの皆さんからのフィードバックや、同様の取り組み事例があれば、ぜひ教えていただけると嬉しいです
一緒にPM業務の未来を探求していきましょう
Discussion