上原です。
Kenji Hiranabe <hiranabe@....jp> writes:
> Kent Beck は,大規模開発について,
>
> 「私は100人がゆっくり進むようなプロジェクトには**興味がない**」
>
> という言い方をしていました.工学として許されるのだろうか,と
> も思いましたが,もともとプロセスは万能がないことは明らかなの
> で,あえてスコープを絞っていることは,正直な物言いなのだろ
> う,と考えています.
そうですね。でもその言い方は「100人がゆっくり進むプロジェクト」に参加
している人にとっては残酷ですね。
〜 〜
今年のJavaOneのセッションに以下があったことを思い出しました。
http://servlet.java.sun.com/javaone/conf/sessions/2218/0-sf2001.jsp
Scaling XP to Large Projects for the J2EE
副題が「XP for the rest of us」です(^^。自分はJavaOneには行ったものの、
直接このセッションを見ることができなかったんですが、今スライドを見てみ
ますと興味深いです。演者は、XPのプラクティスを変更した「Modified XP,
MXP」なるものを提唱し、それを使って大規模な銀行系システムを開発したそ
うです。具体的には、
・1800ページ以上の規模のシステムを、
・確立したフレームワークをベース(BST Platform)とし
・チーフエンジニアがテンプレートメソッドパターンを使って各サブシステム
(銀行側、協調処理側、サーバ側)ごとににおける処理の雛型を作り、
・UMLでのデザインには6ヶ月をかけて
作ったとのことです。XPのサブセットを「Essential XP」として
1. Small Releases
2. Simple Design
3. Continuous Integration
4. Automated Testing
5. Refactoring
6. Coding Standards
7. Paired Programming― sometimes
8. Collective Ownership
これらを提唱し、つまり
- Metaphor
- 40-Hour Work Week
- On-Site Customer
- Coding Standards
などを除外し、
pair programmingは「常に」ではなく「ときどき」にし、
結果として
Serious upfront design + Component architecture patterns + MXP
= XP in the large
Essential XP + J2EE technology + Templated patterns
= XP for arbitrarily large projects
だそうです(MXPはModified/Modifiable XPの略ですが意味やEssencial XPとの
違いはわかりません)。そしてXPを大規模システム開発に適用することの利点は
・管理構造がフラット化する
・トレーニングコストを減らせる
‐ But, only 1‐ 2 out of 10 applicants qualify
・ 開発期間短縮
・ より堅牢なソフトウェア
・ 継続的なトレーニング
・ 人月の神話の排斥
だとのことです。
# 本当はこんな説明をするよりもスライドのPDFのURLをお知らせすればすむ話
# なんですが、上のURLにはPDFには「JavaOne参加者だけ」のパスワードがか
# かってます。去年まではこんなことはなかったのにケチ臭くなりました
# Sun
どなたか直接聴講された方はいらっしゃいませんでしょうか?
--
§NTTS○FT 技術開発部エレクトロニックコマース技術センター 上原 潤二 §
PGP Key fingerprint = B7 C0 CB 1F 1C 88 69 2A 25 36 8A EE 93 A3 61 72