I’m recently returned from a week-long conference of study and test-taking in the field of database design (my day-job), and find my mind completely burnt-out by the effort. Rather than wait till I feel especially inspired and creative, I’m going to adapt a lesson from one of my classes.
The class was on “agile” programming. I’ll quickly explain. More “traditional” methods of computer programming developed by such folks as the Department of Defense involved many stages of doing such things as gathering requirements and developing detailed documentation and designs before ever beginning to write programs. To be blunt, this effort to design the perfect program in advance doesn’t work very well. Requirements change. People aren’t sure in advance exactly what they want. And sometimes people don’t read documentation. The result is that a piece of software can take years to develop before everyone realizes that it isn’t really what they want. By then it’s too late.
“Agile” programming methods, in contrast, focus on building a program in small increments, with little documentation – but with immediate feedback from the people who will be using the program. It starts off pretty simple and crude, but at each stage, it gets better. And the people using the program can see how it’s progressing along the way, as their requirements change, or as they realize they didn’t really know what they wanted at the beginning. This results in better computer programs, more quickly, less expensively, and with happier users and programmers.
Perfectionism, in other words, is a trap. It’s not possible to know in advance, or in isolation, what the “perfect” system or solution will be. It’s much better to begin with an “ok” solution and modify it as needed along the way, as real-life situations suggest improvements.
As a junkie of self-development systems, I fall into the trap of perfectionism constantly. Some of you reading know exactly what I mean. Do you try each year to develop the perfect planning system, the perfect filing system, or the perfect diet, instead of simply starting with an “ok” system and making adjustments? Is your library cluttered with books about the latest perfect system for self-development? Is your closet cluttered with the latest exercise gadget?
For me, and I suspect for many others, perfectionism is really an effort-avoidance strategy at some unconscious level. We work at designing the perfect system because we don’t want to engage in the hard work of actually starting. There’s a very interesting book called The War of Art by StevenPressfield that talks about creative blocks. Pressfield teaches that there is actually a psychic force or entity called “Resistance” which is actively engaged in the goal of preventing you from fulfilling your calling or destiny. Perfectionism is among the many tools it uses to keep you from actually achieving your goals.
To overcome resistance we need to discipline ourselves to take action – as if we were literally warriors. A warrior has no time, in the heat of battle, to wait upon the perfect plan. Take action today on your goals. Create even if you aren’t feeling creative. Whatever it is you do, do it. Stop planning endlessly and actually put in some work – even if you aren’t feeling at your best. Mistakes can be corrected. But you can’t correct the work you never even start.