Hatena::ブログ(Diary)

yvsu pron. yas このページをアンテナに追加 RSSフィード

2008-02-26

アジャイルなフレームワーク開発

継続的リリースは、さらなるアジャイルさを与えてくれるか?

InfoQ: 継続的リリースは、さらなるアジャイルさを与えてくれるか?

早く頻繁なリリースにはメリットデメリットもあります。

メリット

デメリット

私は、もちろん、早く頻繁なリリースは必要だと思う派です。

私の根本には常にXPの教えがあります。

この辺が、私が、いつも心がけていることです。実際のプラクティスがどうのというより、スピリッツを理解していればいいと思っています。

私がかかわった幾つかのフレームワークの開発にとって、もっとチャレンジングだったのは、YAGNIの考えだと思います。

一般的にフレームワークは、「みんながこんなことを必要とするだろう」という予測をもとに作られるものだからです。

まったく予測ゼロでは、フレームワークは作れないので、「自分の経験上、最低これくらいは必要だよね」というミニマムレベルで、フレームワークを公開し、後は素早いフィードバックにもとづいて開発していくのです。

その典型的な例が、S2Daoでしょうね。バージョンが47まであがるなんて、そうはないことです。「最初に良く考えていないからむやみにバージョンが上がったんだろう」という人もいました。「最初から良く考えても正解はわからないから必要最小限で実装し、わかってくるにつれて実装範囲を広げていった」というのが、実際のところですね。

後1つ、いっておきたいことがあります。「軸がぶれない」って重要なことだと思うでしょ。でもね。危険なことでもあるんです。予想できない未来に対する方針を決めて、それを変えないって意味だから。

ある時点で、未来を予想し方針を立てたとします。もちろんその方針を立てた根拠はあるはずです。それから時間が過ぎたある時点で、根拠が間違っていると思ったら、素直に間違いを認めて、方針を変えたほうがいい。

根拠も無しに方針を変えるのは、失敗する典型だと思いますが、状況の変化に対応して、方針を変えるのは間違ったことではないと思っています。

私はマーケットを良く観察し、必要だと思ったら方針を変えます。それが、現場の人のためになると信じているからです。