Development Methodology

With the advent of the "new leaf" for Arch, I figure it's time to explain, to those of you who don't know me that well, how I go about this development thing.

See, I have one defining principle that is covered pretty well in the Python Philosophy.

Now is better than never.

Really, this is a simplification of Pareto's principle - also known as the 80/20 rule.

See, I am a strong supporter that completing 80% of the work that is "easy" as soon as possible and in a functional manner, is far better than waiting for 100% completion.

To make this an analogy: If I were building a house and it's the only shelter I had, I would rush to at least get the roof up. That's just a small portion of the work, but it is functional - I could sleep under it and all that fun stuff.

When I try to explain this to people, I describe it like molding clay. If you are sculpting a 1:1 scale human being, out of clay, you don't start on just the ear, make it perfect, move to the cheek, make it perfect, etc. No. You take a lump and make it look kinda like a human, maybe add some small details, go over it with another pass, add some muscle definition, another pass to clean up some things and fix inaccuracies, and another pass for fine details.

This is how I attack these things.

You don't need a perfect fool-proof plan. It's impossible to make something fool-proof, because fools are so ingenious. Someone will always piss in your proverbial cereal. Accept it. Accept that 80% is just as good. Accept that the ear doesn't need to be perfectly defined right away.

| source