PMプロの知恵コーナー
先号   次号

顧客企業のアジャイル採用のメリット

竹腰 重徳 [プロフィール] 
  Email : こちら :6月号

 顧客企業からみたアジャイル採用のメリットは以下に述べるようなものが期待できます。顧客企業がアジャイル開発を採用する場合や受託企業が顧客にアジャイル開発採用を働きかける場合の参考になればと思います。
早期にソフトウェア導入効果を実現できる
アジャイル開発は2週間から1ヶ月程度の短い期間を1つの開発プロセスとしており、その期間の開発プロセスを繰り返します。この1回の開発プロセスは反復と呼ばれています。1回の反復終了後には、実際にビジネス価値を実現する「動くソフトウェア」の増分がリリースされます。すなわち顧客は実際に動くソフトウェアを非常に短期間で作り出すことができます。現実問題として1回の反復だけで運用が開始できるかというと難しいと思いますが、数回の反復を繰り返して顧客が運用できると判断した段階で運用を開始することができます。顧客は早期に運用を開始することができますので、競合他社よりも早くビジネス価値を実現でき、かつ投資したコストを早期に回収できます。

最初からすべての要求が出そろわなくても開発が始められる
ソフトウェアを開発する際に顧客が最初にすべての要件を定義・確定することは、大変な労力と時間を一般的に費やします。アジャイル開発ではすべての要求が事前に確定している必要はありません。1回の反復分の要求が確定していれば反復を開始できます。それ以外の曖昧な要求は次の反復までに確定しておけばよいのです。わかっている要求だけで開発が開始できるようになり、ビジネスチャンスの損失を防ぐことができます。また、実際にどれだけ要求を詳細に定義したとしても、実際に開発した動くソフトウェアとの差は生じる可能性があります。それは、定義された時点で正しいと思った要求が途中で環境が変化し、実際のリリース時点まで正しいとは限らないからです。また、要求の中には、頭の中で要求を詳細に定義していくことよりも、ソフトウェアの動作を確認しないとイメージできないような要求もあり、短期間に開発される動くソフトウェアの増分の結果のフィードバックを得ることにより真の要求を明確にできます。ウォーターフォール型開発ではソフトウェアの動作は最終工程にならないとわからないのです。

リスクを早期に軽減できる
ウォーターフォール型開発では、開発の最終段階のテストまで動くソフトウェアは見ることができないためリスクは最後まで残りますが、アジャイル開発では、開発の早い段階に動くものが見えるため、リスクを早期に発見できます。したがって全体が出来上がる前にこのまま開発を続けるか、止めるかを判断できます。また最初の段階で要求をすべて固める必要がないので、事前に決めた要求が開発中に劣化してしまうリスクも回避できます。

重要な要求を優先して実装することによる高い投資対効果がある
アジャイル開発では、ビジネスにおいて重要な要求から優先的に実装するという重点管理が可能であるので、効率よくソフトウェアが生み出す高い価値を得ることができます。すなわち、全体の数値の大部分は全体を構成するうちの一部の要素が生み出しているという80対20の経験則を当てはめると、ソフトウェア開発において20%の重要な要求を実装すれば、全体のシステム機能の80%をカバーすることが可能です。この考えに基づくと、すべての機能が実装される必要はなく、システムが重要としている主要な部分を優先的に実装することができれば、システムとしての存在価値は十分に保たれることになります。要求を優先順位の高いものから開発していけば、限られた時間や予算の中で優先的にビジネス価値の高いものを手に入れることができますので高い投資対効果が見込まれます。

高品質の動くソフトウェア
品質とは、顧客の要求を満たす度合いです。ウォーターフォール型開発では、顧客の要求を満たす度合いの判定は、開発最終フェーズでの統合テスト後の受入テストで行われます。一方、アジャイル開発のテストでは、テストを顧客の要求したものが開発されたかどうかをみるために、反復毎に設計、コーディング、テストを同時に行って、顧客の要求を満たす度合いを検査し、顧客のフィードバックを得ながら開発をすすめます。統合テストされた動くソフトウェアの増分が出力され、反復の終りの反復レビュー・ミーティングでチームが顧客に動くソフトウェアの増分を見せることにより受入の検証を行い、継続的に次のスプリントを繰り返します。アジャイル開発において、高い品質をあげる要因としては、チーム全体での作業、継続的な統合テスト、テスト駆動開発、自動テスト、顧客との共同作業、テスト結果の顧客からのフィードバック等があります。

早期に利益を享受できる(タイムツーマーケットの向上)
ソフトウェアを漸進的に作り継続的にリリースするアプローチを採用する利点は、その利益がたとえ小さくても早い段階から利益を得ることが可能となることです。早期にリリースすることは、早期に利益をうることにつながり、将来の開発の助けにもなることも可能です。競争相手より早く出荷可能になるかもしれません。最初に市場に投入したら創業者として大きな利益が得られる可能性が高くなります。すなわち、たとえ市場に投じた製品が基本的な機能しか持っていないとしても、最初にリリースすることで長期間マーケットのリーダーになりうる可能性があるのです。

迅速な対応で環境の変化に対応できるようになる
経済環境や技術の変化はグローバルになりますます加速しています。そのため以前よりも先を予測することは難しくなっています。ウォーターフォール型開発のように長い時間かけて新製品を開発したとすると、開発期間に市場は変わっているかもしれないし、顧客のニーズも変化してしまっているかもしれません。別の新しいものが必要となるかもしれません。アジャイル開発では環境変化に素早く対応しながら継続的にリリースすることができるので、企業は変化に素早く対応する俊敏な能力を持つことになります。

イノベーション
継続的なリリースと顧客やユーザーからの頻繁なフィードバックを組み合わせることで、開発者と顧客やユーザーとの距離が縮まり、本当に利用者が必要としていたことは何かということに理解を深め、本当は必要なのに気づいていないことにも明らかにできるようになります。例えば、アップルのiPhoneやiPadは利用者が求めたわけではありませんが、潜在的なニーズがあったのです。開発者は全く新しいものを創造することができます。開発者の創造力による新製品の継続的なリリースと顧客やユーザーからのフィードバックを組み合わせることで、利用者が気づいていない潜在的ニーズを引き出し、本当のイノベーションを引き起こすことができるのです。

以上
ページトップに戻る