AI駆動開発×ウォーターフォールで直面した壁と品質向上の実践

「生成AIを開発に導入したものの、結局人間のレビュー作業がボトルネックになってスピードが上がらない」「AIが書いたコードや設計書にハルシネーション(もっともらしい嘘)が混じり、後工程で炎上しそうになった」——AI駆動開発の検証を進める中で、そんな壁にぶつかっている開発現場は少なくありません。

特に、国内の受託開発におけるAI活用で主流な「ウォーターフォール開発」にどうAIを組み込むかという知見は、まだあまり世に出ていません。

今回は、ウォーターフォールでのAI駆動開発という“ブルーオーシャン”に挑み、プロジェクト成果物の標準化と品質向上を実現しつつあるアルサーガパートナーズ株式会社の岩竹翼さんに具体的な事例とこれからのエンジニアに求められるスキルを語っていただきました。(以下、岩竹さん談)

【著者プロフィール】

システム開発本部 プロジェクトマネージャー(PM)岩竹 翼 アルサーガパートナーズ株式会社 

前職では金融系のシステム開発においてPMを担当。現在は社内のプロジェクト成果物標準化タスクフォースに参画し、ウォーターフォール開発におけるAI駆動開発の実証実験とスキーム構築をリードしている。

AI駆動開発とは

AI駆動開発とは、生成AIを開発プロセスの各工程(要件定義、設計、実装、テストなど)に組み込み、開発の効率化や品質向上を実現する開発手法のことです。

従来の開発手法では、エンジニアが手作業でコードの記述や設計書の作成を行っていましたが、AI駆動開発ではAIがドラフト作成やコード生成、レビューの一部を担います。これにより、人間はより高度な判断や顧客との要件すり合わせなどの上流工程に注力できるようになります。

AI駆動開発の導入背景:目的は「標準化」

昨今、「まずは生成AIを使ってみよう」という目的先行で導入を進める企業が増えていますが、私たちのAI駆動開発の取り組みは違います。

もともと、AIの文脈とは関係なく「社内のプロジェクト成果物や品質が属人化し、バラバラになっている」という強い課題感がありました。現場では「担当者によって設計書の粒度が異なり、テスト設計時に必要な情報が上手く集められない」「プロジェクトごとに品質のバラつきが出る」といった具体的な困りごとが起きていました。

これらの課題を解決するため、成果物や開発プロセスの「標準化」を推進するタスクフォースチームが立ち上がりました。そこに「AIを重ねてみたらより良い解決策になるのではないか」という発想が加わったのが、現在の取り組みのスタートです。

私たちがウォーターフォール型での開発を選んだのも、厳格にプロセスを進めるウォーターフォールの方が、プロジェクトの標準化を進めやすかったからです。世の中にある手法の多くはアジャイルやスクラム開発に向けたものですが、私たちはあえてウォーターフォール開発の各工程(要件定義〜基本設計〜実装〜テスト)にAIを組み込むスキームを構築しました。

AI駆動開発で直面した2つの課題と解決策

しかし、実際に検証段階のプロジェクトへ生成AIを適用してみると、想定外の壁にぶつかりました。ここでは、私たちがAI駆動開発を進める中で直面した2つの大きな課題と、その具体的な解決策について解説します。

課題①:AIコードレビューの速度に人間が追いつかない

AIが設計書やコードを生成するスピードは圧倒的です。しかし、それを出力するごとに人間がすべて確認していると、結局レビューが追いつかず、開発スピードが思うように上がらないという事態に陥りました。

そこで私たちは、「どこまでAIにレビューさせてから、人間がレビューするか」の棲み分けを明確に定義しました。

成果物間の整合性や、記述の粒度が揃っているかといった観点はAIのエージェントを作り、AIコードレビューとして並列で処理させます。そして人間は、「顧客が求めている仕様と合っているか」「認識の齟齬がないか」という、根本的な要件のズレを確認する部分にのみ注力する体制にしました。

レビュー体制のポイント:

  1. 成果物間の整合性や粒度のチェックはAIエージェントで並列処理
  2. 人間は「顧客が求める仕様との合致」や「根本的な要件のズレ」の確認のみに集中
  3. AIレビューと人間レビューの境界を明確に定義し、ワークフローを構築

課題②:AI要件定義の曖昧さによるハルシネーション

もう一つ痛感したのが、上流工程の重要性です。AI要件定義が曖昧な状態のままAIに基本設計をさせると、AIが勝手に隙間を埋めてしまい、ハルシネーションを大量に含んだ設計書ができあがります。それに気づかず実装へと進み、単体テストや結合テストの段階で炎上しかけるというケースがありました。

この経験から、「要件定義をいかにしっかりと固めるか」がハルシネーション対策の鍵だと確信しました。

個人の努力に依存するのではなく、そもそもハルシネーションが起き得ない「仕組み」を作ることが重要です。私たちは、標準化されたテンプレートを用意し、それを埋めるために「足りない情報(課題一覧)」をAIにリストアップさせるプロンプトを設計しました。人間側は、AIから提示された不足項目を顧客にヒアリングし、その回答を再びAIに戻す。この一連のワークフローによって、ハルシネーションのリスクを仕組みで防いでいます。

ハルシネーション対策のポイント:

  1. 成果物の標準テンプレートを用意し、AIが勝手に補完する余地をなくす
  2. テンプレートを埋めるために不足している情報を「課題一覧」としてAIに出力させる
  3. AIが提示した不足項目を人間が顧客にヒアリングし、確実な事実のみをAIに入力する

AI駆動開発の効果は「品質向上」に現れる

AI駆動開発を導入する際、経営層やクライアントからは「どれくらいコストが下がるのか」「どれくらい速くなるのか」と問われることが多くあります。実際、私たちも「AIを使って安く速くしてほしい」というご要望をいただくことは少なくありません。

しかし、現時点で私たちが実感している最大の効果は、スピードやコストの削減ではなく、「品質の圧倒的な向上」です。

定量的なコスト削減は見えづらい部分もありますが、コストは据え置きのままで、コードや設計書の品質は確実に上がり、仕様の抜け漏れによる手戻りが大幅に減りました。また、既存の設計書をAIツールに読み込ませることで、新しいメンバーの仕様理解やオンボーディングが劇的に速まるという、情報伝達面での大きなメリットも生まれています。

AI駆動開発時代にエンジニアに求められるスキル

AI駆動開発が当たり前になる時代において、エンジニアに求められるスキルセットは確実に変わってきます。

これまで下流の「実装(手を動かしてコードを書く)」がメインだったエンジニアは、より上流工程へとシフトしていく必要があります。お客さまが本当にやりたいことは何か、ビジネス要件をどう仕様に落とし込むか。AIが提示した「不足している要件」をもとに、顧客と適切なセッションを行い、AIと対話しながらプロジェクトを進めていく能力が求められます。

AIに情報を与えるために奔走し、顧客とAIの間をブリッジする。それがこれからのエンジニアの重要な付加価値になっていくはずです。

当社でも、こうした上流思考を持ち、課題解決に向けてAIをツールとして使いこなせるエンジニアとの協働を強化しています。自らの市場価値を高めたいエンジニアは、まずは顧客折衝や要件定義といった「人間ならではの対話力と仕様の具体化スキル」を磨くことから始めるべきでしょう。

AI駆動開発の今後の展望とまとめ

現在は、0→1のウォーターフォール開発という枠組みの中で標準化を進めていますが、今後は既存システムのエンハンス開発(運用保守)にもこのAI駆動開発の仕組みを横展開していきたいと考えています。一部のプロジェクトでは、すでにAIを使ったリバースエンジニアリングによるドキュメントの再生成などに取り組み始めています。

AIを使うこと自体は目的ではありません。しかし、正しい設計と標準化のスキームを持った上でAIを組み込めば、属人化を排除し、品質を底上げする強力な武器になります。私たちはこれからも、国内のエンタープライズ開発にフィットする開発手法のベストプラクティスを追求していきます。

▼詳しくはこちら

https://www.arsaga.jp/

×