Sunday, 28 August 2011

Be your own Steve Jobs

So Steve Jobs has left Apple. Sniffle. He didn't have much of a dress sense but the man knew who to build a product. Under his direction he took the Apple brand from flailing company to billion dollar brand with products that everybody wanted to have but don't really know why. But that's the magic of leaders like Jobs - they know the answers to a problem others don't understand and have the vision to pull it through. Which is the really hard part.

In the line of duty in IT Operations, you've probably been in situations where you have to manage services that are unreliable or inadequate or just a real pain to support. There's likely to be many long running problem with hardware, software or people that seem just too difficult to fix. But there are a few of you who still think you've got what it takes to turn it around. Do you have what it takes to turn a turd into a trophy? Here's my rough guide on how to be your own Steve Jobs.

1. Have a vision to the promised land

You need a vision of where you want to be in order to get there. It's got to be something more than some wishy-washy nonsense with buzzwords. You have to be able to see it, what your day would like, what you'd be working on, etc. For example my vision for a great monitoring system could be one that alerts you with human readable messages, few recurring false alerts, the automated discovery and configuration and an intuitive interface. The more definition you give the more you will believe in it and can persuade others to believe in it too.

2. A strategy

Many people have visions, but fewer can put together a plan to get there. Learn from the mistakes of others. It's likely that there's been an attempt to achieve something similar. Find out why it didn't work and use that info to build a better plan.

Trying to fix any problem that you see isn't a strategy. Consider what's causing the problem. If you have many servers running on old buggy firmware, the problem isn't that people are forgetting to update the firmware. It's probably that there is no systematic process of regularly checking the firmware version for potential updates. If you have 300 servers it's going to be infeasible to do manually. You need to install agents that can report on the hardware status to your monitoring system. And maybe the installation of that agent will be difficult because you don't have a system to deploy and configure software on all those servers. So the first step could be installing an automated deployment system. Then you can make changes to a monitoring system and then implemented a process of reviewing firmware versions. Or better yet, you could run a script that would do it for you.

You don't always have to go to the very root cause of an issue, but keep it in mind because it's likely to rear its head again if you don't fix it.

3. Commitment

Once you've made a credible plan, stick to it. There will be events along the way that discourage you but this will be true of any strategy. I have a habit of continually reviewing a piece of software I might have chosen to see if it's really the best choice, but this just tends to waste time. Don't be blinkered though. If there's a rational reason why the project might be coming off track, you need to look seriously at that.

4. The ability to crush the resistance

Sometimes people don't like change. Or they are so deep rooted in the status quo that they will resist wherever possible. And their resistance may infect others. In time like these, there may be nothing else to do but to crush such objections. Once you've made your business case and there's still unreasonable resistance, you can firmly demonstrate that all other roads lead to hell, and only fools would plan their own demise. Depending on your position, there are varying degrees of tact that can be employed here. Do what's necessary...