アジャイルはすべてを解決する魔法ではない
これからアジャイルを始めるすべての人へ
アジャイルを導入するメリットを読んだ人は、まずこう思うはず
「アジャイルを導入したら、急な仕様変更にも耐えられるってコト!?」
確かにアジャイル導入によって以下の大きなメリットが得られます
・柔軟な対応が可能
・開発スピードが速い
ですが、この魔法のような言葉を信じてプロジェクトを開始すると
いずれ大きな壁にぶち当たることになるでしょう
仕様変更ばかりで一向にプロダクトの完成が見えない
初めてプロジェクトを任されたプロダクトオーナーは陥りがちなジレンマ
アジャイルの浄化作用によって軌道修正は行われますが、
果たしてそれに耐えられるだけの納期と工数はあるでしょうか?
ここで本題
本当のアジャイルのメリットとは?
アジャイルを導入することによって得られる本当のメリットは
だと私は思います
要約すると
・柔軟な対応が可能
・開発スピードが速い
なんですけどね(笑)
意味が全く異なりますよね?
ウォーターフォールからアジャイルへ
ウォーターフォールと比較して
アジャイルのメリットをさらに深堀します
ウォーターフォールでは以下の大きなデメリットがあります
・上位設計の仕様変更が入ると莫大な修正コストがかかる
・プロダクトが完成するまで顧客との認識ズレを修正できない
アジャイル導入によってこれらは以下のような改善が望めます
・仕様変更を許容した開発なので、軌道修正が行われても影響度は低
※ただし、仕様変更が起こるたびに手戻るので極力抑える必要がある
・ウォーターフォール型と比べて2~30%ほど手戻りコストが減るそう
※出典は忘れた
・完成した機能を定期的に顧客に見せられるので、認識ズレが少ない
アジャイルの本当のメリット、
なんとなくわかってきたんじゃないでしょうか?
アジャイルは魔法のように何でも短期間で解決することはできないのです
最後に
アジャイルは経験に学ぶ手法ですが、歴史に学ぶことも重要です
徳川家康が中国の古典を参考に天下を統一したように、
人の歴史にも目を向けてプロジェクトのベストプラクティスを探してみましょう!
P.S.
大規模開発でアジャイルを導入する際のベストプラクティスとか興味ある人いるかな?
あんまりアジャイルの需要なさそうだけど、
モチベーション上がったら書きます。