IT技術者が知っておくとよい法則
- ブルックスの法則
『遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせるだけだ』
遅延の発生したプロジェクトでは要員の追加により、遅延のリカバリや新たな遅延の防止が図られるが、要員追加により従来の要員に仕様の説明などのコミュニケーションの負荷が発生してパフォーマンスが低下するため、さらなる遅延が発生してしまいます。
遅延が発生しないようにすることが一番ですが、遅延が発生した場合も、安易な要員追加ではなく、開発項目の削減やスケジュールの見直しを行うべきです。
また、要員追加や予期せぬ要員交代を考えドキュメントを作成、整理することも大事です。
- ハインリッヒの法則
『1つの重大事故の背後には29の軽微な事故があり、その背景には300の異常が存在する』
これは労働災害や医療、運輸のインシデント(ヒヤリ・ハット)で語られる事項ですが、軽微なミスや小さな事故を「そのくらいは」と軽く扱う組織は重大事故の発生を許す環境を作ってしまいます。
軽微なスペルミスなどであっても、原因を究明し再発防止を行うことが、結果として重大な事故を防ぐことにつながります。
- コンウェイの法則
『システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出してしまう』
プロジェクトを複数のチームで分担して開発すると、完成した製品は分担したチームの数の機能を持ったものになってしまいます。
プロジェクトの分担を行うときは、求めらる機能や構造を考慮してチームわけすることが大事です。
- パーキンソンの法則
『仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する』
見積もり時に余裕(マージン)を持ったプロジェクトは、最終的にその余裕を使い切った形で完了してしまいます。
少なすぎる見積もりは問題外ですが、多すぎる余裕をとることなく適正な見積もりを行い、進捗管理をすることが大事です。
- マーフィーの法則
『不都合を生じる可能性があるものは、いずれ必ず不都合を生じる』
どんなに小さく発生の可能性の低いリスクでも、人が思いつくリスクは必ず顕在化します。
プロジェクトだけではありませんが、リスクの洗い出しを行い見つけ出した項目は、必ず顕在化したときの対処方法を決めることが大事です。
顕在化してから“想定外”が許されるリスクはありません。
リスクマネジメントでの基本姿勢は“ありえないなんて事はありえない”です。
- ポステルの法則
『送信するものに関しては厳密に、受信するものに関しては寛容に』
通信の基本的な考え方で、送信側はプロトコルを厳重に守ってデータを作成するようにし、受信側は少しプロトコルに甘い解釈をすると通信がうまくいきます。
この法則は通信以外の人と人とのコミュニケーションでも見られ、あいまいな指示を行うと受けた方はもっとあいまいな解釈をしてピントのずれた結果しか出てきません。
人に指示を出すときには曖昧な表現は避け明確にしましょう。
- ピーターの法則
『組織において、すべての従業員は無能のレベルまで昇進する傾向にある』
開発で優れた結果を残した人にマネジメントを行わせようとする組織は多いですが、そこでその人の適正を考慮することは少なく、無能なマネージャが誕生することは多いです。
また、優れた技術者やマネージャが経営者としても優れているとは限りません。
“適材適所”といいますが、適正、能力を考えて人事を行わないと「無能の集団」になるのはあっという間です。
「将来的にはマネージャ」と考えている人はマネジメントの勉強をし、自分の適性を見極めましょう。
それと“プレイングマネージャ”という名のマネジメントしないマネージャのいる組織のメンバーは不幸ですね。
- ムーアの法則
『集積回路におけるトランジスタの集積密度は、約18ヶ月ごとに倍になる』
IC(LSI)の規模についてIntel社の創業者のムーア氏が論文で公表したものです。
コンピュータが世の中に出現してから現在までハードウェアの性能は飛躍的に向上していてこれからもこの成長は続くでしょう。
そのため、性能問題を抱えたソフトウェアであっても、ハードウェアの高速化で救われることは少なくありません。
- ヴィルトの法則
『ソフトウェアは、ハードウェアが高速化するより急速に低速化する』
CPUやDRAMなどハードウェアの高速化はすさまじいものがありますが、それ以上にソフトウェアが巨大化、複雑化しデータ量が増大しているので、利用者から見てITシステムの高速化を感じられることは少ないです。
ムーアの法則とヴィルトの法則から、どんなに複雑なシステムであっても、極端に遅いということはありません。
逆にシンプルなシステムと思っていてもセキュリティのための機密性や完全性、可用性などを求められた結果、低速化するシステムは増えています。
- アムダールの法則
『複数のプロセッサを使い並列計算によってプログラムの高速化を図る場合、そのプログラムの中で逐次的に実行しなければならない部分の時間によって、高速化が制限される』
プロセッサのコアとしての高速化はクロックの高速化による熱の問題などから限界に近付いているため、さらなる高速化を行うためにはマルチコアやマルチプロセッサ技術で実現する必要があります。
しかし、マルチコアやマルチプロセッサであってもプログラムの中に逐次処理があると一定以上の高速化は制限されてしまいます。
(法則ではないけど)
- 赤の女王の仮説
『その場にとどまるためには、全力で走り続けなければならない』
ルイス・キャロルの小説『鏡の国のアリス』に出てくる赤の女王のセリフで、つねに新しいことを続けていないと競争相手に追いつかれ敗れてしまうため、今の場所(ポジション)を保つためには常に努力し進化する必要があります。
これは、組織における個々の人だけでなく、企業の市場におけるポジションにも言えます。
特に、年配の人は若い人に対し時間という面で不利なので、より上のポジションを目指すなら努力を惜しんではいけません。
戻る
一覧へ
|