DX・自動化

2024/10/13

【10時間の作業を10分に】システム開発の工数算出を生成AIで劇的に効率化!

  • AI

  • 業務自動化

TOP+スポット

【10時間の作業を10分...

Note

システム開発の企画段階で要件の洗い出しや見積もり作業に苦労している方は多いのではないでしょうか?特にシステム開発会社のプロジェクトマネージャーにとって、工数見積もりは非常に手間のかかる作業です。しかし、私たちはこの問題を生成AIを使って解決し、従来10時間かかっていた作業をたったの10分で完了させることに成功しました。この記事では、その詳細と効果について紹介します。

1. システム開発案件の要件洗い出しと見積もりが大変

スパプラはシステム開発を中心に受託業務を行っています。しかし、システム企画の際に最も時間を取られるのが「要件の洗い出し」と「見積もり作業」です。特に見積もりでは、エンジニアと開発工数を1機能ずつ確認しながらスケジュールを調整する必要があり、頻繁にミーティングを設定しなければならないため、プロジェクトの立ち上げが遅れる大きな要因となっていました。

問題点

  • 要件の洗い出しと見積もり作業に多大な時間と労力がかかる

  • エンジニアとのスケジュール調整に手間がかかる

2. 生成AIによる工数算出の自動化

同じような課題を抱える他のシステム開発会社のニーズも確認できたことから、自社プロダクトとして自動見積もりツールの開発を検討しました。

すべての機能やシステム要件を網羅するマスタデータを用意する必要がありましたが、まずはAIがどこまで代替できるのかを検証するために、Claude(生成AI)のprojects機能を使って、体験を再現することにしました。

3. 精度検証の手順

過去に行ったシステム開発の見積もりと実績データをClaudeに学習させ、サービス内容をインプットすることで機能要件を導き出し、自動的に工数を算出することを目指します。

検証(1回目)

最初の検証では、学習データと基本的な機能リストをインプットし、生成AIがどれほどの精度で工数を算出できるかを試しました。結果として、工数の算出精度はまだ実態と離れており、機能の洗い出しにも改善が必要であることがわかりました。

プロンプト(一部抜粋)

社内向け業務管理システムについて機能要件ごとの見積をお願いします

## 事前学習
- 添付のCSVは機能ごとの工数(人日)データです。
- (列ごとの解説)
- 工数算出の参考にしてください。

## 機能要件
- ログイン
- ダッシュボード
- タスク管理
- プロジェクト管理
- 部門別ページ
など

1. 表形式で出力し、列は「ページ」「機能」「バックエンド工数(日)」「フロントエンド工数(日)」としてください。
   - ページ:登録、ログイン、パスワード忘れなど
   - 機能:ユーザー認証、画面表示など
   - バックエンド工数(日):CSV(##事前学習)を参照
   - フロントエンド工数(日):CSV(##事前学習)を参照
2. ページ-->機能-->工数という階層構造にしてください。
…

結果

この結果を基に、まずは(1)機能の洗い出しの精度を高めること、次に(2)工数算出の精度を高めることを目標に、さらなる検証を行いました。

検証(2回目)

機能の洗い出し精度を高めるため、追加の指示を行いました。たとえば、「タスク管理は一覧ページの構築が前提で、作成や編集が可能になる」といったエンジニア視点を取り入れました。その結果、出力内容はかなり精度が向上しました。

プロンプト(追加)

私がエンジニアなら、「タスク管理はまず一覧ページを構築しないと作成も編集もできないよ?」と思います。ページを構築してから、その中に機能を追加していくというのがシステム開発の基本だと思います。その考え方を前提とするなら、詳細画面や編集画面はページとして必要だと思います。
エンジニアの気持ちになって、全体的に精度を上げてください。

結果

検証(3回目)

「環境構築」「セキュリティ」「テストと品質保証」など、システム開発における必須タスクを追加しました。また、ページの上位階層に「利用者」と「プロジェクト」を設定し、構造化を強化しました。この手法により、求める結果にかなり近づけることができました。

プロンプト(追加)

- 以下の要素を含めてください:
   - 環境構築とベース開発
   - 主要な機能(サービス概要に基づいて)
   - セキュリティ
   - テストと品質保証
- 利用者-->プロジェクト-->ページ-->要素-->機能という階層構造にしてください。

結果

工数の精度については、エンジニアのスキルパターンを構造化したテキストを提供し、チューニングをすることで実態との誤差がほとんどなくなるところまで改善できました。

これを再現するために以下のプロンプトを投げます。

プロンプト

同じ結果を得るためにはあなたにどのように指示をすればいいですか?
プロンプトをコードブロックで出力してください。

成果物

Claudeのprojectsに保存して完成です。

4. 初期段階の要件整理にもAIが貢献できそう

これまで、ユーザーストーリーを作成し、経験をもとに機能要件をまとめ、UIラフ案を作成していました。そこから要件不足を確認し、エンジニアと共に工数見積もりを行うのに1〜2週間は必要でした。しかし、生成AIを活用することで、サービス内容やターゲット情報を入力するだけで、機能要件の約8割を自動で洗い出すことが可能になりました。

その結果、通常であれば10時間以上かかる作業が、わずか10分程度で完了するようになり、企画段階での見積もりが大幅にスピードアップしました。これによりプロジェクト全体の効率化も期待されています。

まとめ

システム開発における要件洗い出しと見積もりは、プロジェクトの初期段階で多くの時間と労力を必要とする作業です。しかし、生成AIを導入するだけでも、これらの作業を劇的に効率化することがわかりました。

生成AIのカバー領域が広いことから、α版としてRAG開発も視野に入れながら、「開発工数の作成サービス」を開発していこうと思います。

本プロンプトや工数自動化サービスに興味がある方はお気軽にお問い合わせください。

+SPOTトップ

CONTACT

お問い合わせ

まずは、無料相談から。
構想段階のアイデアやサービスについてお気軽に相談ください。