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

#生成AI#受託開発#開発体制#プロジェクトマネジメント
AI時代だからこそ受託開発でもアジャイルにソフトウェアを開発する

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

入力フォームのバリデーションやCRUD処理のAPIといった定型的な実装は、AIへの指示によって初歩的な骨格を短時間で出力できるようになりました。コードを書く作業自体の負荷が下がった結果、開発の力点は「コードを生産する工程」から「動作を検証して軌道修正する工程」へと移りつつあります。

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

であれば、受託開発における価値の置き所も変わらざるを得ません。パーティーハード株式会社では、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を発行できます。修正が素早く反映される環境では、議論が机上の空論にならず、製品の改善が滞りなく進みます。

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

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

請負契約で一括定義した仕様書を忠実に納品するモデルでは、開発途中で「この入力項目は不要だった」「別の集計ロジックが必要になった」と判明しても、追加見積もりや仕様変更手続きの負荷から修正が見送られがちでした。一方、生成コードを活用して数日で画面を更新できる体制では、契約形態も準委任や月額制のチーム編成を採り、発見された課題に応じて実装の優先度を組み替える運用が現実的になります。

発注側の役割も、静的な設計書の検印から、プレビュー環境で動作を確認する作業へと移行します。「検索結果の絞り込み条件が多すぎて使いづらい」「管理画面の一覧よりもCSV出力が先に必要だ」といった実務上の優先順位を、実際の画面を見ながらその場で開発側と調整できます。

途中で不要と分かった画面の制作を取りやめ、価値の高い機能の実装に工数を振り替える判断は、要件定義の失敗ではなく、早期の動作確認がもたらした開発効率の向上と言えます。

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

手書きのコーディング時間が圧縮されたことで、開発チームの時間は「要件の妥当性を検証する回数」へ直接充当できるようになりました。何を作るべきかが事前に確定しきらない新規事業や業務システム開発において、設計書の記述精度を競うよりも、動作するソフトウェアを短期間で差し替えながら仕様を固めていく体制が実効性を持ちます。

パーティーハード株式会社では、PHP(Laravel、Symfony)によるバックエンド構築やNextjs、Vueによるフロントエンド開発において、AIによるコード雛形生成と厳格な静的解析・人間によるレビューを組み合わせています。画面を介した高速なフィードバックを前提とし、仕様変更を滞りなく吸収できるシステム開発をご提案しています。

望月 涼太 / polidog

望月 涼太 / polidog

Co-Founder / Web Engineer