Thursday, September 3, 2009

Willard’s Principles of Software Engineering

Willard’s First Rule of Programming
Adding more engineers to a late software project makes it take longer.

Willard’s Second Rule of Programming
Effort estimates will always match exactly the number of days management makes available to complete a project.

Willard’s Third Rule of Programming – (aka Occam’s Antithetical Razor)
When you have two competing programming solutions that produce the exact same results, the more complex one is the most likely to be coded.

Willard’s Fourth Rule of Programming
The relative skill of a coder is inversely related to the amount of time said engineer expends in telling you how talented they are.

Willard’s Fifth Rule of Programming
Complexity and grace are not mutually exclusive.

Willard’s Sixth Rule of Programming
Success is in the eye of the beholder.
Willard’s First Corollary – Facts are for people with small imaginations.

Willard’s Seventh Rule of Programming
Newer does not mean better. Better means better.
Willard’s Second Corollary – Older may actually be wiser.

Willard’s Eighth Rule of Programming
Documentation is for people with weak memories.

Willard’s Theory of Software Estimation
Time and engineering staff are flexible only to the extent that there is never enough of either.

Willard’s Enduring Principle of Initial Development
Real Programmers don’t invent, they copy.

Willard’s Principle of Divergent Convergence
The Principle of Divergent Convergence defines the ability of an individual to maintain conceptual agreement with two distinctly dissimilar and antagonistic views.

This requires the individual to develop an internal explanation supporting the Postulate of Harmonious Recombination – a non-logical axiom in which these opposing views are in some fashion explained as either unrelated or, in the most egregious of cases, actually forced to coexist in a new framework of reality that redefines the expected outcomes in an acceptable (to the individual) way.

Both the Principle of Divergent Convergence and the Postulate of Harmonious Recombination are observed within the definition that exists only to the individual supporting the concepts. It is typically blatantly obvious to the non-participant that facts do not support either the thought process supporting such naturally opposing perspectives or resultant behavior.

Followers