Guest post by Sanjay Zalavadia
The barriers that once existed between teams under waterfall processes have been effectively mitigated with the rise of agile software development and its subsets. DevOps is one offshoot in particular that brings together development and operations groups to collaborate and push out deliverables quickly. However, getting DevOps to work is much easier said than done. Let's take a look at where you should start when implementing DevOps teams:
Much like agile, you don't want to go in all at once. It will be critical for your teams to get used to the initiative in order to support it effectively. To start with, select a single application and apply DevOps principles to the QA management, testing and development of that project. The Software Engineering Institute at Carnegie Mellon University noted that it's important to identify any inefficiencies or risks that exist, and to gear DevOps plans to fix these issues. This initial phase will pay off in the end with insights to help bolster DevOps.
Establish a blended team culture
This is going to be one of the biggest ongoing challenges for DevOps efforts. Traditionally, developers and operations professionals didn't get along, so putting them together is likely to generate some animosity at first. However, this can be changed with a strong mutual vision to improve an organization’s software development and release. Creating objectives aligned with the business's needs will give DevOps members common goals to unite under. Datical noted that once this is established, organizations should also create a sense of ownership. The blended team will not only be held accountable for the creation and operation of services, but they will also have shared responsibility for the success or failure of a project.
Emphasize quick feedback
Traditionally, waterfall feedback loops were long and complex and often distorted the messages between parties. Any necessary changes might not have been communicated until it was too late, and this often left users unsatisfied with the app. However, the combined culture established by DevOps ensures that feedback reaches all members and that teams are more involved. In an interview with ComputerWeekly, Esure CIO Mark Foulsham noted that DevOps is a perfect environment for responding quickly to adjustments and ensuring that needs are being met at every turn.
"Foulsham says the DevOps team work from a constantly changing backlog list, where different projects are pushed up and down the schedule in response to rapidly changing business requirements," ComputerWeekly stated. "The aim, unsurprisingly, is true agility, where developers and users are comfortable with change as a new constant."
Teams can also get quick feedback from the integrated and continuous testing efforts. These practices keep a constant monitor on requirements coverage, and ensure that any slight changes are thoroughly evaluated before release. Using agile test management tools, DevOps members can easily collaborate across projects and track overall progress. These solutions also provide a way to assign and maintain test cases, report bugs and deliver notifications in real time. DevOps is a tricky practice to pursue, but it can be made easier with the right tools.