Perfect? Or Good Enough? January 26, 2008Posted by Chuck Musciano in Leadership.
Tags: Best Of 2008, Innovation, Operations
I am, I fear, driving my team crazy. One moment, I am demanding perfection, unwilling to accept even the slightest error. The next moment, I’m encouraging them to experiment, to make mistakes, to get results rapidly to our customers. It all makes sense to me, but I don’t know that they see the method to my (apparent) madness.
In reality, IS organizations suffer from a split personality. Half of our job is to deliver any and all computing services, 24 by 7, without fail, no matter what. The other half is to innovate, find clever new solutions to problems, and get those soutions out to people as quickly as possible. The former role demands unrelenting perfection; the latter will tolerate (and even requires) failure and iteration.
Operations: All Or Nothing
Running computer operations is easy. Make it work, never let it fail, handle every contingency, and keep all the users happy. Like electricity and phone service, users view computer services like a utility and have every expectation that they will just be there, all the time.
Users have every right to this level of service. There is nothing magic about computer operations. The discipline of reliable computing is a well-understood field. The processes and best practices that support reliable computer service delivery are not difficult to master. If you elect to be in that business, you do so knowing what is expected and what it will take. If you are not up to the task, don’t accept the challenge.
For those who make operations their life, there is great satisfaction in achieving near-perfection on a regular basis. A well-run data center is a thing of beauty, and the practices and procedures provide a comfortable, controlled world in which to operate. Don’t misunderstand: it is hard, thankless work, and the only time you get any attention is when things go wrong. People standing on the bow of the boat, wind in their hair, rarely appreciate the efforts of those shoveling coal down below. Satisfaction in operations almost always comes from within.
I find it frustrating when we have an operational failure. Almost every single operational breakdown can be traced to failure to adhere to best practices, be they in communicating, alerting, responding, preparing, or reacting. Even when things just explode, there is no excuse for not having a plan that will handle such a rare event.
Like the end users, I expect perfection on the operations side of this business. But I also deeply appreciate the effort that it takes to achieve such perfection, and will do everything I can to ensure that my operations staff has the tools needed to achieve perfection.
Innovation: Good Enough
The other half of IS is about building new things and getting them in front of people. In this world, creativity, innovation, and experimentation carry the day. Perfection is often the enemy.
An IS staff drilled in operational perfection will struggle when they try to switch gears and innovate. Schedules slip and projects collapse as teams work to make every new tool perfect. Users get frustrated as they wait for solutions. Instead of delivering something that is good enough, we waste too much time trying to achieve perfection.
In fact, many users are happy to get something that is good enough. Usually, a “good enough” new tool is such a big improvement over the old process or tool that users are glad to get it. If you build good relationships with users, they will come to trust that you will stick with them to constantly improve that “good enough” solution over time, delivering continuous improvements over the long term.
The other benefit to “good enough” is that it lets you see where you fell short and how you can improve things with good user input. It is not possible to build a perfect tool on the first try. You need to iterate, to fail, to rebuild things to make them better and closer to perfect. You cannot design perfection right from the start.
I strongly encourage my development teams to try new things, make mistakes, and learn from them. The only bad mistake is one that you repeat. If you learn from a mistake and move forward from it, everyone benefits in the long run. The best systems evolve over time, incorporate all those lessons learned, and leverage those mistakes to improve in unforeseen ways.
As IS Leaders, we need to enforce both of these disciplines in our teams. We must deliver operational perfection and innovative solutions. We have to help our teams see the difference, give them the tools to achieve perfection where it is needed, and the latitude to fail and recover where that make sense. Achieve both sides of this balance, and your users will truly be well-served.