なぜAgileは25年前に出現しなかったのか?
Agile2009で参加したDean Leffingwell氏の発表にて、「なぜAgileは25年間に存在しなかったと思う?」という問いかけがあった。自分は「ツールが存在しなかったから」と答えてみたが、実際の所は以下のようなものらしい。
- 大きな二つの理由は「計算機能力の不足」と「言語の特性」。
- 昔はちょっとした量のコードをコンパイル・リンクするだけでも相当な時間がかかった。
- しかも、テストは手動。
- そのJUnitに代表されるユニットテスト自動化と汎用化を実現できたのは、やはりオブジェクト指向技術がきちんと研究された結果であろう。
- こうして、「コードを書く→ビルドする→テストする」という一連の流れにかかる時間・費用が激減した。
- 結果としてリファクタリング・テスト駆動型開発の概念が確立された。
「コードを書く→ビルドする→テストする」工程に多大な時間と費用がかかった時代には、ビルドをする「前に」できる限りの間違いを排除する必要があった。分析設計に工数をかける意味はあったわけだ。