Tuesday, July 24, 2007

My Favorite Laws of Software Development

There was a great blog on the Laws of Software Development, and there were a few I saw as related to testing that I thought I should share.

Brooks' Law: Adding manpower to a late software project makes it later. Or testers, in this case.

Conway's Law: Any piece of software reflects the organizational structure that produced it. Good to keep in mind when testing.

Heisenbug Uncertainty Principle: Most production software bugs are soft: they go away when you look at them.

Hoare's Law of Large Programs: Inside every large problem is a small problem struggling to get out. Finding those small problems is worth searching for.

Lister's Law: People under time pressure don’t think faster. Or test faster.

Nathan's First Law: Software is a gas; it expands to fill its container.

3 comments:

mike macgirvin said...

Variation on Nathan's First Law:

Any piece of software that tries to be all things to all people will ultimately consume all resources.

Andy Payne said...

I've always been fond of Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's Law.".

Toshiba Satellite M205 battery said...

Thanks for sharing this post with us. It's really an amazing post. Keep posting the good work in future too.