« DB設計を理解するのに最低限の知識 | トップページ | オブジェクト指向は「進歩」なのか »

2006年8月20日 (日)

ウォーターフォールとXP

ウォーターフォール型のソフトウエア開発プロセス-最初に、ソフトウエア設計のすべてをドキュメントに記した後、コーディング・テストへと進む-と、エクストリーム・プログラミング(XP)の開発プロセス-要件(ストーリー)ごとに、テスト・コーディングを繰り返す-は、ある意味、両極端な開発プロセスの「モデル」だと思います。

おおまかにいって、ウォーターフォール型の開発プロセスというのは、管理者(マネージャ)側からみた場合の、ソフトウエア開発の「あるべき姿」であり、一方で、XPというのは、制作現場(プログラマ)側からみた場合の、「あるべき姿」という風に思います。

「モデル」というものの果たす役割-わかりやすく説明するための抽象化-を考えると、両者とも十分にその役割を果たしています。「非現実的である」という批判は、どちらの開発プロセスに対してもありそうですが、それは「モデル」というものはそういうものであり、現実にそのとおり実行すれば良い、ということを意味する訳ではないと思います。

現実の開発プロセスは、この両極を折衷したところにあると考えるのが妥当ではないでしょうか。そのバランス-ウォーターフォールに寄るかXPに寄るか-は、プロジェクトの置かれた状況によって、決まってくるのだと思います。

---

Waterfall model (Wikipedia)
ウォーターフォール型開発プロセスについて、詳しく解説した本というのは、寡聞にして知らないのですが、このWikipediaのエントリは、歴史的経緯を含め、よく解説されていると思います。

Extreme programming (Wikipedia)
同じく、エクストリーム・プログラミングのWikipediaエントリです。

---

XPエクストリーム・プログラミング入門―変化を受け入れる Book XPエクストリーム・プログラミング入門―変化を受け入れる

著者:ケント ベック
販売元:ピアソンエデュケーション
Amazon.co.jpで詳細を確認する

XPの提唱者である、Kent Beckによる入門書ですね。

---

エクストリームプログラミングの名のもとに集められたアイデアの中には、素晴らしいものがたくさんあり、それほど大したことがないものがいくつかあり、そして非常に危険なアイデアが1つある。その危険なアイデアとは、計画やデザインは時間の無駄、というものだ。

Joel on Software p.267

|

« DB設計を理解するのに最低限の知識 | トップページ | オブジェクト指向は「進歩」なのか »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« DB設計を理解するのに最低限の知識 | トップページ | オブジェクト指向は「進歩」なのか »