Strategies for DevOps adoption across teams
Accelerating an environment of strong teamwork and collaboration is one of the main benefits of adopting a DevOps culture.
Implementing DevOps is not merely a change in IT and it’s certainly not a simple flip of a switch. The adoption of DevOps software development and the move to CI/CD requires a DevOps culture change that must take place throughout the entire organization.
Successful DevOps adoption involves a shift in mindset, culture, and processes. The focus on organization-wide culture change is crucial. In fact, a lack of culture change is the main reason why DevOps initiatives fail. “DevOps is a new way of embracing technology and requires a critical evaluation of traditional tools, practices philosophies,” notes one DevOps expert in The New Stack. “This level of commitment to change requires a strong vision shared by a champion who is empowered to change the culture.”
Becoming a DevOps organization doesn’t happen in a vacuum and it doesn’t happen overnight. In fact, moving to DevOps is often described as a journey that the entire organization must navigate together. A good way to start is determining the correct DevOps practices to include when adopting DevOps. Some hallmarks of a successful DevOps organization include:
- Collaboration and autonomous ownership of the DevOps methodology across teams.
- Buy-in from leadership that includes training, tools, as well as but a commitment to DevOps practices throughout the entire organization.
- The development of strong infrastructure and communications channels to boost cooperation and collaboration.
- Always implementing CI/CD processes.
- Establishing a strong collaborative culture and environment that includes breaking down silos.
- Supporting and implementing a mindset change that incorporates that concept of “fear to fail,” or the idea that teams need to learn from failures instead of fearing them.
- Change the organization’s approval structure to one that is more well defined and that incorporates automation.
- Planning which includes a response/issue plan and rollback if necessary.
- Automation of processes throughout the software delivery lifecycle including development, testing, configuration, and deployment.
Organizations can devise innovative ways to support the journey of adopting DevOps methodology that advances the software development pipeline towards Value Stream Management. After they noted a need for DevOps adoption in their organization, Schneider began the process after a period of planning and strategy. In a recent webinar spotlighting Schneider’s DevOps adoption process, Schneider’s Release Automation and DevOps Manager Amanda Mae Heintz shared some of the innovative strategies they used to ease the process, noting, “more than anything, people are the key ingredient for success.
Align teams and roles to optimize transition/adopt of DevOps
When an organization transitions to DevOps, the change has to start from leadership for an optimal journey. The buy-in has to be established starting from the level of senior management. DevOps doesn’t work with just a commitment from an isolated team. Teamwork is essential, not only throughout IT, but also in all other business areas or departments that will be affected by a move to DevOps.
According to DevOps expert and author Isaac Sacolick, “Culture change needs to be a priority so that developers, engineers, and technology leaders collaborate around the implementation and drive real impact for the business and end-users.”
Similarly, while looking at DevOps in 2020 and beyond, DevOps and Agile authority Gene Kim stated, “The enterprise can no longer sustain a binary thought process: top-down or tech only. We must achieve true collaboration. Ninety percent of that work involves getting the right people engaged, onboard and aligned. Start there and we can maintain the motivation into the future.”
Success often hinges on careful choices made at the start of the DevOps journey that separates silos and encourages the type of collaboration that will be successful. Schneider explained that at the beginning of their move to DevOps, they assembled a team to drive and lead CI/CD and release automation. They began by creating a team with a diverse background and expertise in areas such as testing methodology, ITSM, middleware and infrastructure. They deliberately selected team members that are well respected in the entire organizations and who often act as catalysts for change among the organization’s tech team
Strong communications and collaborative practices with a focus on experimentation and learning
A robust communications structure is vital to a successful DevOps journey, as DevOps methodology involves new processes, new methods and new tools. When DevOps methods are adopted, expectations and practices change swiftly, and team members often have new or differing roles.
Some keys to successful and effective communication include focusing on learning processes and experimental methods, including moving away from a culture of fear of failure. Establishing a “no blame culture” within the communication structure is essential. As several DevOps experts discussing culture note, “Creating a safe environment for that communication allows for evaluating processes without blame, continued experimentation and shared learnings. A culture of transparency and tolerance also goes hand-in-hand with the collaboration and ownership necessary for a healthy DevOps methodology.”
But effective communication should not be confined to isolated areas. “If you don’t embrace strong communication and collaborative practices among everyone in the software development, testing, delivery, and operational process, automating your processes will not yield the business benefits you desire,” according to the Agile Connection.
Good communications can help teams stay motivated and engaged, especially if open communication is paired with experimentation and a willingness to try new technologies. Schneider shared some of their innovative communication and engagement ideas including finding unique ways to engage the audience across tech. By keeping the wider audience involved and apprised of changes, the wider tech audience in the organization stays involved. They found ways to incorporate internal communications channels such as chat apps, internal blogs, and other engagement channels.
Communications techniques have been especially significant in the months since COVID forced remote work and a distributed workforce. Now that it appears that this development is unlikely to change even after a “return to normal,” team engagement through digital channels such as Slack channels, video, and text/SMS will remain crucial.
Implement and celebrate small wins
Despite the adoption of automation, changes in tools, testing, and processes, organizations need to accept that they will never implement all software delivery changes at once.
One of the mindset changes necessary for successful DevOps adoption is ensuring that teams acknowledge and celebrate as they reach milestones and successes.
For example, teams should celebrate when tasks are automated, testing scenarios are implemented, or a job stream automated. Celebrations should be immediate as seeing progress and results will be excellent team motivators.
The concept of celebrations is acknowledged in DORA, in an article discussing steps needed to make DevOps a reality, noting that celebrations create a “low-stakes opportunity to master key DevOps capabilities, such as building small, diverse teams with shared goals. A few small wins will provide evidence to the rest of the organization that DevOps works. Soon others will want to follow suit.”
The idea of shared responsibility and collaboration between cross-functional teams is one of the mindset changes that are a departure from the waterfall or other traditional development models. A successful DevOps journey begins with people working together with shared goals.
While the automation of processes is essential to DevOps adoption, organizations need to remember that individuals and teams are at the core of DevOps. Schneider’s DevOps Manager Heintz affirmed this, stating that “the right people in place can increase the confidence in the new processes.”
Accelerating an environment of strong teamwork and collaboration is one of the main benefits of adopting a DevOps culture. With traditional development models, individuals focus on their own small part of the process and then hand off that piece to the next stage. But in DevOps, collaboration “is central to delivering value.” Shared responsibility is an essential component of the DevOps methodology, ensuring that team members stay involved with solutions over the long term.