平鍋です.
Mike Gancarz の『UNIX という考え方』(オーム社開発局)を読み返
しています.XP との強い共通点をいくつか見つけましたので,メ
モしておきます.
特に,開発の進め方(試作と仕様書)についての考え方ですが,
--引用(p44)--
伝統的な考え方の人々は,(中略)「設計の90%が完成しないうち
は,1行たりともコードを書いてはならない」とよく言われる.
この考えは,優れた設計には事前の熟慮が必要だという信念から来
ている.(中略)プロジェクトが始まると,納期とういプレッシャー
から,設計者は仕様書に手が回らなくなる.(中略)UNIX開発者は,
詳細な機能仕様書や設計仕様書についての見方がことなる.目的は
伝統的な方法論と同じだが,物事を進める順序が違う.
1. 短い機能仕様書を書く.
2. ソフトウェアを書く.
3. テストして書き直す.満足できるまで,これを繰り返す.
4. 詳細なドキュメントを(必要なら)書く.
--引用終り--
というステップを踏む,という部分です.仕様書でなく,実際に機
能するものをとにかく作る.その中でアイディアも生まれる.
--引用(p45)--
第一のシステムをユーザが目で見て,手で触れることができる.最
終製品がどのように動作するのか具体的に伝わる.(中略).第一の
システムの特徴は,見る人の創造力を刺激する斬新なアイディアを
含んでいることだった.形を成しつつある第一のシステムを見て,
ユーザーの心に創造の火花が飛び散る.そして,その製品で何がで
きるかを創造し始める.
--引用終り--
ちなみに,著者は,システムのライフサイクルを,
第一のシステム ... 追い詰められた才能のある人間がつくる
第二のシステム ... 「専門家」の委員会が,第一のシステムのア
イディアを用いてつくる
第三のシステム ... 第二のシステムで火傷をした人がつくる
としています.
私としては,XP と UNIX の両思想に,「実効価値を最大に」という
共通のフォースを感じました.UNIX -> Open Source という流れ
と,Smalltalk -> XP という流れに何かしら共通するものがあるよ
うな気がします.何でしょうね.ミニマリズム ??
以上です.