読者です 読者をやめる 読者になる 読者になる

ソフトウェア開発の法則

Quotation from Laws of Software Development via boingboing, with a little interpretion:ソフトウェア開発に関する話だという大前提を頭に入れて読むと、有名な言葉でもとっても面白いので、「ソフトウェア開発においては、」という枕詞を入れて読むといいかと。個人的にはオッカムの剃刀が一番面白かった。

The Law Who Said It What it Says
Amdahl’s Law Gene Amdahl The speedup gained from running a program on a parallel computer is greatly limited by the fraction of that program that can’t be parallelized.
Augustine's Second Law of Scioscience Norman Augustine どんな科学的(または工学的)行動に対しても、同じだけ真逆に社会は反応する。
Brooks' Law Fred Brooks ソフトウェア開発末期に人員を追加投入するとプロジェクトは余計に遅れる。
クラーク第一法則 Arthur C. Clarke 教養ある年長の科学者が「可能だ」と言ったときは正しい。「不可能だ」と言ったときは大体間違っている。
Clarke's Second Law Arthur C. Clarke The only way of discovering the limits of the possible is to venture a little way past them into the impossible.
クラーク第三法則 Arthur C. Clarke 十分に進歩した技術は魔法と区別がつかない。
Conway's Law Melvin Conway ソフトウェアのどんな小さな一部分でも、それを開発した組織の構造を反映している。
The Law Who Said It What it Says
Cope’s Rule Edward Drinker Cope 一般的に、進化の過程で規模は増大する傾向にある。
Dilbert原理 Scott Adams 一番使えない奴はごく自然に一番被害が少ないところへ動くことになる:マネジメントだ。
Ellison's Law of Cryptography and Usability Carl Ellison The userbase for strong cryptography declines by half with every additional keystroke or mouseclick required to make it work. どんな強力な暗号技術も、キー入力やクリックがひとつ増えるだけでuserbaseが半減してしまう(訳注:userbaseって何
Ellison's Law of Data Larry Ellison Once the business data have been centralized and integrated, the value of the database is greater than the sum of the preexisting parts.
The Law of False Alerts George Spafford As the rate of erroneous alerts increases, operator reliance, or belief, in subsequent warnings decreases.
Fisher's Fundamental Theorem R. A. Fisher The more highly adapted an organism becomes, the less adaptable it is to any new change.
Fitts' Law Paul Fitts The time to acquire a target is a function of the distance to and the size of the target.
Flon's Axiom Lawrence Flon There does not now, nor will there ever, exist a programming language in which it is the least bit hard to write bad programs.
Gilder's Law George Gilder 帯域幅はコンピュータの能力の少なくとも三倍の早さで増えていく。
Godwin's Law Mike Godwin As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.
Grosch's Law Herb Grosch The cost of computing systems increases as the square root of the computational power of the systems.
Hartree's Law Douglas Hartree Whatever the state of a project, the time a project-leader will estimate for completition is constant.
Heisenbug Uncertainty Principle Jim Gray Most production software bugs are soft: they go away when you look at them.
Hick's Law William Edmund Hick 決定に要する時間は、選択肢の数の関数になっている。
Hoare's Law of Large Programs C. A. R. Hoare Inside every large problem is a small problem struggling to get out.
Hofstadter's Law Douglas Hofstadter A task always takes longer than you expect, even when you take into account Hofstadter’s Law. たとえこの法則を頭に入れていても、仕事は常に思ったより時間がかかる。
Jakob's Law of the Internet User Experience Jakob Nielsen Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.
Joy's Law Bill Joy smart(employees) = log(employees), or “No matter who you are, most of the smartest people work for someone else.”
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.
Linus' Law Eric S. Raymond, who named it after Linus Torvalds Given enough eyeballs, all bugs are shallow.
Lister's Law Timothy Lister 時間を気にしても考える速度は上がらない。
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.
ムーアの法則 Gordon Moore The number of transistors on an integrated circuit will double in about 18 months.
マーフィーの法則 Captain Edward A. Murphy If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
Nathan's First Law Nathan Myhrvold Software is a gas; it expands to fill its container.
Ninety-ninety Law Tom Cargill コードの最初の90%は開発期間の90%を表している。コードの残り90%は開発期間の追加分、全体の90%を表している。
オッカムの剃刀 William of Occam The explanation requiring the fewest assumptions is most likely to be correct. 最少の前提を用いた説明は最も確からしい。
Osborn's Law Don Osborn Variables won't; constants aren't.
Postel's Law (the second clause of the Robustness Principle) Jon Postel Be conservative in what you send, liberal in what you accept.
Pareto Principle (a.k.a. “The 80-20 Rule”) Suggested by Joseph Juran, named after Vilifredo Pareto For many phenomena, 80% of consequences stem from 20% of the causes.
Parkinson's Law C. Northcote Parkinson Work expands so as to fill the time available for its completion.
Pesticide Paradox Bruce Beizer Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.
The Peter Principle Laurence J. Peter ヒエラルキーの下では、サラリーマンはより無能になっていく傾向がある。
Reed's Law David P. Reed The utility of large networks, particularly social networks, scales exponentially with the size of the network.
Rock's Law Arthur Rock The cost of a semiconductor chip fabrication plant doubles every four years. 四年毎に半導体工場のコストは倍増していく。
Sixty-sixty Rule Robert Glass Sixty percent of software's dollar is spent on maintenance, and sixty percent of that maintenance is enhancement.
Spector's Law Lincoln Spector The time it takes your favorite application to complete a given task doubles with each new revision.
Spafford's Adoption Rule George Spafford For just about any technology, be it an operating system, application or network, when a sufficient level of adoption is reached, that technology then becomes a threat vector.
Sturgeon's Revelation Theodore Sturgeon Ninety percent of everything is crud.
Tesler's Law of Conservation as Complexity Larry Tesler You cannot reduce the complexity of a given task beyond a certain point. Once you’ve reached that point, you can only shift the burden around.
Weibull's Power Law Waloddi Weibull The logarithm of failure rates increases linearly with the logarithm of age.
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.