AI時代だからこそ受託開発でもアジャイルにソフトウェアを開発する

#生成AI#受託開発#開発体制#プロジェクトマネジメント

AIの登場で変わる開発の重心

近年の生成AI技術の進展に伴い、ソフトウェア開発におけるコーディングの所要時間は大幅に短縮されました。かつては画面やAPIの骨格を組み立てるだけでも数日を要していましたが、現在では適切な指示を与えることで、初歩的な実装を短時間で出力できます。コードを書く作業自体の負荷が下がった結果、開発の力点は「コードを生産する工程」から「動作を検証して軌道修正する工程」へと移りつつあります。

この変化は、従来の開発手順そのものを見直す契機になっています。従来は、実装時の手戻りを防ぐために事前の要件定義や詳細設計に長い時間をかける進め方が一般的でした。しかし、コード生成が容易になった現在では、机上で設計図を練り上げるよりも、実際に動く画面や機能を立ち上げて操作から知見を得る進め方のほうが、結果として開発全体の期間を短縮しやすくなっています。

であれば、受託開発における価値の置き所も変わらざるを得ません。パーティーハード株式会社では、AI時代の受託開発における価値は、指示された仕様どおりにコードを量産することではなく、動作するソフトウェアを素早く立ち上げて試行錯誤を繰り返す速度にあると考えています。アジャイルソフトウェア開発宣言が掲げた「包括的なドキュメントよりも動くソフトウェアを」という理念は、AIという実務的な道具を得たことで、現実的な最短経路になりつつあります。

なぜ「作り続けること」が重要になるのか

そもそも、事前に策定した仕様と、実際に画面を操作したときの感触には、常に隔たりが存在します。文字やワイヤーフレームで合意した画面であっても、ブラウザ上で実際にデータを入力し、クリックしたときの応答や導線の違和感は、動くものに触れて初めて把握できる場合が多いためです。もし机上の仕様書だけで設計の妥当性を完全に判断できるのであれば、受託開発における納品後の仕様変更要望は過去に存在しなかったはずです。

実際、動作する成果物が早い段階から存在していれば、発注側と開発側の双方が隠れた業務要件や考慮漏れに素早く気付けます。「この一覧画面では項目の並び替えが必要になる」「特定の条件では入力欄を非活性にすべきである」といった細部は、静的なドキュメントの精読よりも、ブラウザで実際に操作するほうが容易に発見できます。

そのうえ、コード生成技術の普及によって実装の修正にかかる負荷が低下した結果、手戻りを過度に恐れる必要性は薄れました。かつては一度構築した画面や機能の変更に大きな工数を要しましたが、現在では修正の方針さえ定まっていれば、実装の差し替えは短時間で完了します。仮説を立て、即座に形にし、動かして得た知見をもとに修正を繰り返す運用そのものが、製品の品質を高める手段として機能します。

開発サイクルを加速させるAIと人間の役割分担

この作業サイクルを破綻させずに加速させるためには、AIと人間の担当領域を明確に切り分ける必要があります。AIを全自動の道具として扱うのではなく、定型作業に限定して委ねることが、開発の統制を保つ条件となります。

まずAIの役割は、定型的なコードの生成や発想の補助です。具体的には、要件メモからのアイデア出し、初期のデータベーススキーマ案の作成、NextjsやVueによるUIコンポーネント骨格の出力、さらにはNextjsのサーバー機能やLaravel、Symfonyを用いたバックエンドのCRUD処理・API雛形の実装などが該当します。フレームワークの標準的な作法に沿ったコードであれば、AIは数分程度で安定した出力を提示できます。

これに対して、人間の役割は妥当性の判断と統制にあります。生成されたコードが事業要件と合致しているかの検証、認証認可や機密情報の取り扱いといったセキュリティ面の精査、フレームワークの規約やアーキテクチャの統一感の維持は、人間が担当しなければなりません。実際の操作感が利用者の目的に適しているかを評価することも、開発者が担うべき判断です。

この分担が成立して初めて、従来のスクラム開発で一般的だった1〜2週間単位のスプリントを待たず、数時間から数日単位の短いサイクルで「生成、レビュー、修正」を回す運用が可能になります。期間の終了時に初めて動く成果物を見せるのではなく、日々の対話の中で動く画面を更新し続ける開発スタイルが現実のものとなります。

Webアプリケーション開発でのイテレーション

Webアプリケーション開発を例に、この短縮されたサイクルをどのように運用するのか、工程ごとに手順を整理します。

初期フェーズでは、使い捨てのモックを作るのではなく、Nextjsを用いて最初から動くコードベースを組み立てます。近年のNextjsはAPI RoutesやServer Actionsによってバックエンドの処理まで一貫して記述できるため、プロンプトを活用しながら初日からデータベース接続や基本操作を含む実装を組み上げられます。ホスティング環境としてVercelを連携させれば、生成したコードを即座にインターネット上へ展開し、関係者が実環境で操作できる状態を即日用意できます。仕様書を巡る言葉の解釈違いを、初日の段階で動作確認によって解消する進め方です。

続く開発フェーズでは、業務要件の複雑化やデータ規模の拡大に合わせて、バックエンドの基盤を拡張します。高い堅牢性や保守性が求められる基幹ロジックに対しては、PHPのLaravelやSymfonyを用いた専用のAPIサーバーへと責務を分離します。ここでもデータ構造をもとにAIへコントローラーやリクエストバリデーションの雛形を生成させつつ、エンジニアはトランザクション境界や認可処理を精査します。PHPの静的解析ツールやフレームワークの厳格な規約と人間のレビューを組み合わせることで、AI生成コードに生じがちな設計の乱れを防ぎます。

改善フェーズでは、実環境で得られた操作フィードバックを即座に反映します。プレビュー環境がGitのブランチごとに自動生成される構成をとっていれば、「この確認ダイアログの挙動が煩わしい」という指摘を受けた場合でも、エンジニアはその指示をもとにAIを用いてコードを修正し、プルリクエストを作成するだけで同日中に検証用URLを発行できます。修正が素早く反映される環境では、議論が机上の空論にならず、製品の改善が滞りなく進みます。

発注側と開発側の関係性の変化

こうした開発プロセスの短縮は、システム開発を発注する事業担当者と、それを受託する開発会社の協力関係にも変化をもたらします。

従来の受託開発では、「事前に確定した仕様書どおりに納品すること」を契約上のゴールに設定することが通例でした。しかし、市場環境やユーザーの要望が変化しやすい事業開発では、初期の計画への固執は製品の成功を保証しません。AIを活用した高頻度のサイクルを前提とする場合、両者の関係は「仕様の消化」ではなく「事業成果に向けた仮説検証の繰り返し」を目的とした協力体制へと移行します。

発注側にとっても、関わり方の性質が変わります。膨大なドキュメントの精読と承認作業に追われる代わりに、数日おきに提供される動く実物を操作し、事業判断を下す作業に集中できるようになります。実際の画面を見ながら「この機能は想定と違ったため削り、別の機能にリソースを充てる」といった柔軟なスコープ変更が可能になります。

したがって、スコープを固定しすぎず、開発途中で得られた発見を歓迎する文化を共有することが、この開発体制を機能させる前提となります。初期の想定と異なる要件が出てくる事態は、仕様策定の失敗ではなく、動くものを通じて事業理解が深まった成果として捉える姿勢が求められます。

小さく作り、早く学び、修正し続けるチームへ

AIは人間のエンジニアを不要にする存在ではなく、開発のフィードバックループを加速させるための道具です。手作業での記述にかかっていた時間を削減し、検証と意思決定の頻度を高めるためにAIを活用することが、現代のソフトウェア開発における合理的な選択肢となります。

事前の計画を綿密に練り上げることの価値が失われたわけではありません。不確実性の高い事業領域では、計画の精密さよりも、動くソフトウェアをもとにした修正サイクルの回転数が成果を分ける場面が増加しています。

パーティーハード株式会社では、PHP(Laravel、Symfony)やNextjs、Vueといった技術スタックを基盤としながら、AIによる実装加速を組み合わせた開発体制を推進しています。作りながら確かめ、事業の成長に合わせて迅速に形を変えていけるソフトウェア開発を支援してまいります。

望月 涼太 / polidog

望月 涼太 / polidog

Co-Founder / Web Engineer