Index: [Article Count Order] [Thread]

Date:  Mon, 20 Aug 2001 13:43:40 +0900
From:  Kenji Hiranabe <hiranabe@....jp>
Subject:  [XP-jp:02361] XP 日誌 , 実践レポート公開
To:  extremeprogramming-jp@....jp
Message-Id:  <20010820134340Q.hiranabe@....jp>
X-Mail-Count: 02361

平鍋です.

以前このMLで連載していたXP日誌ですが,実際のプロジェクトの
軌跡を実践レポートとしてまとめました.

まとめが甘くてかなり生データに近いのですが,とりあえず公開す
ることにしました.

    http://ObjectClub.esm.co.jp/eXtremeProgramming/

の What's New 「実践レポート」から辿って下さい.

以下,本文レポート中にもありますが,平鍋が今回の実践で感じた
ことをまとめました.

以上です.
===============
今回のプロジェクトで気付いたことを,ポイント毎にまとめてみます.

■ 知識の伝搬
今回の発見の1番は,ペアプログラミングによる知識の伝搬の速さ
です.ツールにしろプロセスにしろ,今回ははじめての要素だらけ
でした.今までの開発であれば,ツールの利用方法のドキュメント
をまとめたりしていたのですが,実はそんなことは肝要ではなく,
ペアになって作業を通して理解を伝え合う方がよっぽど効率的で
す.

■ プランニング
XPプロジェクトを起動に乗せる上でもっとも重要なのは,イテレー
ションミーティングだと感じました.特に,このミーティングの司
会を首尾よく行うことには,経験とスキルと信頼,が必要です.

また,XPに対する批判として,「スキルの高いチームであることが
必要条件ではないのか」というものがあります.今回は全体的に高
スキルとは言えないチームです.しかし,「予測可能な進捗」(速
い進捗ではない)を得ることができ,見積の精度は非常に高かった
といえます.これは,マネジャにとって低リスクというメリットが
あるでしょう.

■ 先行型設計(up-front desing)と進化型設計(evolutionary design)
データベースとなるクラスの設計を途中で大きく変更しています.
実際,途中で大きなリファクタリングが起こり,そのために一日以
上がつぶされました.もしかしたら,最初にしっかりとモデリング
を行えば,この作業は不要だったかもしれません.ただ,本当にそ
うだったかは,誰にもわかりません.私たちは必要になった時点で
それを行った,ということは言えます.

ただ,あまり頻繁にそれが起こるのは辛いだろう,という印象は持
ちました.

■ マネジャとコーチの役割
マネジャとコーチは,障害物をどけてまわることが一番大事な役割
です.つまづいているペアがいたら,相談にのって,つまづいてい
る小さな石をどけること.これが全体を前にすすめるコツでした.

■ 中心的プログラマ
自然発生的に,リーダーシップをとり,全体にアドバイスを与える
ことができる中心的プログラマが出現しました.彼女は全体のバラ
ンスを見ながら構造に関しての一貫性をシステム全体に浸透させま
した.もしかしたら,XPでアーキテクチャが自然発生するように,
「アーキテクト」という役割も自然発生するのかも,と考えています.

■ JUnit
JUnit によるユニットテストは非常にうまく機能しました.最後ま
でModelのユニットテストは 100% をキープしました.ただ,
Servlet/JSP のよいユニットテストの方法を発見できませんでし
た.Servlt/JSP からはできる限りロジックをModel のコードに追
い出す,という戦略を取りました.

■ Ant/CVS
この組合せでの構成管理は,大成功と言えるでしょう.第1イテレー
ションで全員が使い方をマスターしたことは,ペアプログラミング
の効用でもあります.

■ テストファースト
残念ながら,あまり浸透しなかったようです.アイディアは前もっ
て布教したのですが,やはり,製品コードを先に書き,テストす
る,という方が「楽」に感じたようです.先にテストを書く,とい
うのには,面倒な印象があり,結果としては定着しませんでした.

■ 新人育成の場としてのXP
今回は,このプロジェクトには新入社員のOJTの場としての役割も
ありました.私自身は,今回の結果に非常に満足しています.新人
が,仕事のやり方,言語,ツール,進捗報告,などソフトウェア開
発に一通り必要な能力を,複数の人とのコミュニケーションの中で
獲得することができたからです.彼女は常にタスクをコミットして
いましたし,通常のOJTにありがちな,「放っておかれる」という
状況がありませんでした.

■ 温室プロジェクト
今回のプロジェクトは,契約,予算,納期,実際の顧客などという
実プロジェクトではクリティカルな要素がほとんどない,ある意味
で温室プロジェクトであることは告白しておくべきでしょう.全体
が和気合い合いとした雰囲気の中でできたことは,XPという手法
以上に,このことが大きいと感じています.

--
 (株)永和システムマネジメント   □http://www.esm.co.jp/
 情報テクノロジセクション       □mailto:hiranabe@....jp
                                □tel: 0776-25-8494
 平鍋  健児 (Kenji Hiranabe)    □fax: 0776-25-8499