Perfection Starts with Good Enough
Leave a reply
You would not believe that we struggled this week if you would see how much code was written and pixels were drawn. All three of us struggled with our own tasks:
Wouter had a fight with the overall design of Gibbon and after 13 iterations still wasn’t satisfied with the way it looked.
Joeri couldn’t get a lightbox with your login form to automatically close and redirect you.
I was trying to get the building blocks for the API as perfect as possible so I could build the rest on top of it.
We all know the problem, we stop progressing because we don’t know how to get it perfect. I remember reading about the following experiment in “Art and Fear” from David Bayles:
The ceramics teacher announced he was dividing his class into two groups. All those on the left side of the studio would be graded solely on the quantity of work they produced, all those on the right graded solely on its quality.
Well, come grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity!
It seems that while the “quantity” group was busily churning out piles of work - and learning from their mistakes - the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.
We stop working on the main problem because we don’t believe we have sufficiently solved a small problem. The small problem is prohibiting us from doing any work.
Late Sunday evening Wouter send us a message saying that he still wasn’t sure if this was the right design, but that “his time was up, the mojo was gone, and this was it”.
The ball was in Joeri’s court. He needed to convert the design made by Wouter into templates and make sure that all the static content was generated by the Gibbon engine we separately build.
After only two days – thanks to wunderkind Joeri – Wouter was able to play around with the website and see how his design worked in a living, breathing application. Immediately, Wouter got his mojo back because he was able to keep working. Small iterations inspire great solutions.
Most of the time the best thing to say when you are stuck is “this is good enough”. This enables you to proceed with solving the main problem, instead of getting stuck on the details. The best ideas come when you keep working.
Joeri completed his login box after going for the next best solution. Turned out that this solution was better than his initial one. I decided to stop making abstractions and first make sure that everything in the API works. Wouter is working on his best design yet.
At Gibbon we don’t ship something if it’s just good enough. But, saying “good enough” while building enables us to have something great in the end. Avoid getting stuck on the small problems by saying good enough for now. Keep working and increase your chances that in the end you will be able to say: “close to perfect”.