継続的インテグレーション(CI)、テスト駆動開発(TDD)だとか導入したら、
開発時の問題が解決するわけじゃない。
基盤ができて、スタート地点に立てるようになるだけ。
あとよく話題にあがるイテレーション開発も、
やっただけですべてが解決するものではない。
あくまで一つの選択肢。
『イテレーションでやれば、全て解決だ!』って、実際に実行して、
それぞれの規模の現場でよかったって言える人ってどれだけいるんだろう?
経験的なところでいうと
想像だけだと、皆いいイメージを持ちやすい。
今までが悪かったら、違う方法やものに夢を持ちやすいということは、
否定ができないことだと思います。
実は今までのやり方で他の部分に致命的な問題があって改善しなければならないという
ことを見過ごして。
一度選択したら、それをやり続けて、結果を出さなければならないという
困難が伴うのだということを忘れてしまう。
いいこと。悪い事。どちらかの面しか目に入らなくなってしまうものだってことを
自覚しなければ駄目なのかもしれない。
こんなこといいながら、私は、CI,TDD,イテレーション開発は、
非常にいいものだと思っています。
でも、あくまでどう使うか。
そしてあくまでゴールを目指すための一連のプロセスのほんの一部を
改善するためのものでしかない。
ひょっとして、他に本当のレバレッジポイントがあるかもしれない。
でも、まず手がけるべきものだと思います。
これらは開発者が持つべき習慣と密接に絡んでいたりします。
個人レベルでマインドを理解して習慣化できれば、
後で、他のところに時間と資金を投資する余裕ができる可能性がある。
先行投資として、少し余裕がある間にこれらを手がけることは、
後ほどになって継続的に効果を生み出します。
又、人に定着したこれらのマインドや習慣は、他の人にも伝染する。
そして、開発者を育てるための一つのいいテキストにもなり、経験になる。
手法は大事だけど、最後の少しの差を生み出すのは人じゃないかと思っています。