佃です。
上手さんのコメントを反映し、24章を修正しました。
どっちのプロセスからどっちのプロセスに変更して問題が生じたか
については、上手さんと意見が分かれたまま、解決していません。
(xp-jp:00357)
----------------------------------------------------
Chapter 24 What Makes XP Hard
<私の思い込みによるまとめ>
XPの適用を難しくしている要因を感情とプロセスの2つの側面
から説明している。
・ 感情
人に聞けない(技術者として誇りが高い、知らないことがあること
は恥)、人と協調しない(自分の技術力をアピールしたい)、難し
いことをやりたい(これも自分の技術力をアピール)
・プロセス
軌道修正の方法(driving project)が企業文化に受け入れない。
つまり、XPを成功させるためには、これらの問題に対処しなけ
ればならない。
感情面では、「みんなと協調し、協力すれば、生産性が高くなる
こと、プロジェクトが成功すれば個人の評価も上がること、個人の
技術力をいくらアピールしてもプロジェクトが失敗すればその個人
の技術は生かされてなく個人は評価されないこと、を十分に理解し
てもらう。」ということが重要になるでしょう。
プロセス面では、軌道修正プロセスをいかに上司、幹部に理解し
てもらうかが重要でしょう。
感情面においては、アメリカよりも日本の方が障壁は少ないので
はないだろうか?日本ではアメリカほど個人が自分の技術力をアピ
ールせず、組織として成果を上げようとするので。
<タイトル直下の要約部分の全訳>
個々のプラクティスはブルーカラーのプログラマでも実行できる
が、すべてを一緒に利用し、その状態を保つことは難しい。XPを
難しくしているものは、主に感情、特に不安である。
<本文の抄訳>
XPのプラクティスは単純である。XPプロジェクトで貢献する
ために博士号を取得する必要はない。しかしそれを一緒にバランス
よく用いることは難しい。プラクティスはお互いにサポートしてい
る(p70の図4に関連図あり)が 、バランスを失わせる多くの
要因(問題、不安、イベント、間違い)がある。
必要以上に恐れないで欲しい。XPを実践した多くのグループが
ある。
XPを難しくする多くの要因は以下のようなものである。
物事を単純にすることは難しい。誰かが何かを複雑にすることに
感心するのではなく、複雑さに満足しないで、より単純になること
を想像できなくなるまで作業を休まないようにすることを学習しな
ければならない。
知らないことを認めるのは難しい。しかし、開発を迅速に進める
ためには、顧客にもっとも基本的なコンセプトを聞き、パートナー
に学校で習わなかった、または忘れた技術を聞く必要がある。
協調することは難しい。学校教育や会社では個人で考えることを
奨励している。しかしXPではお互いにインタラクトし、新しいス
キルを学ばなければならない。
感情的な壁を取り除くことは難しい。XPのスムーズな運用は、
感情のスムーズな表現に依存する。
XPは多くのバリエーションを許容できるが、小さな変更が大きく
影響する場合もある。
例えば、
1.タスクの割り当て
2.担当者によるタスクの評価
3.誰かの負荷が高ければ再調整
というプロセスを、
1.タスクの評価
2.タスクの割り当て
に変更した場合を考える。
変更後のプロセスで開発を行うと、各担当者はイテレーション開
発の最初の1,2日に、どうやって期間内に開発すればよいのかを
検討するという無駄な作業をしなければならない。これはプログラ
マにとって最も生産性の高い状態ではない。
プロセスの小さな問題が大きな影響を持つことがあることを述べ
たが、XPを我々が言うように正確に用いるべきである、というこ
とを意味しているのではない。あなたたち独自のプロセスについて
は、あなたが責任(問題があったら、それに気付き、修正する責
任)を受け入れるべきである。しかしこれがXPを難しくしてい
る。
一度にちょっとだけハンドルを操作(軌道修正)することでプロ
ジェクトを運営すること(driving project)は、多くの組織で一
般に行われている「car-pointing」(最初に決めた通りに実施)の
比喩に反する。XPを難しくする最後の要因は、多くの企業文化が
ハンドル操作(軌道修正)を受け入れないことである。会社があな
たに、あなた自身が選択したプロセスに反するようなことを求めた
とき、あなたには勇気が必要になるでしょう。
--
Gunji Tsukuda (tsukuda@....jp)
Systems Development Laboratory, Hitachi, Ltd.