アイデアをカタチにしていく方法として、大別すると2つある。
- ウォーターフォール
- アジャイル
ウォーターフォールは、その名の示す通り、上から下に水が流れ落ちるように、上流工程から下流工程までひとつずつ順番に仕上げていくデリバリー手法である。
要求、デザイン、実装、テスト、導入の流れで進み、工程を遡らない。
一方、アジャイルは、顧客の要求を分解し、価値の高いモノから順番に届けていく手法だ。
小さな要求の塊を、デザイン、実装、テストし、導入する。
ひとつひとつの規模は小さいが、機能追加を繰り返しながら、徐々に大きく育てていく。
ウォーターフォールか、アジャイルか、どちらが適しているかは状況により異なる。
プロダクトを取り巻く環境に応じて、最適なアプローチを取る。
どちらのデリバリーモデルを使うか、選定基準はいろいろあるが、わたしは以下の5つの観点から判断している。
① 不透明さ
② 要件の確度
③ 「二八の法則」の適合性
④ ユーザーフィードバックの重要度
⑤ 作り方も決まっているか
順番に説明していこう。
① 不透明さ
先行き不透明であれば、今ある計画は当てにならない。だから、従来の計画駆動型開発(ウォーターフォール)はフィットしない。
長期的な見通しが立たないから、短期スプリントに切って、少しずつカタチにしていく。都度都度状況を「検査」し、状況に合わせて「適応」していく。
② 要求の確度
要求の確度が高く、仕様が安定しているなら、ウォーターフォールがはまる。
要求の確度が低く、今ある要求がどんどん変わっていくなら、柔軟性のあるアジャイルに分がある。
③ 二八の法則(にっぱちのほうそく)
一般的に、製品・サービスにおいて「8割の価値をもたらすのは全体の2割の機能に過ぎない」という考え方がある。
だから、10個の機能を12ヶ月かけて実装するより、最大価値を生む2機能に絞って、2ヶ月で展開する方が投資対効果は高い。
トンネルや架け橋のように、2割だけ実装してもなんの意味も持たないものは、タイムボックスではなくスコープ全量ありきで進める。
トンネルが開通後、快適に通れるよう、コンクリート舗装したり、照明を増設したりするのはアジャイルがいい。
こちらの図をご覧いただきたい(スタンディッシュ・グループより引用)。
- 頻繁に使われる機能は全体の20%
- ちょくちょく使われる機能は16%
- 使われない機能は64%
トンネルや架け橋、昔の城や現代の家屋等、ハードウェアなら全量必要なケースが多い。なぜなら途中で止めると価値そのものがなくなってしまうからだ。使用率についても、家やマンションの64%のスペースを使わないことはないだろう。
だが、ソフトウェアでは大抵つくりすぎる。ソフトウェアを「滝モデル」でつくると、機能を盛大につくりすぎてしまう。これ以上削ると「痛い」と思うレベルまで機能を削ぎ落として、丁度よいものだ。
④ ユーザーフィードバックの重要度
アジャイルの特徴として、頻繁に利用者からのフィードバックを獲得する仕組みが挙げられる。
継続的に、繰り返しユーザーからフィードバックを獲得することで、製品やサービスが顧客の求める正しいものになる。結果、強い訴求力のプロダクトを利用者に届けることができる。
システム基盤やデータベースの持ち方等、利用者が気にかけない部分については組織戦略や長期的な技術ビジョンに基づき、粛々と構築していってかまわない。
⑤ 作り方も決まっているか
プロダクトの作り方まで決まっているなら、従来型だろう。
アジャイルは不透明な中、状況に合わせて「適応」していくアプローチである。だから、チームはやり方を工夫して、よりよい方法を模索し「継続的に改善」していく。
既に確立したプロセスがあり、そのプロセスに従って生産することが求められているなら、創意工夫も継続的改善もいらない。
賃金の安い国で、ウォーターフォール方式で、手順通りに量産する方が投資対効果は高い。
![]() |
アジャイルでやってみた。ウォーターフォールしか知らなかった僕らSIerのスクラム日記 新品価格 |