Fail Fast. Fail Safe
September 17, 2018
You won't get anything right on your first attempt. You can't. Creativity takes knowledge we don't yet have. So get comfortable making mistakes.
I was at Disneyland last week. At the ripe age of 35, I learned how to draw by making mistakes.
Disney illustrators use a technique called rough sketching. They start by laying down lines with a pencil — Lots of lines. These lines are exploratory. They help surface a desired shape. Only after the shape is right does an artist select and ink in the illustration. They create in a two step process:
- Discover the shape.
- Ink the best line.
This two step process isn't limited to visual arts. We developers can steal it. Here's how I apply it to code.
Get code on screen — lots of code. Start with curiosity. Don't worry about correctness. Worry about quantity. Put bad ideas on screen. Lay out all the options. Implement the whole feature before sweating the details.
Avoid permanence. Keep assumptions flexible. Don't be eager to abstract. Forget about sharing. Duplicate where you have to. Rewrite. Don't refactor. Make mistakes. Explore.
This process can feel foreign. When I started drawing the Baymax above, I thought: "I can draw a freaking circle." "Can we skip the step where I draw 100 wrong circles?" What I created was 10 pieces of paper with one bad circle on them. I had to learn how to embrace my mistakes.
Editing is easier than inventing. Embracing your mistakes will save you time. Building an entire feature, before committing abstractions, will save you a lot of rework. So be fast to explore and slow to assume.