DevOps Protocols: Start Small
Imagine you want to introduce automated configuration management to your organization. You’ve read all the books and even visited a great conference where you heard a lot of success stories. “It’s really time to get our servers under control” you think. But how do you get started?
The over ambition trap
You’re highly motivated and the picture of having all your server configurations automated is as crystal clear as your brand new Retina display. It’s time to get moving. You start convincing your colleagues that it’s a great idea. But as soon as you talk to your manager, you feel like you’ve been downgraded to an old CRT monitor. Where you see challenges and opportunities, he only sees risks and efforts. Your grand vision crumbles under its own weight and you’re back to square one. Even worse, you’re so burnt and frustrated that you know a second attempt would be next to impossible.
The starvation trap
But what if your manager said “Go for it”? You start setting up the basic infrastructure and automating the first few services, but things are harder than expected. It takes more time and some code gets really ugly. Not only is it necessary to master the configuration management tools but you have to learn a lot of software development practices as well. You’re already partially burnt out from the effort of convincing your company this is the “next big thing”, but you encounter more problems and start to slow down. Your colleagues start complaining and you hardly dare face your manager anymore. One day you realize that the task is too big and that the benefit of having a fully automated data center is too far away. You give up. Game over.
How starting small can save your day
You have the grand vision. But instead of trying to automate everything at once, you just get user management automated. Your manager sees the immediate value and you get started. After a couple of days you’re ready to roll out your code to the first staging server. And because the impact of your automation attempt is limited you’re able to roll it out to production a few days later. This is a small but great success. You’ve solved a real issue in no time and people see the value of your approach. The success gives you wings and you attack the next challenge: bringing one server under automated configuration management. And after that you take up the next and the next. Every success adds to your creditability and gives you more energy to take on bigger and bigger challenges. This is the power of starting small.
Have you ever failed because you started too big? Please share your story in the comments below.