A recent survey by eMarketer found that the average person clocks over 4 hours of time on their mobile phone every single day, with 90% of that time spent on apps. It comes as no surprise then that to satisfy this ever-increasing digital appetite, apps need to be developed and updated rapidly.
The fact that an app works – or, indeed, doesn’t work is of primordial importance in whether the customer has a positive or negative impression of a company. Therefore, software and processes have to be more agile.
To make apps run smoothly, companies should invest in DevOps, a combination of cultural philosophies, practices, and tools for an organisation to develop and deliver applications and services quickly.
>See also: Best DevOps practices for 2017
However, in order to make use of this combination, organisations need to be prepared to enable the three main DevOps areas: technology enabled agility, collaboration and orchestration. However, drilling into these three key areas has revealed several potential issues organisations need to overcome.
Agility enabled through technology should be relatively easy to achieve, provided application development and operations maturity are in place. However, Dev and Ops often have conflicting priorities – for example rapid change versus stability. Dev and Ops must also define “maturity” in similar ways.
For instance, organisations can be considered as having achieved a common stage of maturity when there is an understanding and control of the flow of work relevant to the business context, reducing release cycle time, managing constraints and preventing handoff of defects down-stream, eliminating waiting times, enabling the feedback loop to return to the earliest part of definition and design and development.
Greater agility will come through better communication, and DevOps is one way businesses can ensure teams are communicating well. In addition, there needs to be a focus on resilience engineering which can be achieved by continuously tightening the KPIs for the different development activities to establish new habits and improve performance.
Collaborative operating models
Developing collaborative operating models to create an efficient DevOps practice is the most difficult challenge to address. Almost all organisations falter on their first attempt to address the cultural changes required to make the DevOps practice successful and efficient.
Therefore, organisations should firstly look at breaking down silos and establish a multidisciplinary group with a shared vision across internal and supplier staff guided by a common understanding of the business value stream enabled by IT.
>See also: Dealing with division through DevOps
Second, development practices need to be extended into operations and operations disciplines into development. There should be a single repository of truth with trail-based quality gates, standardised build and deploy processes, regimented operations discipline, simulated production readiness and assurance in development. Finally, a single point of accountability and cohesive operating model needs to be established across the organisation.
Establishing a cohesive organisation design is not the silver bullet for collaboration, although it is an important enabler. Collaboration must be established without management artificially driving trust within the team, but by the team members themselves. This means, organisations should think of any information or work as a collective, not singular, and success is interdependent.
The efficiency of collaboration becomes a leading indicator of a cohesive organisation. Then, knowledge across departments should be organised as a central knowledge bank with a visual “work map” of associated work centres and interdependencies, similar to the orientation on a city map, on which the viewer’s location is marked “You are here” for orientation and quick identification of the route to the users.
In addition to a strong culture of inclusion, trust, empowerment and feedback, the development team need to collaborate with the operations team to enable “design for operations”. Likewise, the operations team needs development’s inclusion to ensure “operations work; don’t go backward”; as a consequence, there is no rework or unplanned work.
Developing collaborative operating models is a stumbling block for most organisations as they struggle to manage culture, cooperation, compartmentalisation and contracts to enable collaboration.
Orchestrating competencies is another important dimension in the transition to DevOps. It means aligning roles and capabilities in the organisation in order to work seamlessly together.
This is often misinterpreted as platform enablement, and therefore it may become a pure technology conversation exercise. It should instead be seen as the seamless bidirectional integration of the system of engagement to the system of records, involving process, technology and service solution teams.
Organisations should take a number of steps to make a successful transition to DevOps:
• A competency framework that is not purely technology-centric but service-aligned, incubating DevOps practices into the technology and process elements of service provision.
• A unified DevOps practice capable of dealing with a large and diverse application portfolio in a consistent manner.
• An easy-to-use integration and measurement model across the infrastructure and services stack – and no islands of automation.
• A service catalogue, with customisable service offerings aligned to the development, integration and deployment technology platform. This is an important prerequisite and an enabler for the integration of DevOps tools.
• A workable minimum viable product (MVP) model for each feature introduction – meaning analogue to product development a feature with just enough features to satisfy early customers, and to provide feedback for future development.
• A full stack continuous monitoring and management with communication and notification becomes as important as execution across the product release lifecycle.
It is clear that many IT organisations struggle to varying degrees in fully practicing DevOps. Challenges such as preparing organisations for DevOps key practices such as agility, collaboration and orchestration are typically what cause IT organisations to stumble when attempting to evolve toward DevOps.
However, as we have seen, making the most of technology to enable agility means this problem can be solved relatively easy.
It is the creation of a collaborative organisational operating model to support the “continuous everything” mindset and competency orchestration which is the greater challenge. However, it is a challenge worth taking to utilise the advantages of DevOps to the full.
Sourced by Andreas Golze, VP Quality Engineering & Assurance, Cognizant