I develop software in iterations. Each iteration results in something that’s better than what came before. I iterate because making a large thing in one step is too difficult. I have only a few hours a week to spend on my hobby projects, of which I have too many, and at work there’s too many things needing my attention. Writing a whole application in one step is impossible, but making a little progress every week is feasible.

It doesn’t matter if the first iteration produces something utterly useless, as long as I can improve it. The end goal is to get somewhere awesome, but the route may take me via appalling, awful, aggravating, annoying, adequate, acceptable, and alright.

Perfection may be impossible, but getting asymptotically closer to awesome is a matter of working in manageable chunks.

This is of course is not an innovation, but I needed to write it down. I’m aware that it’s boasting to claim I’ve ever made anything even in the ballpark of awesome.