ビジネスサイドのための IT 用語集/開発手法・プロセス

アジャイル開発とは

あじゃいるかいはつ / Agile / アジャイル

開発対象を最初にすべては確定させず、数週間ごとに動作するものを構築して確認し、優先順位を再検討しながら開発を継続する考え方です。発注側が継続して関わる手間がかかります。

アジャイル開発

アジャイル開発とは

開発対象を当初からすべて決めきらず、数週間ごとに動作する部分を構築して確認を重ねるソフトウェア開発の考え方です。確認の結果に基づいて、次に開発するものや優先順位を再決定していきます。スクラムなどの個別の手法をまとめて呼ぶ総称です。

対になるのはウォーターフォールで、要件定義・設計・開発・テストを一度ずつ順に遂行し、当初確定した仕様のとおり完成させる進め方を指します。

店でいえば小規模に開店し、売れ筋を見ながら棚を入れ替えていく出店に近いです。開店前に品ぞろえをすべて決めることはしません。

なぜ生まれたか

1990年代までの業務システム開発では、最初に分厚い仕様書を作成し、その仕様どおりに開発して納品することが一般的でした。ところが完成までに1年以上かかる開発では、使い始める頃には事業の状況や現場の要望が変化しています。仕様の変更には追加の見積もりと契約の変更が必要でした。そのため利用されない機能が残存し、必要な機能が後回しになりやすくなっていました。

この反省から策定されたのがアジャイルソフトウェア開発宣言です。宣言は計画や文書の価値を認めたうえで、計画に従うことより変化への対応を、網羅的な文書より動くソフトウェアを重視するとしています。

効果

  • 数週間ごとに動作するものを確認できるため、開発中のものと期待とのずれを早期に把握できる。進み具合も書類の進捗率ではなく、実際にどこまで動作するかで確認できる
  • 価値の高い機能から開発するので、予算や期間が途中で尽きても利用できる部分は完成済みになる
  • 市場の反応や業務の変化に合わせて、開発する機能を途中で変更できる
  • 早期に一部をリリースでき、売上や業務改善の効果が表れる時期を前倒しにできる

コストとリスク

  • 発注側にも優先順位を決定する担当者と、定期的に成果を確認する時間が必要になる。この手間は開発期間中ずっと続く
  • 最初に総額と完成形を確定できないため、社内の予算承認や稟議の手順を変更しなければならない場合がある
  • 開発しながら仕様を変更する前提なので、自動テストやリリースの自動化といった技術的な仕組みが不十分だと、変更を重ねるたびに品質が低下し、開発も遅くなる。提案の段階で、自動テストをどこまで整備するか、リリースをどう自動化するかが計画に含まれているかを確認する。この仕組みを維持する費用は導入後の保守でもかかり続ける
  • 仕様書を一括で作成しないため、担当者が交代すると経緯を追いにくくなる。最低限の記録を保持する運用を定めておかないと、保守を別の会社へ引き継ぐときに支障が出る
  • 優先順位を決めきれないまま見直しを続けると、範囲が膨らみ続けて完了しない
  • 自律して行動できる開発チームと、発注側の担当者を育成する必要があり、どちらも短期間では整わない

よくある誤解

アジャイルにすれば速く安く開発できる

開発する量が同じなら、手間の大幅な減少は期待しにくいです。短い間隔で確認するための会議やテストの自動化に手間がかかる分、かえって手間が増加することもあります。速くなるのは価値の低い機能を開発せずに済む場合と、手戻りを早期に発見できる場合に限られます。全機能を確実に完成させることが目的なら、総額を最初に見積もりにくくなります。

アジャイルでは計画も文書も作成しない

計画は作成し、短い間隔で再作成します。文書も保守や引き継ぎに必要なものは保持します。宣言が重視しないとしたのは網羅のための文書で、文書全般ではありません。

アジャイルと呼んでいれば進め方もアジャイルになっている

アジャイルという名前だけが広まり、中身が伴わない進め方も多くあります。進行中の案件では数週間ごとの成果の確認で発注側の担当者が次に開発するものと優先順位を再検討しているかを確認すれば判別できます。確認の結果として今の計画のままでよいと決定するのも再検討の1つで、計画が変更されないこと自体は問題ではありません。問題は確認の場で変更したい点が生じても、契約や社内の承認の都合で最初の計画を変更できない状態です。これは最初に確定した計画を短い期間に区切って遂行しているだけです。

判断の問い

今回の開発はアジャイルで進めるべきか、最初に仕様を固めて進めるべきか?

開発対象の正解がまだ分からない場合はアジャイルを採用します。仕様が外部の条件で確定していて変更されない場合は、先に仕様を確定させてから開発します。判断の材料は手法の好みではなく、開発しながら仕様が変化する見込みの大きさと、発注側が開発に関わり続けられるかの2点です。

アジャイルが向くのは、利用者の反応を確認して機能を足し引きしたい新規事業やサービス、現場で利用してみないと必要な画面や項目が確定しない業務システムです。逆に、法令や制度で仕様が確定している対応、既存システムを同じ機能のまま刷新する移行、他社システムとの接続仕様が先に確定している開発は、先に仕様を確定させるほうが予算と納期を約束しやすくなります。1つの案件の中で、利用者が操作する画面はアジャイルで開発し、外部接続や移行は計画どおりに遂行する組み合わせも珍しくありません。

導入する場合は1チーム10人以下とし、3か月から半年で最初のリリースまで到達できる範囲で区切ると向き不向きを確認しやすくなります。最初のリリースまで半年を超える計画は、範囲を分割できないかを先に検討します。数週間で完了する小さな改修や、SaaS(Software as a Service)の設定だけで済む導入では、どちらの進め方かを気にする必要はほとんどありません。

開発会社からアジャイルでの開発を提案された。予算と納期はどう管理すればよいか?

予算と期間に上限を置き、その中で開発する範囲を優先順位に従って調整して管理します。最初に全機能の一覧と総額を確定させる管理はアジャイルと両立しません。

具体的にはチームの人数と期間から費用の上限を定めます。そのうえで2〜4週間ごとに動作するものを確認して、継続するか、優先順位を変更するか、中止するかを決定します。最初の判断の区切りを目安として2〜3か月後に設定し、その時点で最低限の機能が稼働していなければ計画そのものを再検討します。提案を受けた段階で次の3点を質問すると、提案の妥当性を見極めやすくなります。最初のリリースで何を利用できるようにするのか、どの頻度で何を見せてもらえるのか、優先順位を誰が決定するのかです。この3点が曖昧な提案は名前だけがアジャイルで中身は管理を緩めただけの進め方になりやすいです。

契約は開発会社が完成の責任を負う請負より、作業に対して支払う準委任で締結することが多いです。IPA(情報処理推進機構)が2020年に公開したアジャイル開発版のモデル契約も準委任を前提にしています。準委任ではチームを配置している間は費用が発生し続け、完成の責任も開発会社に一括では負わせられません。そのため、進捗を確認して中止するかどうかを決定する責任は発注側が担います。どちらの契約にするかは要件定義の段階から決定しておきます。

準委任で発注側の担当者が開発会社の個々の技術者に直接作業を指示し続けると、偽装請負とみなされるおそれがあります。厚生労働省がアジャイル型開発について示した見解は、適正とみなせる条件を整理しています。見解では発注側と開発会社の担当者が対等に協働し、開発会社の技術者が作業の進め方を自ら決定している実態があれば適正としています。契約前に、指示や依頼を誰から誰に発するかの運用を定めておきます。

アジャイルで外部に開発を頼むとき、社内の体制と予算の承認をどう用意すればよいか?

優先順位を決定する権限を備えた担当者を1人選任し、週の3割から半分程度の時間を開発に割り当てます。予算は期間と上限額で承認します。担当者が兼務で週に数時間しか確保できない体制では、判断待ちで開発が停滞し、アジャイルを採用する意味が薄れます。

担当者には事業や業務の目的を理解していて、何を先に開発するかをその場で決定できる権限が必要です。決定のたびに社内の承認を何段も経る必要があると、数週間ごとの見直しが機能しません。スクラムではこの役割をプロダクトオーナーと呼び、IPAのモデル契約も発注側から選定する前提にしています。

社内の稟議を機能一覧と総額の確定で承認する形のままにすると、途中で開発する範囲を変更するたびに承認のやり直しが必要になります。最初の判断の区切りまでにかかる費用を上限額付きで承認し、区切りごとに継続するかを再決定する形に変更すると、承認の手続きと進め方が整合します。この体制と承認の形を社内で用意できない場合は、仕様を先に確定させて発注するほうが社内の負担を見積もりやすくなります。

公開日
2026.10.21
更新日
2026.10.21

お問合せ

事業の課題や技術的な悩みなどどんなことでもお聞かせください

お問合せ