Yesterday was the first day I came home and zonked out. Today I crashed. Like many, I'm a creature of habit. Interestingly enough, my habits are weekly, though. My weekends are almost always action-packed so whatever habit I was in the week before, it's normally ended by Saturday evening. If I'm late to work on Monday, I'm usually late all week. If I work late on Monday… I work late all week.
This last weekend I worked the entire weekend. We're heading for a release at work, and I was juggling no less than 6 side projects at the same time. The balancing act is fun, but I tend to take on more and more… and I simply work harder and harder. Last night it caught up with me and I napped. Tonight, I crashed. I'm pooped out. And I've gotten my ‘week of habits' off to a bad start. Now I will be instantly tired when I get home from work and will probably find myself sleeping each night when I get home. Argh.
On the bright side, that means that I'm in demand, always a good thing! On the negative side, I don't like settling on my work. I have an excellent understanding of delivering perfection vs. delivering. I like perfect. I hate just delivering… though my clients would never know the difference. Delivering often means that months later I find myself ‘redoing' something that I knew I could have done perfect at delivery had I had the extra time.
Marketing and Software is often like this, though, don't you think? Deadlines demand execution and often toss out perfection. The calendar is often more important than the results. The need to deliver is stronger than the need to deliver perfectly. Often, I notice that clients would much rather sacrifice features, functionality, and aesthetics to get something in their hands sooner rather than later. Is this an American flaw? Rush, rush, rush… crash? Or is this a global flaw?
I'm not advocating ‘creep'. Creep is when the definition of completion continues to ‘creep' until you never are able to complete a project. I despise ‘creep'. Even without creep, how come we never seem to have the time to execute perfectly anymore?
At the South Bend Chocolate Factory, I order my coffee with no foo-foo… meaning no chocolate spoon, no whip cream, no cherry, no dusting of chocolate or sprinkle of syrup… just the coffee. No foo-foo gets me my coffee, without the wait for the other stuff.
Note: If you've never been to the South Bend Chocolate Factory, you're missing out on a great place with great employees. They have personality… not mindless drones. And the first time you get a nice mocha, be sure to get the foo-foo. It's a nice treat.
Back to my point… firms like Google, Flickr, 37 Signals and other modern successes toss the ‘foo foo'. These folks build great software with no foo foo. They build applications that get the job done, and are fairly adamant that it doesn't do more than that. It works. It works well. Some may think it's not ‘perfect' though because it lacks the foo-foo. Huge success and adoption rates tell me that this is not true for the majority, though. They just want it to do the job – solve the problem! I notice at my work, that we spend a lot of time on the foo-foo.
I wonder if you crash with no foo foo.
Perhaps we need to start organizing our deliverable this way so that we can deliver better and faster:
Foo-foo:What are we going to call it? How is it going to look? What are all the options we can put in it? What are our competitors doing? What do our clients want? When do we have to have it done?
No foo-foo: What is it going to do? How is it going to do it? How would a user expect it to do it? What do our users need? How long will it take to have it done?