This is a re-post of my article, originally published on The Ravello Blog.
Without a doubt, the traditional role of IT is changing. Traditionally IT were the ones to make the decisions about all kinds of things, they ruled. Today the end user is now king – and is placing all kinds of demands on IT. Users want mobility, they want their applications to work on all of their devices and not just in the office. In most enterprises, IT is trying to adapt to the evolving needs of the organization as quickly as possible.
The emergence of DevOps culture and its introduction into the enterprise presents a challenge for seasoned IT people. Traditionally developers were responsible for writing the code and IT were the ones who made sure it worked on the necessary platforms. The work was done by different types of people who worked separately and implemented entirely different methodologies and workflows. For example, ITIL for IT services, and Agile for development. With a disconnect of sorts between the two teams.
Open the lines of communication
DevOps blurs the traditional boundaries between developers and IT. DevOps brings together development and operations to achieve a common goal. To succeed it is important that developers and Operations learn to communicate. Simple initiatives, such as including representative from the other team in key meetings, can go a long way to establishing better communications and collaboration. It is important that everyone involved understand and appreciate the roles of their counterparts, how they work, and their concerns.
Change the mindset
DevOps is not just a way of working, it is a state of mind, a culture. The greatest obstacle to the adoption of a DevOps culture can be the existing organizational culture. There is often fear that with collaboration will come a loss of control, or diminished responsibility.
Successful DevOps means a change in mindset – all parties involved need to share responsibility for the success or the failure of the product. Resources need to be pooled with the objective of delivering the best possible outcome in an efficient, timely manner. Your journey towards a DevOps orientated environment can succeed only if it is supported by the organization’s management tier.
Check out and consider adapting some or all of the underlying principles of the Agile Manifesto.
Make informed decisions
Before implementing DevOps in the enterprise, take the time to learn about the pros and cons of the different DevOps methodologies. Make sure you understand the pain points for both developers and IT. It is also important to understand where a change in the way you do things can provide added benefit and also where such a change can cause harm, and plan accordingly.
When I first began looking into DevOps, “The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win” was a real eye-opener for me. Written by Gene Kim, Kevin Behr, and George Spafford, this book provided insights into how one company transformed their IT department’s operations to achieve greater efficiency and profitability.
Consider attending a conference or seminar on DevOps, for example, a DevOpsDays event, where you can learn from the experiences of others.
There are a wide range of configuration and management tools available today, such as Chef, Puppet, SaltStack, and CFEgine. Start investigating these tools to determine which one offers the best potential for your organization.