A DevOps adoption journey involves both technical change and organizational change. Tools and technology definitely have their place in this journey. For example, good tooling can improve the speed, quality, and agility of an organization. Automation is absolutely at the heart of DevOps as a massive enabler. In most cases, however, successful organizational change is likely to be a much more effective catalyst for improvement than buying or implementing a tool could ever be.
The problem, of course, is that organizational change is extremely challenging to achieve. A combination of inertia, resistance, and entrenched skill sets and processes can combine to make any form of organizational change difficult unless creative solutions are put in place.
Here are some strategic issues your organization can address that can dramatically improve technology delivery capability without anyone even touching the software:
- Top-level diagnostics. DevOps adoption can’t be successful in any organization without strong executive sponsorship from top management. Top management must effectively communicate the benefit of adoption to all teams, including business, development, QA, infrastructure, and operations. Additionally, management needs to demonstrate a sense of urgency through active involvement and promotion of the desired goal. At times of change, teams look to senior management to walk the walk.
- Organizational design. Optimally structuring the departments, reporting lines, job roles, and responsibilities across business and technology organizations is the best way to remove silos between different teams and to drive collaboration. Organizational design should encourage cross-team meetings, shared work spaces, and other ways of encouraging interpersonal collaboration. Teams should be empowered to act on their vision.
- Performance management. Goals for the DevOps team should provide the right incentive structures, such as short-term wins to get the desired outcomes and allowing participants to make decisions. Performance management should promote shared accountability and responsibility within the organization. Teams should be empowered to act on their vision and to expect quick feedback. Performance management should act as a facilitator of change for the various teams.
- Incremental change. We can start with a few critical behavioral changes that can act as enablers for adopting new ways of working. We can begin by identifying the critical few blockers that are impacting team performance. Incremental change helps us adopt new ways of working with small amounts of incremental effort.
- Employee pride and commitment. Success versus failure of DevOps adoption depends on how employees perceive the new ways of working. During adoption, we must find ways to connect with these employees and let them see the larger context, such as customer delight and doing best-in-class work.
- Leveraging change agents. DevOps adoption can be faster and smoother if we leverage the right change agents at every level of the organization. Team members tend to better accept change when peers call out its benefits than when managers or executives do. These empowered peers, acting as change agents, can communicate the organizational message very effectively and increase the likelihood of a successful DevOps adoption.
- Enablement before enforcement. Chances for a successful transformation depend on how well change management is executed within the organization. People absorb change at a different paces, so we need to gauge what the appropriate structure and speed for the particular organization. During a DevOps adoption process, we should always listen to the teams' views about the transformation approach and provide them with the freedom to experiment and learn from their mistakes.
- Flexibility. Mandates or recommendations will not survive if the identified adoption approach or time line is too strict. We should have flexibility in timelines whenever possible, so that people can efficiently put their new knowledge into practice without unnecessarily extending their workday. Before identifying new meeting times or schedules, we must examine and try to leverage the existing setup.
- Change fatigue. In order to remain competitive, innovative organizations embark on a transformation journey with a new set of objectives. However, people can start to feel exhausted if too many transitions are taken on at once. The change initiatives have to roll out with sufficient preparation and at the proper speed to be both effective and manageable.
- Change readiness. DevOps adoption requires commitment from top management, DevOps skills to guide the team, vision, a business case, a transformational plan, etc. If we, as an organization, don't have these, then DevOps adoption will not sail through. It is often best to begin with a thoroughly considered change readiness assessment.
- Involvement at every level. A DevOps adoption journey should be planned and executed in such way that team members at every level can participate in and give input about the initiative right from the start. Participants will better understand the expected changes and more readily undertake them on their own initiative. Wholehearted engagement from teams eases the adoption journey, whereas resistance from an uninvolved team will make implementation an ongoing challenge.
- Emergent change. Every iteration of DevOps adoption is a good source of learning, but sometimes leaders are so eager to claim success that they don’t make a conscious effort to perform retrospectives to brainstorm what is working well, what can be further improved, and what effective course corrections might be.