技術の進化がアジャイルを可能にした

「すくすくスクラム」の「振り返り会」*1に参加させていただいて、そこで出た話で、目から鱗が落ちる話があったので共有させてください。

    • -

エンジニアの間では計画ベース……いわゆるウォーターフォールプロセスモデルやその類似系に対する信奉がある。ウォーターフォールプロセスは間違っていたのか?

かつて、プログラマはパンチカードでソフトを入力していた。それからメインフレームの時代。プログラムの開発には現在とは比較にならないほど大変な時間がかかっていた。
プログラムを入力し、実行し、結果を受け取るまで一体どれくらい時間(あるいは日数)がかかっていたか? そもそも開発環境の使用権自体が持ち回りだった。
このように、変更と試行に何日と要する状況では「事前に計画を可能な限り完全に行い、変更をゼロに近づける」計画ベースのプロセスが重要視されるのは必然。

しかし現在はパソコンの存在とマシンの高速化、高級言語の実用化、分散ビルドやスクリプティング技術によって、プログラムの変更と試行は圧倒的に短くなった。
技術革新によって変更コストが圧倒的に安くなったことで、アジャイルのような従来にない開発プロセスが可能になった。逆に従来の計画ベースの開発はその必然性を損ね始めた。

    • -

単にヨソからいただく開発環境の充実だけでなく、TDDとか組込スクリプトとか、変更コストを安くして、変更する勇気を持ちやすくするありとあらゆる取り組みが、アジャイル開発に繋がるんだなと思いました。

*1:飲み会ともいう