XP のページ
(01/03/12更新)

XP-jp MLのアーカイブ他、 XPの総合情報窓口

(株)永和システムマネジメント オブジェクトクラブ
http://objectclub.esm.co.jp/eXtremeProgramming/


XP-ECの訳者の会社
(株)テクノロジック・アーツ
http://www.tech-arts.co.jp/


私はXPを通じて Smalltalk の素晴らしさを知った。一方、「遅れて来た者」として、他業界を知っているものからソフト業界を見ると、その開発の余りの非効率性、長時間労働に代表されるプログラマの劣悪な労働環境はただ驚くばかりであった。その中で必然的に、開発プロセスの合理化・標準化の必要性を痛感し、他に選択肢の無い必要悪として、CMMの導入を推進しようと考えていた。
しかし、CMMは、組織の官僚化を招くのは必至で、Smalltalk や XPのような、プログラマ重視の考え方とは矛盾するのではないか?
この、XP と CMM の折り合いをつけることが、XPを知った2000年の春からの長い間の悩みだった。

しかし、ファウラーの 論文 「新しいソフトウェア開発手法」 を見て、その悩みは氷解した。まさに、「眼から鱗」状態だった。
Smalltalkで育ち、今(、Smalltalkを捨てて)Javaで仕事をし、アナリシスパターンなどモデリングにも造詣が深い。幅広い知識、とらわれない視点を持つファウラーだからこそ、こういう論文が書けるのだろう。率直にいって、Kent Beck は 「根っからの Smalltalker 」 だ。

この論文は私にとって、ソフトウェアの開発方法論を調べだしてから得た、最も重要なものだと思う。

http://www.martinfowler.com/articles/newMethodology.html
http://www03.u-page.so-net.ne.jp/dc4/tnaka/fowler/newMethodology_j.html(中島卓さんの日本語訳)
http://www03.u-page.so-net.ne.jp/dc4/tnaka/fowler/index.html(中島卓さんのファウラーのページ)


この中には、

Cockburn の Crystal Family
オープンソース
SCRUM
Coadのフィーチャー指向開発(FDD)

などの軽量開発手法が紹介され、結論はこうなっている。

----------------------------
まとめると、以下の要因がある時は適応的手法がお勧め。 

不確実で流動的な手法 
責任が持ててやる気のある開発者 
話がわかってて一緒にやってくれる顧客 

逆に、こういう要因があったら予見的手法がいい。 

50人以上のチーム 
固定料金の契約(正確に言うと範囲が固定された契約) 
----------------------------

XPは「人を一番前に置く」適応的開発手法の一つであり、「開発手法ゼロから、重量級の手法へ、そして”ライトな”手法へ」の流れの一つであると解釈されている。
CMMは、この重量級の手法、であるかのように見える。しかし、よくよく考えて見ると、CMMの本質は「大規模開発には管理システムが必要だ」といっているのに過ぎない。CMMはモデルだから、細目は我々がカスタマイズすればいい。
自分がいやだな〜と思っていた「古〜い、ホスト系の開発標準」はCMMの本質ではない。そういう先入観を持っていただけだ。
全社的な管理の枠組みはCMMで決めて、プロジェクトレベルの開発手法は、適応的開発手法でやればいいじゃないか!
ま、ちゃんとしたプログラマは よりPragramatic に! そうでない方は それなりに・・・
こう思ったら、とても気分が楽になった。「XPなどの適応的手法」と組織論としてのCMMを両立させることに問題は無い。

#ちなみに河合さんに言わせると、XP の Embrace Change とは 老子の 「万物は流転する」 だそうだ。 

#00/9/13日に感じた感想を、01/03/12にまとめた

(以上)