メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.381) XP4 短期リリース  2003/09/01


/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第381回 XP4 短期リリース
 発行    2003年9月1日(月曜日)
 発行数   約3200

{magclick}
{magclick}
/*========================================================*/
 はじめに ( 決り文句 )
/*========================================================*/
・このメールマガジンはまぐまぐさんから発行しています。
・ジャンルは、マルチメディアのプログラム、C言語です。
・このメールマガジンは、横60文字で作成しています。
 また、インデントはすべて半角スペース4つで構成しています。
・ここで扱うプログラムは、C言語と半光年以内のものです。
・登録解除は、まぐまぐさんのホームページでお願いします。
・まぐまぐさんのバックナンバー(下欄参照)を活用して下さい。
・ここは私の復習の場です。内容は約1ヶ月内外に私が勉強した
 内容になっています。最新の技術があれば、へたれもあります。
・わかりやすさを優先させる為、たまに嘘があるかもしれません。

/*========================================================*/
 ご挨拶
/*========================================================*/

 こんにちは。あゆしゃです。

 しまった、ヴィオをやっていました。

 このままでは私は、試験に落ちてしまいます。

 社内試験なのでうかっても、とくになにというものでもない
のですが、

 落ちると追試を受けねばなりません。それだけは回避しなければ
なりません。

 そこで私は自分ルールを1つ決めました。

 ヴィオ禁止!

{magclick}
/*========================================================*/
 今回のお題  << XP4 短期リリース >>
/*========================================================*/

 12回分の連載の内容です。

 1 XPって何?
 2 ペアプログラミング
 3 テスト駆動開発
 4 短期リリース
 5 ユーザテスト
 6 全員同席
 7 最適ペース
 8 コード共同所有
 9 常時結合
10 リファクタリング
11 シンプル設計
12 計画ゲーム

 さて、今回は4番ですね。

/*========================================================*/
 4 短期リリース
/*========================================================*/

 人生、何が起きるか分かりません。

 だから生命保険やらなんやらに入りましょう。

 自動車保険には2年連続お世話になったあゆしゃです。

 保険料が10万を超えましたが。

 それはともかく、保険に入るのは、ソフトウェアも同じこと
です。

/*========================================================*/

 リリース後にバグが発覚したとしましょう。

 しかもこちらはそれに気がついて、納品先にはまだばれていない
としましょう。

 まぁ、大抵見て見ぬ振りですわねぇ。

 何か言われたら、対処もするでしょうが、何も言われていない
うちは、こちらからわざわざちょっかいを出すようなことは、
あまりしません。

 マイクロソフトがそうですが、どこでもそうです。やるだけ、
信頼が落ちるだけですから、ユーザに発覚する前に新しい
ヴァージョンを出すのです。

 ついでにこっそりバグも直す、という感じ。

/*========================================================*/

 ウィンドウズのようなパッケージソフトはそれでいいでしょうが
企業に納品するようなソフトの場合、そうもいってられません。

 この場合、(言われたら)バグを修正します。もちろん修正費用
はただです。

 ただといっても、バグ修正といった保守費用はあらかじめ開発費
という名目でいただいちゃっていたりしますので、まったく損とい
うわけでもないのですけどね。

 しかしそれだけ儲けがすくなくなるのは事実です。ユーザとして
使い物にならないものはいらないというのは当然として、開発側と
しても、なるべく平謝りでリリースしなおすというのは、避けたい
ところです。

/*========================================================*/

 そこで、短期リリースというわけです。

 人生七転び八起き、ソフト七バグ八納入、というかどうかどうか
はわかりませんが、つまり、ソフトになるべく場数を踏ませておこ
う、という考え方です。

 そうすれば、きっと最初のリリースはごたごたするでしょうが、
それは計算の範囲内として、最後のリリースには問題なくことが
終了するでしょう、という夢です。

 リリースを重ねる(繰り返すのではない)うちに、ソフトが、
なんか、こう、固まってくるような、そんな気がします。

 大丈夫ですよと、胸を張って納品できるようになります。

/*========================================================*/

 しかしこれが、たとえ複数回リリースするとしても、

「今回リリースするバージョンは実際にお客さんのところで動作
 しなければならない。よって失敗は許されないから、テストは
 念入りに行うように。」

 なんてことになると、プレッシャーはどうでもよいのですが、
失敗がないわけないでしょう。

 テストと実装は違うもの、だからです。

/*========================================================*/

 バグは、いろいろなものがありますが、もっとも深刻なバグは

「仕様書が間違っている」

 というものです。

 当然テストも、テスト駆動開発を前提としなくとも、仕様書通り
に動作することを確認するのですから、仕様書が正しいかどうか
というテストなど行いません。

 ところがリリースを行うと、実際にユーザが使い、そこでバグが
発生します。

「こういうときに、こう動いてくれなければ困るのに動かないぞ」

 作っている側としては、仕様書にそのような動作を記述しない
限り、ソフトが正しくできていれば、そのように動作しません。

 そういうものだから仕方がないといって、ユーザにそのように
使っていただくということもありますが、使い物にならないほど
根本的な間違い、または勘違いは、直さざるを得ません。

 根本的な間違いはともかく、勘違いというのは、仕様書を作成
した人が、ユーザがそのソフトを使用する方法を勘違いしていた、
もしくは気にしていなかったということです。

/*========================================================*/

 短期リリースは、開発期間を何分割かに分けて、そのたびに
リリースを行います。

 短期というのがどれほど短期であるかというと、1〜3週間
という期間です。このたびにリリースを行うようにするという
ことです。

 開発期間の長い、たとえば1年続くものであっても、3週間
というのが最大としておくべきです。

/*========================================================*/

 ウィンドウズでもベータ版を配布して、ユーザから意見をかき
集めますよね。

 私も2年ほど前、C#のベータ版でいろいろ遊んだものです。

 短期リリースもこれと同じ目的です。つまり、ユーザからの
フィードバックを得ることを目的としています。

 フィードバックを受けたら、それを反映したものをまたユーザ
にフィードバックしなおす必要があります。だから、たとえ
開発期間が長くとも、ユーザがフィードバックを忘れないうちに
次のリリースを持ち込むのです。

 開発を推し進めていくことが短期リリースの目的ではありま
せん。逆に、開発を推し進めないことが重要です。ちょっとまてよ
それでいいのか、あぁそうなのか、という確認を丁寧に行います。

/*========================================================*/

 短期リリースを行うには、1つだけ問題があります。重要な、
問題です。

 ユーザの協力が、絶対条件です。これがないと短期リリースは
成立しません。

 ユーザの都合などお構いなしに一方的にリリースを繰り返すの
では、意味がありません。

 言い方が悪いですが、ユーザをデバッグツールとして使いこなす
必要があります。

 興味本位で積極的にテストを行ってくれるのですから、すばら
しいツールです!

 まぁ、ユーザとしても、どっとシステムを渡されるより、段階を
経てシステムを使いこなせるようになっていったほうが、楽で
しょう。

/*========================================================*/

 短期リリースに似たものとして、プロトタイプがあります。

 意見を求めて開発を軌道修正するという考え方が似ています。

/*========================================================*/

 さて、実際に短期リリースを行う場合、ルールが1つあります。

 それは、決めてしまった期間を変えない、つまりリリース日を
変更しないということです。

 ドラクエのようにリリース日をころころ変えられるというわけ
にはいきません。ユーザとの、企業間の連係プレイーだからです。
よって、短期リリースのリリース日は絶対に変えません。

 間に合わなかったとしても変えません。素直に謝りましょう。

/*========================================================*/

 もしも開発が遅れて機能が間に合わない場合はどうするので
しょうか。

 そのような機能は、捨てます。

 もしも機能が足りなくて使い物にならない場合はどうするので
しょうか。

 そのようなソフトは、捨てます。

 もしもリリースに連続で失敗してプロジェクトがにっちもさっち
もいかなくなった場合は、どうするのでしょうか。

 そのようなソフトハウスは、捨てます。

 そのソフトハウスがバグなのでしょう。取り返しのつく早期の
段階でバグを解消できて、ユーザとしてはラッキーと考えるべき
です。

 ソフトハウスとしては、社内またはユーザ側から大御所を呼んで
救済していただき九死に一生を得る、という感じでしょうね。

/*========================================================*/

 リリースは開発者がユーザの評価を受ける恐怖の裁判です。

 それが何度もおとづれるのですよぉ。怖いですねぇ。

 恐ろしいですねぇ。

 つまり、電車のホームのように、危険なほうが安全なのです。

/*========================================================*/
 さいごに
/*========================================================*/

参考文献
 よくわかる最新XPの基本と仕組み
 長瀬嘉秀 監修
 畑田成広 樋口博昭 著
 秀和システム
 ISBN4-7980-9374-3
 1900円(税別)(ただし支給品)

{magclick}
/*========================================================*/
 次回予告
/*========================================================*/

 次回は9月4日(水曜日)に、第382回を送ります。
 お題は「XP5 ユーザテスト」

 次回はユーザテストについてです。

 お楽しみに!

/*========================================================*/
 最後の決り文句
/*========================================================*/
 このメールマガジンは、まぐまぐさんから発行しています。
 このメールマガジンを解除したい場合は、まぐまぐさんをご利用
ください。このメルマガのまぐまぐアイディーは最後にあります。
 このメールマガジンには広告が挿入されます。
 このメールマガジンの内容に文面の引用はありません。
 めーらっくすの場合はめーらっくすの利用方に従ってください。
 このメールマガジンの内容は、転用、流用、宣伝、リンク、
昔は絶対を守れないと死刑でしたけどね なんて大歓迎です。

{magclick}
/*========================================================*/
 
/*========================================================*/

発行者 あゆしゃ

まぐまぐアイディー
0000020674

まぐまぐバックナンバー
http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674

あゆしゃの世界
http://ayusya.hp.infoseek.co.jp/

登録と解除
http://www.mag2.com/m/0000020674.htm

ご意見・ご感想・ご質問メール
mailto:ayusya@flamenco.plala.or.jp

めーらっくす
http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F

ブラウザの閉じるボタンで閉じてください。