先日 reddit で 19 Eponymous Laws Of Software Development という文章を知った。似たような趣旨のページもいくつかあるが、せっかくなので日本語情報を追加させてもらった。
ここで挙げられている法則には、ソフトウェア開発とは異なる文脈で使われるものも多いので、飽くまでそれをソフトウェア開発に当てはめるとどうなるか考えて読むとよいのだろう。
法則名 | ポステルの法則(Postel's Law) |
---|---|
人名 | ジョン・ポステル(Jon Postel) |
法則 | 送信するものに関しては厳密に、受信するものに関しては寛容に。 Be conservative in what you send, liberal in what you accept. |
備考 | 実は上の原文は正確ではなく、初出である RFC 793 では "be conservative in what you do, be liberal in what you accept from others." となっている。これがインターネットの通信を貫く大原則である |
RFCダイジェスト―標準化の森を歩くための地図とコンパス (UNIX MAGAZINE COLLECTION) 宇夫 陽次朗 末永 洋樹 小柏 伸夫 アスキー 2005-09 売り上げランキング : 744299 Amazonで詳しく見る by G-Tools |
法則名 | パーキンソンの法則(Parkinson's law) |
---|---|
人名 | C.N. パーキンソン(C. Northcote Parkinson) |
法則 | 仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する。 Work expands so as to fill the time available for its completion. |
備考 | これは正確にはパーキンソンの第一法則である。 |
パーキンソンの法則 C.N.パーキンソン 森永 晴彦 至誠堂 1996-11 売り上げランキング : 27166 Amazonで詳しく見る by G-Tools |
法則名 | パレートの法則(Pareto principle) |
---|---|
人名 | ヴィルフレド・パレート(Vilfredo Pareto) |
法則 | 多くの現象では、結果の80%は原因の20%で決まっている。 For many phenomena, 80% of consequences stem from 20% of the causes. |
備考 | Wikipedia によると、80:20という数字をパレートが強調したわけではないようだ |
法則名 | スタージョンの法則(Sturgeon's Law) |
---|---|
人名 | シオドア・スタージョン(Theodore Sturgeon) |
法則 | どんなものも、その90%はカスである。 Ninety percent of everything is crud. |
備考 | 元々は SF について語った言葉で、正確には原文にあるように「スタージョンの黙示(Sturgeon’s Revelation)」というのが正しいようだ |
法則名 | ピーターの法則(Peter Principle) |
---|---|
人名 | ローレンス・J・ピーター(Laurence J. Peter) |
法則 | 組織において、すべての従業員は無能のレベルまで昇進する傾向にある。 In a hierarchy, every employee tends to rise to his level of incompetence. |
備考 | 企業に勤める人間にとって、この法則はホント笑いごとではない |
ピーターの法則 ローレンス・J・ピーター レイモンド・ハル 渡辺 伸也 ダイヤモンド社 2003-12-12 売り上げランキング : 4946 Amazonで詳しく見る by G-Tools |
法則名 | ホフスタッターの法則(Hofstadter's law) |
---|---|
人名 | ダグラス・ホフスタッター(Douglas Hofstadter) |
法則 | 作業にはいつでも予測以上の時間がかかるものである - ホフスタッターの法則を計算に入れても。 A task always takes longer than you expect, even when you take into account Hofstadter's Law. |
備考 | 初出は1980年のピューリッツァー賞受賞作『ゲーデル、エッシャー、バッハ - あるいは不思議の環』である。 |
ゲーデル、エッシャー、バッハ―あるいは不思議の環 20周年記念版 ダグラス・R. ホフスタッター Douglas R. Hofstadter 白揚社 2005-10 売り上げランキング : 87992 Amazonで詳しく見る by G-Tools |
法則名 | マーフィーの法則(Murphy's law) |
---|---|
人名 | エドワード・アロイシャス・マーフィーJr. 大尉(Edward A. Murphy, Jr.) |
法則 | うまくいかなくなる可能性のあるものは何でも、うまくいかなくなる。 If anything can go wrong, it will. |
備考 | 21世紀版なる書籍が今月発売されていたとは。これに対する対応策として Defensive programming がある。 |
21世紀版 マーフィーの法則 アーサー・ブロック 松澤 喜好/ 松澤 千晶 アスキー 2007-07-12 売り上げランキング : 28311 Amazonで詳しく見る by G-Tools |
法則名 | ブルックスの法則(Brooks' law) |
---|---|
人名 | フレデリック・ブルックス(Fred Brooks) |
法則 | 遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせるだけだ。 Adding manpower to a late software project makes it later. |
備考 | プログラマーでこの「人月の神話」、「銀の弾はない」という言葉を知らない人はモグリである |
人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3)) Jr.,フレデリック・P. ブルックス Frederick Phillips,Jr. Brooks ピアソンエデュケーション 2002-11 売り上げランキング : 21509 Amazonで詳しく見る by G-Tools |
法則名 | コンウェイの法則(Conway's Law) |
---|---|
人名 | メルヴィン・コンウェイ(Melvin Conway) |
法則 | ソフトウェアのどの部分であれ、それを作った組織の構造を反映する。 Any piece of software reflects the organizational structure that produced it |
備考 | 原文ではこれの応用として「コンパイラを4つのグループで作れば、4パスコンパイラになる」というのが紹介されている |
法則名 | ケルクホフスの原理(Kerckhoffs' principle) |
---|---|
人名 | アウグスト・ケルクホフス(Auguste Kerckhoffs) |
法則 | 暗号方式は、秘密鍵以外の全てが公知になったとして、なお安全であるべきである。 In cryptography, a system should be secure even if everything about the system, except for a small piece of information - the key - is public knowledge. |
備考 | 21世紀になった現在も暗号アルゴリズムの秘匿による安全性を主張する人がいるのは嘆かわしいことである |
法則名 | リーナスの法則(Linus's Law) |
---|---|
人名 | リーナス・トーバルズ(Linus Torvalds) |
法則 | 目玉の数さえ十分あれば、どんなバグも深刻ではない。 given enough eyeballs, all bugs are shallow |
備考 | これはリーナス自身が言い出したことではなく、エリック・レイモンド(Eric S. Raymond)が『伽藍とバザール』において命名したものである |
伽藍とバザール―オープンソース・ソフトLinuxマニフェスト エリック・スティーブン レイモンド Eric Steven Raymond 光芒社 1999-09 売り上げランキング : 293773 Amazonで詳しく見る by G-Tools |
法則名 | リードの法則(Reed's law) |
---|---|
人名 | デヴィッド・P.リード(David P. Reed) |
法則 | 大きなネットワークの有用性は、特にソーシャルネットワークの場合、ネットワークの大きさとともに指数関数的に増加する。 The utility of large networks, particularly social networks, scales exponentially with the size of the network. |
備考 | ここでの「ソーシャルネットワーク」は、現在の SNS というより言葉通り「社会的ネットワーク」のことだろう |
法則名 | メトカーフの法則(Metcalfe's law) |
---|---|
人名 | ロバート・メトカーフ(Robert Metcalfe) |
法則 | ネットワーク理論において、システムの価値はそのシステムのユーザ数の二乗近くに比例する。 In network theory, the value of a system grows as approximately the square of the number of users of the system. |
備考 | 提唱者はイーサネットの発明者である |
法則名 | ムーアの法則(Moore's Law) |
---|---|
人名 | ゴードン・ムーア(Gordon Moore) |
法則 | 集積回路におけるトランジスタの集積密度は、約18ヶ月ごとに倍になる。 The number of transistors on an integrated circuit will double in about 18 months. |
備考 | 本文書で紹介する19の法則のうち、日常的に最も目にするのはおそらくこの経験則だろう |
インテルとともに―ゴードン・ムーア 私の半導体人生 玉置 直司 日本経済新聞社 1995-06 売り上げランキング : 549684 Amazonで詳しく見る by G-Tools |
法則名 | ロックの法則(Rock's law) |
---|---|
人名 | アーサー・ロック(Arthur Rock) |
法則 | マイクロプロセッサ製作にかかるコストは、4年ごとに2倍になる。 The cost of a semiconductor chip fabrication plant doubles every four years. |
備考 | この法則は CPU 製造コストの高騰化を予見するもので、ムーアの法則に対するものである。 |
法則名 | ヴィルトの法則(Wirth's law) |
---|---|
人名 | ニクラウス・ヴィルト(Niklaus Wirth) |
法則 | ソフトウェアは、ハードウェアが高速化するより急速に低速化する。 Software gets slower faster than hardware gets faster. |
備考 | ムーアの法則がある一方で、パソコンの動作が全体としてあんまり速くならないのは誰しも感じているところだろう。 |
法則名 | ザウィンスキーの法則(Zawinski's Law) |
---|---|
人名 | ジェイミー・ザウィンスキー(Jamie Zawinski) |
法則 | あらゆるプログラムは、それがメールを読めるところまで拡張しようとする。そこまで拡張できないプログラムは、それができるものにとってかわられる。 Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can. |
備考 | これだけは Wikipedia でなく Jargon File をリンクさせてもらった。jwzhacks のページが初出なのかな? |
法則名 | フィッツの法則(Fitts' law) |
---|---|
人名 | ポール・フィッツ(Paul Fitts) |
法則 | 目標に到達するまでの時間は、目標までの距離と目標の大きさに依存する。 The time to acquire a target is a function of the distance to and the size of the target. |
備考 | 恥ずかしながらこの法則は知らなかったのだが、ユーザインタフェースの分野で言われるものらしい |
法則名 | ヒックの法則(Hick's law) |
---|---|
人名 | W. E. ヒック(W. E. Hick) |
法則 | 意思決定にかかる時間は、可能な選択肢の数に依存する。 The time to make a decision is a function of the possible choices he or she has. |
備考 | 平易な日本語に置き換えると、フィッツの法則同様「そのまんま」という感じもする。 |