I don’t like to get stuff wrong. I hate it when I realise that I’ve rushed in and built something that just doesn’t work perfectly.
It’s partly embarrassment (maybe I made a basic error in logic, or made a false assumption, way back at the beginning of a long project, and now it’s becoming obvious. And now I just need to spend 5 days to patch it up so nobody notices).
It’s partly excitement and impatience (at each little decision point, it’s always tempting to take the shortest path to the next point. Then you see ‘progress’. Of course that’s just like wandering from the tree right in front of you, to the closest next tree in the dark woods – you make progress but it’s random. And you lose sight of the woods).
And then there’s the deep, dark, debilitating fear that something might be wrong. You know how it is – you’re motoring along, building this awesome software solution, and you get the vague feeling that you’re having to write much too much code, to make exceptions, to kludge rules, create weird temporary database tables. While there’s nothing actually wrong, it’s just that everything is not seamless like it should be. But you keep on going.
How to avoid the shit hitting the fan.
Look at how a portrait artist works. They start with a rough layout – a prototype rendering that shows roughly the direction she’s headed. At this point, if it looks wrong, it’s easy to start on a fresh piece of paper.
Next, the most important features are added. She might show it to her client now, who could say “Nope, I want it facing the other direction”, or “make the hair longer”, or even “but I asked you for a picture of a cat”. At this point, it’s easy to start on a fresh piece of paper.
The other approach would be to start on one side of the paper at very high detail, and continue until finished – without stepping back and everyone taking a look. More often than not, the perspective will be a little bit odd, or the colours don’t quite flow, or it’s not cohesive.
Treat your mock-ups and prototypes the same way as an artist treats their initial sketches – as something you can screw up and throw away, until you’re definitely on the right track, and everyone involved is happy with the direction.
You’re going to get it wrong at some point. So do it ‘good enough to show someone’, get it wrong fast, get it wrong often, and keep doing that at every stage. It’s only at the end that you need to be a perfectionist. And then you’ll be spending your time perfecting something that’s right.