IT organizations often face challenges ranging from complex technology to even more complex personalities. When I work with consultants, I often hear of the problems that plague organizations. For example, some build and release engineers often have to interface with software development, data security, project management, and IT operations professionals. DevOps attempts to address the dynamics between IT operations and highly skilled software and systems delivery teams.
Recently, I had an opportunity to read The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win by Gene Kim, Kevin Behr, and George Spafford. My first reaction was that many of the situations described in the pages of that novel were ones that I have frequently encountered. Organizations are often challenged by the divisions between development and operations in what I have termed the “DevOps divide.” Read on if you would like to improve your skills in dealing with these challenging dynamics.
Organizations evolve within a complex ecosystem with many forces impacting all of the stakeholders. Some of these forces exist and are controlled from within the organization. However, external forces can also impact an organization is very significant ways, too. For example, pressure from competitors and other market forces may require that companies take on significant risk in order to just stay competitive and ahead of the competition. With complex new technology systems emerging every three to six months, many businesses are hard-pressed to handle rapid deployments. While automation is an absolute must, collaborative communication is also essential. The development team is a key stakeholder in the DevOps divide.
Development bears the brunt of ill-defined and rapidly changing requirements. But development also gets to learn the new technology and get up-to-speed ahead of anyone else on the team. For this reason, build engineers and IT operations often need to depend upon the technical expertise of the development resources, who in turn can sometimes feel like they are the only stakeholders who truly understand the technical details. In fact, these dynamics often create a sense of friction between development and other stakeholders like IT operations. Improving communications can help solve these problems, but in practice there is often a significant gap between the development and the operations team. While development forges ahead, operations ensures that the systems stay online and all services are reliable.
Much is made of the fact that operations has a very different agenda than development. Operations is responsible for providing reliable services and, consequently, can sometimes be adverse to constant change. While development is always pressed to have the next release completed and deployed, operations focuses on minimizing risk and ensuring continuous and reliable IT services. These opposing forces are at the heart of the DevOps divide, and you must address them if you want your team to be more effective. The data security group often faces similar challenges.
The data security group needs to set policy, determine standards, and establish best practices to ensure that the systems are reliable and protected from intrusion. However, the data security group can also find itself challenged to safeguard complex technology that changes rapidly and is not well understood. Once again, communication is essential or else the security team may find itself without the necessary expertise to be effective. There are other important stakeholders in the complex ecosystem as well.
The QA and testing teams need to understand how the system works, including the business requirements that are often less than perfectly defined. Project managers are often challenged to provide the governance required by senior management to answer the classic question “Are we there yet?” While project managers