Agile DevOps: The Poor Man’s Guide to a Successful DevOps Initiative
Changing an organization's culture is one of the most difficult leadership challenges. DevOps being such a cultural shift, how do you make your DevOps initiative successful in your organization? One simplistic approach to try that is based on the age old “Stone Soup Story ”. You might have heard this story a million times, but you might not have realized its potential to bring in cultural change. Here is how the story goes (courtesy of Wikipedia ): “Some travelers come to a village, carrying nothing more than an empty pot. Upon their arrival, the villagers are unwilling to share any of their food stores with the hungry travelers. The travelers fill the pot with water, drop a large stone in it, and place it over a fire in thevillage square. One of the villagers becomes curious and asks what they are doing. The travelers answer that they are making "stone soup", which tastes wonderful, although it still needs a little bit of garnish to improve the flavor, which they are missing. The villager does not mind parting with just a little bit of carrot to help them out, so it gets added to the soup. Another villager walks by, inquiring about the pot, and the travelers again mention their stone soup which has not reached its full potential yet. The villager hands them a little bit of seasoning to help them out. More and more villagers walk by, each adding another ingredient. Finally, a delicious and nourishing pot of soup is enjoyed by all”.
Start with the end in mind
Like the travelers who are entering a village, as a DevOps champion you may not be fully aware of all the requirements within your organization. The key is to have a clear vision on what needs to be achieved or built even though all the specifics may not be known. Stephen Covey in his famous book ‘7 Habits of highly successful people’ said, start with an end in mind. As in the story the vision is to make soup, which in our case is about bringing cultural change that will benefit the whole organization.
Start with what you know
As we saw in the story, it is not clear whether they will end up with vegetable, beef, chicken soup or something even better. Similarly every organization is different and there could be some differences in the outcome they all will achieve. The key is to make a soup that is tasty that can be enjoyed by everyone in your organization. Start with what you know and then make incremental changes as you gather more data. There are so many resources like c9d9 Podcast, DevOps Enterprise Summit, Gene Kim’s The Phoenix Project and other great articles you can find on the web to guide you along your journey.
Start an ‘Open Thought’ Initiative
Like the travelers who set up their fire in the village square DevOps should be done in the open so it is transparent to the whole organization. An ‘Open Thought’ initiative is all about creating an environment for employees to freely share their thoughts and ideas without any fear of criticism or backlash. This allows for healthy conversations and builds trust among the various teams that are involved. The key is to keep promoting the vision. In the beginning it may look like no one is interested in what you are doing or vehemently oppose your DevOps initiative. This reminds me of the famous quote from Henry Ford, “If I had asked people what they wanted, they would have said faster horses”. As human beings, we all have our own beliefs, values and pre-conceived notions that we have developed throughout the course of our lives. Until you show people what is possible, they will challenge your ideas based on their beliefs. This may come out as them saying we just need faster horses, or tools and not DevOps which is quite natural. The Earlier you can show them the value, the easier your journey becomes. So focus on creating those early success stories.
Start with a strong foundation
Think for a minute what would have happened if they had come with a pot that leaks, or even worse a pot that will start leaking in the height of their cooking. Results would have been unpredictable. So this a critical step in the process- picking the right tool! Research and identify the right tool(s) that will make you successful. You can reach out to well known analysts like Gartner , Forrester , Ovum or 451 Research who has published Application Release Automation (ARA) reports and evaluate key vendors in the DevOps space. Here are a few things to look for in the technology solution:
The tool should be powerful yet easy to use for 80 percent of the use cases
Make sure you do not pick a tool that is just easy to use but is not flexible or powerful enough to support use cases that you may not have foreseen (Remember: You are starting with what you know )
Does it support a DevOps way of working? DevOps is all about sharing control, visibility, and resources. Giving teams the ability to collaborate and treat their delivery pipelines as a product, get fast feedback about each pipeline run and iteratively improve the pipeline to help with optimization or troubleshooting is paramount.
Does it meet basic enterprise application requirements
Scalability - Make sure you have a big enough pot! Or in other words make sure the tool can scale with your DevOps initiative.
Fault tolerance/High availability - Make sure you always have a fire burning.
Easy out of the box tool integration - Make sure your pot is capable of handling all types of ingredients that the villager may bring.
Enterprise grade Security and Role Based access control - Make sure not just anyone can shove something in and “spoil your soup.”
Traceability and Auditability - Make sure you give credit (or provide accountability) to those who participated in your soup-making efforts.
Future proof - You do not want to paint yourself into a corner as the time passes
Metrics - You cannot improve what you cannot measure.
There is definitely something we can learn from the Agile software development methodology. Break down your vision into demonstrable milestones and smaller tasks that will help you tell your success stories faster. Even if it is about starting with a ‘Hello World’ application and integrating it with all the tools and deploying it to production. Going from a simple application with one component to a complex hybrid application with multiple traditional components and docker containers and deploying them to cloud should be easy, if you have done your homework and chose the right tool. Now it is time to sit back and enjoy your soup. My soup turned out to be Seafood Clam Chowder. What is yours? We’d like to hear your transformational stories.
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.