Index: [Article Count Order] [Thread]

Date:  Sat, 11 Mar 2000 14:21:42 +0900
From:  Kaoru Hosokawa <khosokawa@....com>
Subject:  [XP-jp:00036] XP Chapter 1 Risk: The Basic Problem 	の解説
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <B4F006C9.755%khosokawa@....com>
Posted:  Sat, 11 Mar 2000 14:20:57 +0900
X-Mail-Count: 00036

ホソカワです。第一章ですが、ちょっと長いです!!

Chapter 1 Risk: The Basic Problem
==============================

ソフトウェア開発の基本的な問題は失敗する危険性(risk)があると言う事です。例
えば、このようなリスクがあります。

・スケジュールの遅延ー納期日にユーザーに「後、6ヶ月かかります。」と伝えるこ
と。

・プロジェクトの中止ースケジュールの遅延が重なり、製品が出荷出来ないこと。

・システムの腐食ー出荷したが、数年後には変更のコストや障害率が高すぎて、捨て
ざる得なくなること。

・障害率ー出荷したが、バグが多すぎて使われなくなること。

・ビジネスの勘違いー出荷したが、もともと解決しようとしていた問題を解決してい
ないこと。

・ビジネスの変化ー出荷したが、解決しようとしていた問題が6ヶ月前に違うもっと
緊急な問題に変わっていたこと。

・多数の的はずれな機能ーもしかすると使ってもらえる機能、もちろん作るのは楽し
かった機能が、ユーザーにとっては無益だったこと。

・スタッフの転職率ー2年後、有能なプログラマたちがシステムに嫌気がさし、転職
すること。

XPは、こう言ったリスクを以下のように対処しています。

・スケジュールの遅延ーXPのリリースサイクルは短いので(長くても数カ月なので)
遅れの影響度は限定されています。また、XPでは重要度の高い機能から着手するので、
スケジュールに間に合わない機能は(必然的に)重要度の低い機能になります。

・プロジェクトの中止ーXPは、ユーザーにもっとも有益で、かつ細小構成のリリース
を選んでもらいます。構成が細小なので出荷前に間違いが起きる可能性が減りますし、
もっとも有益なものを選んでいるので、システムの価値は最大です。

・システムの腐食ー一定レベルの品質を確保するために変更がある度に包括的なテス
トを行います。常にソフトウェアは最良の状態に保たれています。cruft [私の辞書
に載っていませんでした。]は、たまりません。

・障害率ーソフトウェアはプログラマの観点(関数単位のテスト)とユーザーの観点
(機能単位のテスト)からテストされています。[ので、障害率を押さえることがで
きます。]

・ビジネスの勘違いーユーザーは開発チームの一員です。プロジェクトの仕様は頻繁
に更新されているので、ユーザーと開発チームの学んだことはすぐに仕様に反映され
ます。

・ビジネスの変化ーXPは、短いリリースサイクルで開発を行っているので仕様変更が
あまり起きません。[開発期間が短いので変更を行う前にリリースが完成してしまう
ということ。] また、開発途中にユーザーは新しい機能をまだ実装されていない機能
と*置き換える*ことができます。

・多数の的はずれな機能ーXPでは、重要度の高い機能のみ扱います。

・スタッフの転職率ープログラマに、作業の見積もりと遂行に責任を持ってもらいま
す。見積もりの変更を行えるのはプログラマです。[チームリーダーでもマネージャー
でもありません。]ですから、無謀なスケジュールを押し付けられて、失望する可能
性が減ります。新しいメンバーは徐々に責任を増やされていき、他のメンバーの支援
を受けるような仕組みを取り入れています。


[コメント:
「スケジュールの遅延」で書きませんでしたが、大事だと思いますのでここで紹介し
ます。

製品開発はリリースの集まりです。
1リリースは1から4週間の(開発の)反復(iteration)の集まりです。
一つの反復は、1から3日のタスクの集まりです。

細かく作業を切ることによって(小さい)問題が解決されていき、進捗状況も把握し
やすいのがXPのメリットですね。

「ビジネスの変化」で、ユーザーが新機能を「置き換える」ことがミソですね。ただ、
現実は「追加」が多いですよね。
]

----
タイトル (ページ数)担当者

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)
    Chapter 7   Four Values (8)
    Chapter 8   Basic Principles (6)
    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