Index: [Article Count Order] [Thread]

Date:  Tue, 4 Jul 2000 01:09:45 +0900
From:  Yutaka Kamite <y-kamite@....jp>
Subject:  [XP-jp:00578] XP Chapter22 Roles for People の解説
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <3960BA211D7.54A9Y-KAMITE@....jp>
Posted:  Tue, 04 Jul 2000 01:06:57 +0900
X-Mail-Count: 00578

上手@データ通信システムです。
第22章 の要約です。
コメントお願いいたします。
意訳してあります。
/* 内容的には、あまり新味はありません。この章は冗長です。
   ちょっとラフなので、指摘いただければ詳しくします。
   ホソカワさんに背中(お尻?)を押されたので、押す側に回りました
 */
-----------------------------
XP Chapter22
Roles for People
人々の役割

重要な警告がある。以下は以前のプロジェクトではうまく機能した役割だ。もし
役割に合わない人がいたら、役割(自身)を変えること。人を替えてはいけない
(もちろんそんなに沢山は)。問題が無いように振る舞ってもいけない。

過去どんなにうまく割り当てが機能していたとしても、もしトラブルが起きたな
ら、(プログラマと顧客のような)重複ロールは問題の原因となりやすいことを
コーチは気づいていないといけない。

<プログラマ>
XPプログラマは他のプログラマと表面的には同じに見えるが、実際は全く違う。

・知識の共有
プログラムが動いたらテストを書く
ペアプログラミング

・単純性の習慣
デザインパターンに熟達していても駄目、ツールをいっぱい持っていても駄目。

・技術的なスキル
リファクタリング
単体テスト

・ソースの共同所有権

・自分の怖れを認識すること
誰もが怖れる
 ごみの山を見ること
 全く役に立たないもの
 陳腐化すること
 十分良くはない
勇気なしにはXPは機能しない。失敗しないことに時間を使うのではなく、チーム
の助けを受けて怖れを認識する。素晴らしいソフトウェアを書くことに喜びを見
出すチームに属し、ビジネスとうまくやっていこう。
#この辺りがXPの良いところですね!

<顧客>
プロジェクトに影響する、しかしコントロールはできない

意志決定をする
#冗長ですが、面白かったので。
顧客は、約束したことの半分しか納入されず、納入された残りも半分は駄目とい
うITに慣れていた。どっちにしろ失望するんだから、ITに一インチも譲らないよ
うになった。XPはこういう顧客にはうまく機能しない。

ストーリーを書く
最初は難しく感じるが、ちょっと書いてみればチームがフィードバックをくれる
ので、何をストーリーに含め、何を除くかすぐ判るようになる。

機能テストを書く
ゴールはこう言えるテストを書くこと。「これが走れば、システムは走ると思う
よ」

勇気を示す

<テスター>
顧客が機能テストを書くのを助ける
機能テストが統合スーツにはいっておらず自動化されていなければ、定期的に走
らせ、結果をしかるべき場所にポストする。
XPのテスターはシステムをブレイクさせ、プログラマに恥をかかせるための専門
の、別の人ではない。しかし、誰かが全てのテストを定期的に走らせ、結果を皆
に伝え、テストツールがうまく動くようにしなければならない。

<トラッカー>
トラッカーはチームの良心である。
見積もりのフィードバックのループを閉じる。例えばこう言う。
「前回の見積もりの2/3は、最低50%高すぎた」
「君のタスク見積もりは高すぎるか低すぎるかのどちらかだ」
全体的な進捗も監視していて、チームに報告する必要がある。
チームの歴史家でもある。
・機能テストのスコアのログ
・報告された欠陥について
   ログ
   誰が欠陥に対する責任を了承したか
   各欠陥に対してどのテストケースが追加されたか

必要とされるスキルは、全プロセスを必要以上に妨げず、必要とする情報を収集
する能力だ。


<コーチ>
プロセス全般に責任を持つ。
最も難しいのは、間接的に働くことが、一番効果があるということ。直接指示を
出さず、自分で解決するように持っていく。
コーチに必要なスキル
・シンプルデザイン
・リファクタリング
・テスト
しかし、チームがこの能力を持っているなら、必ずしも必要ではない。
また、チームが成熟するに連れ、コーチの役割は小さくなる。

<コンサルタント>
XPではペアプログラミングにより、一人か二人しかシステムを理解していないと
いうブラックホールが発生する機会はまず無い。
しかしこれは同時に弱点でもあり、時としてチームが深い技術的知識を必要とす
ることもある。
この時がコンサルタントの出番だ。
彼らに問題の解き方を教え、実際に解いてみる。
しかし、問題が解けると、彼らは教えを放り投げてしまうが。

<ビッグボス>
チームがあなたに求めているもの。
・勇気
・自信
・「やると言ったことしか出来ないんだ」と時々主張すること
#やると言わないことは出来ない、という意味か?

彼らのすることを見ていて、何かおかしいことがあれば質問する。答がおかしけ
れば、止めさせる。必要な時に的確に動き、必要でない時は口を出さない。

(以上)