はじめに
要求仕様が確定していなければ基本設計はできない。基本設計が確定していなければ詳細設計はできない。詳細設計が確定していなければコーディングはできない。コーディングが確定していなければ単体テストはできない。単体テストが確定していなければ結合テストはできない。すべての物事に関する簡単な道理についてのお話です。
例外的に何とかなるだろうと思うことは、
#50:目先の問題に惑わされるな
たとえば、
- 泥と炎の戦場カメラマン
同誌は岡村を
『泥と炎』 と形容されたベトナムの戦場で、 まず名をあげた日本人カメラマンは岡村昭彦だった。実は写真は素人で、 通信社と契約して赴任したときフィルムの詰め方を支局長に聞いたという逸話を残す。だが活躍はめざましく、 写真家の憧れだった米国のライフ誌を矢継ぎ早に飾った。 『ロバート・ キャパを継ぐ戦争写真家』 と絶賛した。本人いわく 『フィルムの詰め方は知りませんでしたが、 何にレンズを向けるべきかは知っていました』。
岡村昭彦、
#51:やるべきことをやるべきときに
単体テスト時に結合テストをやると言ってもやれるわけもない。単体テストに合格していないレベルのソフトウェアが結合できるわけもない。このようなことを無理に強要するベンダや請けてしまう下請けの頭の中が心配だ。開発の初期工程である見積もりや要件定義工程でやるべきことをきちんとやってさえいれば、
- 時間を無駄にする方法
- 混乱は時間の無駄である。混乱に飛びついてどたばたする前に冷静に事実を把握することだ
- 急がば回れ。信用は時間の代わりになる。正しく使えば、
金もしかり - 結論に飛びつくのは時間の無駄である。原因追及もしかり。大騒ぎせず見極めること
- コンピュータは時間の無駄になることがある。バックアップでその時間を節約できることもある
G.
#52:レビューは銀の弾丸ではない
レビューは構造物の基本的な構造や仕様の再確認を目的とする。細かなバグを見つけることが目的ではない。バグを見つけるのはデバッグであり、
- 銀の弾などない
病気治療の第一ステップは、
悪魔信仰を細菌説によって生理学的理論に置き換えることだった。そのステップこそ希望の始まりであり、 すべての魔法のような解決の夢を打ち砕いた。医療従事者は、 進歩は段階を追いながら多大な労力を払って遂げるもので、 健康回復には持続的で根気強い看護がなされなければならないと教え込まれた。今日のソフトウェアエンジニアリングにおいても、 それは変わらない。
フレデリック・
#53:分別をわきまえよ
ふんべつ
- 自然界は人間の都合のいいようにはできていない
世の中で、
役に立つ材木はみんな四角だけれど、 天は四角な木を生やさない。また皮も骨もないような、 かまぼこか、 はんぺんのような魚があれば、 人のために便利だろうけれども、 天はそのような魚を生じない。自然界は人間の都合のよいようにはできていないものだ。
二宮尊徳、
#54:顧客が望んでいるように
顧客からの要望といっても、
顧客が何を求めているのか、
どんな方法でするのを望んでいるのかを知り、 そのとおりにすることだ。これが求めていること、 望む方法だ。そのとおりにやってもらいたい。すべきことを、 すべき方法でやってもらわなければならない。望むことを、 望む方法で、 必要な時に、 その通りにやってもらうことだ。
ピーター・
#55:少しでもましな負け方を
確かな設計書などが存在しない中での開発や評価テストは、
- 懸命と賢明
懸命に働く、
ではなくて、 賢明に働く。
ロバート・
#56:共有分業と分離分業
分業とは一つの仕事を複数の人間や組織で分担分けして実行することだが、
- 開発フェイズのオーバーラップ
チームの自己組織的特性は一つの原動力、
言い換えればリズムをつくる。チームのメンバーは異なった時間範囲に立ってプロジェクトを開始する。すなわちR&D部門のメンバーは最も長期的な、 また生産部門のメンバーはもっと短期的なリズムを考える。しかし、 彼ら全員は、 最終期限に間に合うよう、 一人一人のペースを同期化し仕事をしなくてはならない。そのうえ、 プロジェクト・ チームは何の情報もないところから出発するが、 各メンバーはすぐに市場や技術についての知識を共有することを始める。結果としてチームは、 一つの単位として機能しだす。いくつかの点において、 個人と全体が分けられなくなる。個人のリズムとグループのリズムが重なり合い、 全体として新しい一つの脈動 (パルス) をつくるのである。この脈動は推進力となり、 そしてチームを前進させるのである。
野中郁次郎・
おわりに
単体テスト・
- 時間不足
- 時間・
時期の同期不良、 実行すべきタイミングの失敗 - 前工程の不良によるもの
- 不適切な実行内容に関するもの
- コミュニケーション不良、
連携不足など
時間に関する最初の2つの合計は全体の半分以上を占めており、