ホソカワです。
Chapter 2 A Development Episode
==============================
この章では、開発エピソードを紹介します。「プログラマーがタスクを実装して、シ
ステムに統合する。」と言う話です。
積み重ねたタスクカードの一番上のカードには、「今四半期源泉課税を公開する。
(Export Quarter-to-date Withholding.)」と書いてある。[Export Quarter ...
の訳には全然自信がありません。]君が今朝の立ち会議(stand-up meeting)で、今
四半期計算を終えている事を思い出した。君に助けを求めると「いいよ。」と言う。
これで、二人は、ペアプログラミングパートナーになった。
私達は、君が昨日行った作業について復習した。君が「このタスクのテストケースは
どんなの?」と聞いたので、「公開ステーションを実行すると公開レコードの値と入
れ物(bins)の中の値が合わなくてはならない。」と答えた。どのフィールドの値を
埋めなくてはならないのかわからず、Eddieに聞くことにした。Eddieは、5つのフィー
ルドについて教えてくれた。
私達は、現在のテストケースから使えそうなものを見つけ、スーパークラスを作成し、
refactoringを行い、現在のテストケースを流した。全てテストは通った。さらに、
今作ったスーパークラスが他のテストケースでも使えることに注目し、タスクの結果
を見たかったので、to-do カードに「AbstractExportTestを改良」とメモを残した。
テストケースは、スーパークラスのおかげで、簡単に作ることができた。テストケー
スを作っている最中にタスクの実装アイディアが浮かんだのでto-do カードに書き込
んだ。テストケースを流したが、タスクの実装をまだしていないので、もちろん通ら
ない。[ここで、Ralphと書いたテストケースの話題になりますが、何を言いたいのか
よくわかりませんでした。(次の文章に繋がらなかった。)]
デバッガを立ち上げ、関係するオブジェクトを解析し、コーティングをする。コーディ
ング中、さらにテストケースが浮かび上がったのでto-do カードに追加した。実装後、
テストが通るようになった。次々とテストケースをこなしていった。その後、to-do
カードには、「その他のテストケースの改良」しか残っていなかったので、改良を行
い、テストが通ることを確認した。
インテグレーション用マシンが空いていたので私達の変更を加えてテストを行ったが、
テストは通らなかったがテストをデバッグし、コードを修正した。今度はテストが通
り、私達のコードをリリースした。
XPの開発サイクルで注目すべき点は、
・二人組でプログラムを書く(pair prgramming)
・テスト主導で開発する。テストを書いてからコードを書く。テストが通り、これ以
上テストを考え付かない時、完了する。
・テストを通すことだけが目的ではなく、システムの設計も進化させていく。
・インテグレーションとインテグレーションテストはコーディング完了後、ただちに
行う。
[コメント:
to-doカードが頻繁に使われていますね。私は、ポストイットですけど。(ゴミコメ
ントです。)
]
---
タイトル (ページ数)担当者
Foreword (2) パス!
Preface (8) ホソカワ
Section 1 The Problem
Chapter 1 Risk: The Basic Problem (4) ホソカワ
Chapter 2 A Development Episode (4) ホソカワ
Chapter 3 Economics of Software Development (4) ホソカワ
Chapter 4 Four Variables (6)
Chapter 5 Cost of Change (6)
Chapter 6 Learning to Drive (2) 矢崎 ← New!
Chapter 7 Four Values (8) 矢崎 ← New!
Chapter 8 Basic Principles (6) 矢崎 ← New!
Chapter 9 Back to Basics (8) 矢崎
Section 2 The Solution
Chapter 10 Quick Overview (10)
Chapter 11 How Could This Work? (8)
Chapter 12 Management Strategy (6)
Chapter 13 Facilities Strategy (4)
Chapter 14 Splitting Business and Technical Responsibility (4)
Chapter 15 Planning Game (12)
Chapter 16 Development Strategy (6)
Chapter 17 Design Strategy (12)
Chapter 18 Testing Strategy (6)
Section 3 Implementing XP
Chapter 19 Adopting XP (2)
Chapter 20 Retrofitting XP (6)
Chapter 21 Lifecycle of an Ideal XP Project (8)
Chapter 22 Roles for People (10)
Chapter 23 20-80 Rule (2)
Chapter 24 What Makes XP Hard (4)
Chapter 25 When You Shouldn't Try XP (4)
Chapter 26 XP at Work (6)
Chapter 27 Conclusion (2)
--
Kaoru Hosokawa
khosokawa@....com