Don’t put DevOps in a box Don’t ignore culture Don’t under-invest in automation Don’t bogart your awesome discoveries Don’t put DevOps in a box. “I don’t know what DevOps is, but I want some.”-Management Ask five different people what DevOps is and you will get five different answers. Any of those five answers probably […]
“I don’t know what DevOps is, but I want some.”-Management
Ask five different people what DevOps is and you will get five different answers. Any of those five answers probably won’t be wrong, but they also won’t be 100% right. DevOps is hard to fully explain in a single sentence. It isn’t just one thing and doesn’t have a single definitive source of truth. As stated in the DevOps Handbook “DevOps…represent[s] a convergence of many philosophical and management movements.” Some people want to put a box around DevOps, calling it just culture or just automation. But it’s both of those things and more.
DevOps came from a grassroots movement. The term “grassroots” refers to something (e.g., an idea, a movement, philosophy, solution, etc.) created by the people who are directly affected by a given circumstance. As Albert J. Beveridge said in 1912, a grassroots movement is one that “has grown from the soil of people’s hard necessities.” In the early 2000s, Patrick Dubois was an IT consultant working on a data migration initiative that required him to work with both developers and the operations specialist. He was frustrated with the various disconnects and conflicts between development and operations. In 2008, he reached out to the Agile community, shared his frustrations, and started a conversation. The conversation grew into a global movement dubbed DevOps.
The goal of DevOps is to maximize value in the shortest sustainable lead time. Ways to do that are continually evolving and varied. Therefore, DevOps is intentionally open-ended and fluid. Think of DevOps as an open container for practices and principles that will help you improve speed to market, quality, and customer satisfaction.
To deliver value faster, the people in each step of your value stream must start working together. You may have removed the silos between development and QA, but what silos remain? When people in interdependent components work in isolation, misunderstandings, false assumptions, and prolonged hand-offs cause significant delays.
Just telling people to start working together across specialties only works on paper. If there is little trust between departments, and people value sub-optimization over end-to-end optimization, successfully blending the line between development and operations will be difficult. To successfully leverage DevOps, you must always consider culture. Understand your current culture. Don’t make assumptions. Ask a lot of questions: where is the resistance to cooperation and why? Is there resistance to implementing new technology? If so, why? Create a space for open dialogue where people feel safe to be honest and overcome cultural hurdles together.
Culture doesn’t usually self-correct. No matter how awesome your technology and strategies are, if your culture doesn’t support your goals, you will see little improvement from your DevOps journey.
Automation is key! People on all levels of the organization must understand that. Investing time and money implementing and or improving and automated pipeline should be near the top of your priority list. With web-based applications, consumers expect continuous delivery of value. The only way to achieve this is through strategically leveraging the plethora of available tools to automate builds, testing, security scans, deployment, etc.
Let technology do the repetitive busy work so your valuable employees can do the critical thinking work you hired them to do.
With the DevOps knowledge base being open to all, it comes with it an expectation of sharing. As you experiment, learn, and grow, share your discoveries with the rest of the community. Keep the grassroots aspect of DevOps alive. As the world changes and technology continues to evolve, DevOps practices and principles should also evolve. The best contributions to the DevOps movement come from practitioners (the developers, testers, operations specialists, etc.) who convert ideas into value.
Start or contribute to an existing blog. Join DevOps conferences. Continue learning. It’s exciting to know that there is never-ending opportunity to innovate, make your solutions better, and to solve more problems. Sharing great ideas will help increase productivity and satisfaction for ourselves and our customers.
Get comfortable with DevOps being somewhat nebulous. Learn about and understand each of the facets. Build a learning culture, where people are encouraged to experiment, to learn by doing, and to trust each other and share information across teams. Continue to build out an automated CI/CD pipeline incrementally and iteratively. And most of all, have fun!