ゴール

アジャイル開発では、臨機応変を大事にしてる。状況に応じた対応、その時点での最適を即座に行う。それはそれで構わないけれど、目的やゴールがないそれは、単なる行き当たりばったりになってしまう。ウォーターフォール、というか、計画重視型の開発の場合、最初に狙いをしっかりと定めて、後はそれに突き進むというやり方だが、それに対して、アジャイルの場合、進みながら狙いを定めるということをする。いずれの場合でも、最終的なゴールが定まってる必要はあるはず。アジャイルだとそのゴールの幅が多少ぶれても平気なように作っていくし、そのための方針があったりしてる。中間成果物を減らそうとかね。
で、XPの話だけれど、ゴールといっても、現場の開発者にとっては中々明確にはならない。プロジェクト関係者全員の合意のとれるゴールだと、どうしても抽象的になってしまうからだ。開発者にとってのゴールを明確にするために、作る範囲を小さく分割して作ることにする。作る範囲を小さくするということは、作る期間も短くするということで、短い期間でのイテレーションを大事にしている。
マネージャにとっての臨機応変は、イテレーション毎に最終的なゴールに向けて方向修正や計画と見積りの見直しをすることで、開発者にとっての臨機応変は、イテレーション内で決められたゴールに向けて設計などを見直したりすることだろう。
今のアジャイル/XPの世界での説明では、そういった立場を分けた対応の話が少ないように思う。正直、開発者だけでアジャイル/XPをやろうと思っても限界はあるし、あんましうまくいかないように思います。
ま、だからこそ、私は管理者みたいな仕事をしてるんですけどね。やっぱり偉くならんと出来ないこともある訳です。室井さんとかマスタング大佐ってほどカッコよくも潔くもないですけど。