マシュマロチャレンジというゲーム
マシュマロチャレンジというゲームがあります。パスタや紐、ゴムのような道具を使ってできるだけ高い位置にマシュマロを固定できたチームが勝ちというチームビルディング研修で行われるゲームです。
このゲームを、弁護士のチーム、経営者のチーム、幼稚園児のチームで対戦した時に、どのチームが勝つのかという話で、幼稚園児が勝ったというエピソードがあります。弁護士のチームや経営者のチームは、時間をかけてどうすれば一番高い位置にマシュマロを固定できるかを協議し、たった1回だけ作業を行います。
一方で、幼稚園児は、協議することなく突然マシュマロを高い位置に組み上げ始め、何度もやり直しながらより高い位置にマシュマロを固定しようと試行錯誤を繰り返しました。その結果、たった1回しか挑戦しなかった弁護士チームや経営者チームより高い位置にマシュマロを固定できたという話です。
私はその様子を見たわけでは無いので、この話の真偽は定かではありませんが、幼稚園児が勝つというのは「考えずにまずは行動してみることの重要性」を伝えたいがための話だと思います。
ウォーターフォール開発に対するアジャイル開発の優位性
この話は、開発を段階的に進め後戻りを許さないウォーターフォール開発と何度も試行錯誤を繰り返しながら前に進むアジャイル開発の比較にも同様のことが言えます。
ウォータフォール開発は要件定義から設計、開発、テストと前工程が終わったら原則として元の工程に戻ることは無く、戻ることをむしろやってはいけないこととする開発方法です。この方法は、開発作業を行う側からすると都合がいいためいまだにこの方法が採用されるケースも多々あると思います。開発作業を行う側からしたら、何度もやり直されたらいったいいつになったら終わりになるのかわかりません。現実問題として、実は開発には終わりが無いというか、どこまででも改善することができます。これは業務改善が永遠に終わらないのと一緒で、外部環境が変化していく以上変化に対応してベストの状態も変化していくためです。
そこで、最近ではプロジェクト型のシステム開発ではなく、システムを含めた業務全体を常に見直し続ける専門のコンサルタントが常駐するというパターンも現れてきています。常駐型になると、今度はずっとやるべき仕事があった方がありがたいので、ウォーターフォール開発よりも何度も試行錯誤を繰り返しながらシステムを作っていくアジャイル開発の方が相性が良くなります。
時代は徐々にこの方向に流れており、サブスクリプション契約というのも、固まったシステムを納品する(≒納品後は変わらないシステム)という発想からシステムは常に改善し続け、納品した時点からも変わるのが当然なため、このシステムにいくらという事ではなく、改善し続けるシステムを使っている間はいくらという発想になってきている一つの現れです。