Saturday 14 April 2012

Software Engineering Development Laws

The LawWho Said ItWhat it Says
Amdahl’s LawGene AmdahlThe 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 SocioscienceNorman AugustineFor every scientific (or engineering) action, there is an equal and opposite social reaction.
Brooks’ LawFred BrooksAdding manpower to a late software project makes it later.
Clarke’s First LawArthur C. ClarkeWhen a distinguished but elderly scientist states that something is possible he is almost certainly right. When he states that something is impossible, he is very probably wrong.
Clarke’s Second LawArthur C. ClarkeThe only way of discovering the limits of the possible is to venture a little way past them into the impossible.
Clarke’s Third LawArthur C. ClarkeAny sufficiently advanced technology is indistinguishable from magic.
Conway’s LawMelvin ConwayAny piece of software reflects the organizational structure that produced it.
Cope’s RuleEdward Drinker CopeThere is a general tendency toward size increase in evolution.
Dilbert PrincipleScott AdamsThe most ineffective workers are systematically moved to the place where they can do the least damage: management.
Ellison’s Law of Cryptography and UsabilityCarl EllisonThe userbase for strong cryptography declines by half with every additional keystroke or mouseclick required to make it work.
Ellison’s Law of DataLarry EllisonOnce 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 AlertsGeorge SpaffordAs the rate of erroneous alerts increases, operator reliance, or belief, in subsequent warnings decreases.
Fisher’s Fundamental TheoremR. A. FisherThe more highly adapted an organism becomes, the less adaptable it is to any new change.
Fitts’ LawPaul FittsThe time to acquire a target is a function of the distance to and the size of the target.
Flon’s AxiomLawrence FlonThere 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 LawGeorge GilderBandwidth grows at least three times faster than computer power.
Godwin’s LawMike GodwinAs an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.
Grosch’s LawHerb GroschThe cost of computing systems increases as the square root of the computational power of the systems.
Hartree’s LawDouglas HartreeWhatever the state of a project, the time a project-leader will estimate for completion is constant.
Heisenbug Uncertainty PrincipleJim GrayMost production software bugs are soft: they go away when you look at them.
Hick’s LawWilliam Edmund HickThe time to make a decision is a function of the possible choices he or she has.
Hoare’s Law of Large ProgramsC. A. R. HoareInside every large problem is a small problem struggling to get out.
Hofstadter’s LawDouglas HofstadterA task always takes longer than you expect, even when you take into account Hofstadter’s Law.
Jakob’s Law of the Internet User ExperienceJakob NielsenUsers 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 LawBill Joysmart(employees) = log(employees), or “No matter who you are, most of the smartest people work for someone else.”
Kerckhoffs’ PrincipleAuguste KerckhoffsIn 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’ LawEric S. Raymond, who named it after Linus TorvaldsGiven enough eyeballs, all bugs are shallow.
Lister’s LawTimothy ListerPeople under time pressure don’t think faster.
Metcalfe’s LawRobert MetcalfeIn network theory, the value of a system grows as approximately the square of the number of users of the system.
Moore’s LawGordon MooreThe number of transistors on an integrated circuit will double in about 18 months.
Murphy’s LawCaptain Edward A. MurphyIf 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 LawNathan MyhrvoldSoftware is a gas; it expands to fill its container.
Ninety-ninety LawTom CargillThe first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
Occam’s RazorWilliam of OccamThe explanation requiring the fewest assumptions is most likely to be correct.
Osborn’s LawDon OsbornVariables won’t; constants aren’t.
Postel’s Law (the second clause of the Robustness Principle)Jon PostelBe conservative in what you send, liberal in what you accept.
Pareto Principle (a.k.a. “The 80-20 Rule”)Suggested byJoseph Juran, named afterVilifredo ParetoFor many phenomena, 80% of consequences stem from 20% of the causes.
Parkinson’s LawC. Northcote ParkinsonWork expands so as to fill the time available for its completion.
Pesticide ParadoxBruce BeizerEvery method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.
The Peter PrincipleLaurence J. PeterIn a hierarchy, every employee tends to rise to his level of incompetence.
Reed’s LawDavid P. ReedThe utility of large networks, particularly social networks, scales exponentially with the size of the network.
Rock’s LawArthur RockThe cost of a semiconductor chip fabrication plant doubles every four years.
Sixty-sixty RuleRobert GlassSixty percent of software’s dollar is spent on maintenance, and sixty percent of that maintenance is enhancement.
Spector’s LawLincoln SpectorThe time it takes your favorite application to complete a given task doubles with each new revision.
Spafford’s Adoption RuleGeorge SpaffordFor 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 RevelationTheodore SturgeonNinety percent of everything is crud.
Tesler’s Law of Conservation as ComplexityLarry TeslerYou 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 LawWaloddi WeibullThe logarithm of failure rates increases linearly with the logarithm of age.
Wirth’s LawNiklaus WirthSoftware gets slower faster than hardware gets faster.
Zawinski’s LawJamie ZawinskiEvery program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.


Source: 
http://www.globalnerdy.com/2007/07/18/laws-of-software-development/

No comments:

Post a Comment