Previous in Forum: Absorption Chiller   Next in Forum: Verifying a Pump Curve
Close
Close
Close
16 comments
Rate Comments: Nested
Power-User
United States - Member - Popular Science - Evolution - Aren't we still evolving?

Join Date: Feb 2007
Location: Troy, NY
Posts: 194

Laws of Software Development

07/18/2007 4:38 PM

Global Nerdy has a great (and sometimes funny) list of Laws of Software Development, and really technology development in general. Some of the finer ones include:

Brooks' Law Fred Brooks - Adding manpower to a late software project makes it later.

Dilbert Principle Scott Adams - The most ineffective workers are systematically moved to the place where they can do the least damage: management.

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.

Which one is your favorite? Do you have any of your own?

Register to Reply
Pathfinder Tags: laws
Interested in this topic? By joining CR4 you can "subscribe" to
this discussion and receive notification when new comments are added.
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#1

Re: Laws of Software Development

07/18/2007 5:16 PM

Del's first law of how to write software...

Get as far away from any computer as possible.

__________________
health warning: These posts may contain traces of nut.
Register to Reply
Anonymous Poster
#2

Re: Laws of Software Development

07/18/2007 11:36 PM

Keller's Law of Software recursion:

Before one can recurse one must first curse, and mightily.

Register to Reply
Member

Join Date: Jun 2006
Posts: 9
#3

Re: Laws of Software Development

07/19/2007 12:13 AM

An old one that used to be featured in the AfterDark® Screensavers on the early Macs was... Nothing is idiot proof. Never underestimate the power of a determined idiot.

Register to Reply
Power-User
Fans of Old Computers - PDP 11 - New Member

Join Date: Mar 2007
Location: In a mushroom field somewhere in Canada. Kept in the dark and fed sh--, well you know.
Posts: 312
#9
In reply to #3

Re: Laws of Software Development

07/19/2007 9:00 AM

The problem with making things idiot-proof is that

they keep making a better idiot.

Unclefastguy's corollary to above post.

__________________
Dirt is for vegetables. Pavement is for racing.
Register to Reply
Power-User
United Kingdom - Member - Member

Join Date: Mar 2007
Location: Blackburn, Lancashire
Posts: 269
Good Answers: 9
#10
In reply to #9

Re: Laws of Software Development

07/19/2007 9:24 AM

On our shop floor we have operators who deliberately try and cause problems for any measure introduced, so we have come up with the idiom of:

"You CAN make something idiot proof but its a lot harder to make it c**t proof"

This seems to fit for an average working week of battling against the ops

Al

__________________
If you remain calm while all those around you are losing their heads, then you haven't realised the seriousness of the situation
Register to Reply
Guru

Join Date: Sep 2006
Posts: 4513
Good Answers: 88
#4

Re: Laws of Software Development

07/19/2007 12:45 AM

The 90/90 Law

The first 90% of the software takes 90% of the time to build, and the last 10% of the software takes the other 90% of the time.

Hanlon's Razor

Never attribute to malice that which can be adequately explained by stupidity.

McLuhan's Law

If it works, it's obsolete.

Stewart's Law of Retroaction

It's easier to ask forgiveness than get permission.

Parkinson's Law

Otherwise known as the Law of Bureaucracy...

Work expands so as to fill the time available for its completion.

...in contrast to:

Haack's Law

Work expands so as to overflow the time available and spill on the floor leaving a nasty, yucky mess.

Pareto Principle

Also known as the 80-20 rule, the Pareto Principle states...

80% of consequences stem from 20% of the causes.

This is the principle behind the painful truth that 80% of the bugs in the code arise from 20% of the code. Likewise, 80% of the work done in a company is performed by 20% of the staff. The problem is you're never quite sure of which 20%.

Sturgeon's Revelation

Ninety percent of everything is crud.

And, of course, there's the well-known

Peter Principle

In a hierarchy, every employee tends to rise to his level of incompetence.

Hofstadter's Law

A task always takes longer than you expect, even when you take into account Hofstadter's Law.

Murphy's Law

The one we all know and love.

If anything can go wrong, it will

Brook's Law

Adding manpower to a late software project makes it later.

Named after Fred Brooks, aka, Mr. Mythical Man Month. A natural corollary to this is the famous Law of Gestation:

The bearing of a child takes nine months, no matter how many women are assigned.

Conway's Law

Any piece of software reflects the organizational structure that produced it

Put another way...

If you have four groups working on a compiler, you'll get a 4-pass compiler.

Linus's Law

Named after Linus Torvalds, the creator of Linux...

Given enough eyeballs, all bugs are shallow.

Reed's Law

The utility of large networks - particularly social networks - scales exponentially with the size of the network.

Metcalfe's Law

In network theory, the value of a system grows as approximately the square of the number of users of the system.

Moore's Law

Probably the most famous law in computing, this law states...

The power of computers per unit cost doubles every 24 months.

The more popular and well-known version of Moore's law states...

The number of transistors on an integrated circuit will double in about 18 months.

Rock's Law

The cost of a semiconductor chip fabrication plant doubles every four years.

Get 'em while the gettin's good.

Wirth's law (my fave)

Software gets slower faster than hardware gets faster.

Zawinski's Law

This law addresses software bloat and states...

Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.

Every new employee of Microsoft must agree to uphold this law or be terminated immediately.

Fitt's Law

Time = a + b log2 ( D / S + 1 )

Or in plain English,

The time to acquire a target is a function of the distance to and the size of the target.

Hick's Law

The time to make a decision is a function of the possible choices he or she has.

Or in plain math,

Time = b log2(n + 1)

Register to Reply
Guru

Join Date: Sep 2006
Posts: 4513
Good Answers: 88
#5

Re: Laws of Software Development

07/19/2007 1:06 AM

I nearly forgot...

Europium's Law of Indoor Plumbing

The sooner you have to pee, the more distant the public restroom.

and it's corollary:

If you simply can't hold it any longer, the restroom will be located on the fourth floor, is locked, and requires a key held by the cashier who is presently using the other restroom in the basement.

Not much to do with software engineering, but what the hell.

Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#6

Re: Laws of Software Development

07/19/2007 2:11 AM

Del's 2nd Law.

The secification bears no relationship to the requirement.

#3. Law of Customer Approval Trials

Customers will always say...

'Wouldn't it be nice if......'

'If I'd realised yoy could do that, I'd have asked for....'

__________________
health warning: These posts may contain traces of nut.
Register to Reply
Power-User
United Kingdom - Member - Member

Join Date: Mar 2007
Location: Blackburn, Lancashire
Posts: 269
Good Answers: 9
#7

Re: Laws of Software Development

07/19/2007 3:44 AM

Hows about

If it works then it doesn't have enough features

Al

__________________
If you remain calm while all those around you are losing their heads, then you haven't realised the seriousness of the situation
Register to Reply
Guru

Join Date: Feb 2007
Location: Israel
Posts: 2968
Good Answers: 24
#16
In reply to #7

Re: Laws of Software Development

07/20/2007 1:41 AM

By the way...

Register to Reply
Anonymous Poster
#8

Re: Laws of Software Development

07/19/2007 6:21 AM

Ricks Law - Once your compile time exceeds your attention span, you might as well quit for the day.

Register to Reply
Member

Join Date: Jun 2006
Posts: 9
#11

Re: Laws of Software Development

07/19/2007 12:00 PM

One of my favorites is simply a quote, not a law: But here goes...

Failure is not an option... It comes bundled with your Micorsoft® product.

Register to Reply
Guru

Join Date: Feb 2007
Location: Israel
Posts: 2968
Good Answers: 24
#12

Re: Laws of Software Development

07/19/2007 1:28 PM

Most if not all of Murphy's laws, are later deviants of the second law of thermodynamics, reflecting the annoying reality that entropy will grow, even when you import and invest available energy to lower it. In other words, chaos will prevail in ways you have never though of, no matter how hard you tried to avoid it.

However (somewhat off-topic):

- A man without faith is like a fish without a bike (Wick's law).

- The amount of intelligence in civilisation is constant, only the population grows steadily (Cole's axiom)

- Nations, peoples, and groups, will act rationally, only as a last resort (Katz's law)

- Don't ever sleep with someone crazier than yourself (Hartley's second law)

- The malice content in any social system is constant: Any decrease in poverty or unemployment is immediately compensated by increase in crime or pollution (Isawi's conservation law)

- Beauty is only skin-deep. Real ugliness stems from the inside (Parker's law)

- Beauty times intelligence is a constant (Bakhap's law)

- Infertility is not hereditary (Zimmer's law)

- You can never tell the depth of a pond, unless you step into it (Miller's law)

- The food here is so dull, that you can burp, and it will remind you of nothing at all (Mattau's remark)

- There are four types of people: Those who sit still and do nothing. Those who talk about sitting still and doing nothing. Those who do things. Those who talk about doing things (Mannen's division)

- There are two types of people: Those who divide people into types, and those who don't (Bart's observation)

- An expert is someone who avoids little common mistakes, while rushing towards a big, critical one (Weinberg's observation)

- Don't ever describe in advance, the importance of a declaration to follow (Ross' law)

- The only reliable way to asses a man's expertise, is to wage a series of bets against them, concerning their field of occupation (Ellison's directive)

- The simplest of ideas tend to be phrased in the most complicated manner (Mallk's law)

To be contunued....

Register to Reply
Guru

Join Date: Sep 2006
Posts: 4513
Good Answers: 88
#13

Re: Laws of Software Development

07/19/2007 2:01 PM

Europium's Law of Maximum Occupancy (C++)

Copy-constructors expand to fill available memory.

Register to Reply
Guru

Join Date: Feb 2007
Location: Israel
Posts: 2968
Good Answers: 24
#15
In reply to #13

Re: Laws of Software Development

07/19/2007 7:31 PM

Now, that's a 'real' algorythmics law!

Do you think non-programmers will understand?

◊ - If you build an application that even morons can use, soon enough, only morons will use (Shaw's principle)

◊ - Additional manpower to tackle shortening timetables, will eventually lead to lengthening the time required (Brook's law)

I hope I translated the last one right....

Register to Reply
Guru

Join Date: Feb 2007
Location: Israel
Posts: 2968
Good Answers: 24
#14

Re: Laws of Software Development

07/19/2007 3:38 PM

Please, excuse my English, it was translated from Hebrew:

- Compromise is always more costly that the total cost of the alternatives it's there to reconcile (Johaney's law)

- In America, it doesn't matter what's the item's price. What matters is the item's degree of discount (Paulag's law)

- At a given time in the life of an organism, it looses it's ability to succeed, in spite of it's handicaps (Bryan's first law)

- The paperwork in our clients' books is profitable. Ours is always at loss (Brown's law)

- Each organisation has it's own way to consume vast amounts of paper:

- In Socialistic societies, it's by filling many long forms in triplicates

- In Capitalistic societies, it's by using huge posters, and packaging anything possible in four layers of wrapping paper

(Isawi's ecology observation)

- The accessories for yesterday's experiment should be ordered not later than tomorrow evening (Hook's order priority)

- A void in economy is always filled by the wealthiest industry (Tossil's first reality rule)

- The government's budget grows according to it's last year's spending, and yet grows again, in demand for more revenue (Wicker's law)

- The tendency to postpone, is always high on the agenda (Parker's law of administrative management)

- When in doubt, mumble. When in trouble, share. When in charge, delegate (Bourne's management rules)

- Don't ever argue with a fool. People may not be able to tell the difference between you two (Truman's first lectoriat)

- If you can't convince, confuse (Truman's second lectoriat)

- When it's not essential to decide, it's essential not to decide (Lord Falkland's law)

- If An issue requires a large number of meetings, the meetings will become the issue (Hendriksson's law)

- Technology is being supervised by two types of people:Those who understand the issued they don't manage, and those who manage the issues they don't understand (Pot's law)

- When things go from bad to worse, he who smiles, is the one who found someone to blame (Jones' law)

- Those who have it all, have the ability to have more (Isawi's economy one)

- To be able to get a bank loan, you have to prove for the bank, that you don't really need it (Isawi's economy two)

To be continued...

Register to Reply
Register to Reply 16 comments
Copy to Clipboard

Users who posted comments:

Anonymous Poster (2); armgrafix (2); Bolton_Alan (2); unclefastguy (1); user-deleted-1105 (2); user-deleted-13 (3); Yuval (4)

Previous in Forum: Absorption Chiller   Next in Forum: Verifying a Pump Curve

Advertisement