In DevOps, two teams work together to provide better and fast delivery of software. The aim of Agile computing is to provide better collaboration in a small development team to maintain productivity. Let’s look at what it takes to implement a true cultural shift in an organisation.
Anyone remotely connected with information technology is aware of the buzzwords like digital transformation, 5G, edge computing, IoT, etc. However, the focus of every technology initiative is the standardisation of software development, delivery and operations. DevOps enables that.
DevOps stands for development and operations, the two key pillars of every organisation — it encompasses all aspects of development and production. At the core are an organisation’s philosophies, values, principles, and practices that speed up the development and delivery of applications.
These days Agile computing and DevOps go hand-in-hand, as they have complimenting characteristics that drive the adoption of tools for DevOps and bring about a shift in culture for agility, somewhat like killing two birds with one stone. When the inefficiencies and weaknesses of the organisation are understood and addressed correctly, the software development process improves immensely.
A cultural shift for everyone in the organisation, not just for those responsible for application development and support, is critical in promoting collaboration and transparency. A realisation that silos exist and need to be torn down towards a common goal is critical. In an application life cycle, the roles of non-IT personnel are limited to requesting for a service and using it when it’s made available. Development teams develop the software and administrative teams support them.
Figure 1 depicts a traditional organisation versus one that has gone through a cultural shift and has found its true Ikigai or “a reason for being,” a Japanese concept that applies well to the adoption of DevOps. A purpose-driven organisation that defines every role and its engagement model is critical for continuous learning and continuous improvement, especially if it empowers teams, enables quick feedback and high empathy, and builds trusted cross-team collaboration.
Successful rollout of a DevOps and Agile culture requires understanding the key roles in a DevOps team and the interdisciplinary best practices to ease the transitions. A sharp focus on user experience remains critical to application and product development. Understanding current ways of working versus the DevOps adoption plan will help to understand the gaps, and develop a successful roadmap for the organisation.
DevOps methodology
The adoption of DevOps is rapidly expanding across the IT industry, with digital transformation pushing the need for speed and businesses focusing on quick product delivery. A DevOps strategy requires a true cultural shift in an organisation. In contrast to how long application and product development have been around, DevOps methodology is relatively new but evolving at breakneck speed. DevOps means different things to different people — there is no set defined concept for it; rather, it’s a grouping of concepts that requires an understanding of how to use the operational benefits the methodology can offer successfully.
A focus on continuous integration of development work and continuous deployment of applications (commonly known as CICD) with an eye on automation in provisioning, testing, deployment, etc, and transparent communication will ensure enhanced teamwork. Typical challenges of DevOps adoption are the existing culture, legacy integration, application complexity, and skillsets. Many of these concerns can be addressed with the management mobilising culture shift initiatives, along with an adequate budget and strategy for integrated tools for DevOps.
Tools and terminology
DevSecOps, AIOps, AIMLOps and automation are the buzzwords in the DevOps terminology, but in the end it is all about the user experience. This is overlooked many times because of the various moving parts in the DevOps environment. It is important to remind teams of the importance of the user experience to bring the end goal back into focus. Setting up a knowledge repository that includes the meaning of DevOps, success criteria, methodology, and road map will help an organisation transition to the DevOps culture successfully.
What most organisations have today is a set of tools and procedures, and individuals who make up a DevOps team. This team is only skilled and responsible for putting the tools to good use at best. However, it’s the job of everyone in the organisation to embrace the DevOps culture. What is needed is proper planning, and leveraging of automation tools across development and deployment environments. An integrated environment that subjects developed code to automated testing, packages it for deployment, and publishes the code to the production environment removes the frictions typically faced in software adoption. Selecting the appropriate tools that fit an organisation’s maturity level and objectives is critical for embracing the DevOps culture towards agility in the development of products and applications.
Creating an Agile culture is a journey that requires more than ticking checklists while providing tools and administrative processes. Just as the overall company culture and values are the drivers of employee satisfaction, an Agile culture can be realised with education and acceptance of the shift in an organisation’s use of technology by everyone. Bridging the divide between development, operations, QA and the business is a process and takes time. Understanding how DevOps methodology can bridge this gap means a new way forward towards Agile-IT!