Agile Know-How Magazine, Fall 2017, Volume 2 MagAKnowHow_Vol2_aut2017_EN | Page 31

Agile Know-How Magazine • Fall 2017 teams working on a product, a single multidisciplinary team is dedicated to each product.
Another possible option is to have the development and operations teams collaborate continuously while remaining separate. Each team retains its responsibilities but works closely with the other to fix problems or improve the way they do things. This implies that teams are familiar with the others’ skill sets and are able to put themselves in the shoes of their collaborators to identify problems and overcome them.
DevOps workflows
A DevOps approach is related to Agile continuous delivery strategies, and they usually share several characteristics. Even though there is no agreed-upon set of processes, some critical steps in software production can be identified.
Steps in software production
• Planning, during which requirements, case studies and metrics are identified.
• Creation, which simply involves programming the software.
• Verification, which includes testing and most of the quality assurance process.
• Configuration, when necessary infrastructure changes are made.
• Launch, when the software is deployed.
• Monitoring, during which we observe the user experience and overall performance of the application.
The data collected during the last stage is used in planning the next deployment. DevOps also uses automated tools, virtualization, and continuous integration to make the delivery process more fluid and continuous.
These steps can in many ways remind us of a traditional process, but the idea here is to repeat them constantly, at each iteration, and not only once for the whole project. The ability of the people involved to make the cycle as fluid as possible also depends on their ability to adapt and to learn from experience.
Continuously monitoring application environments in an iterative way improves processes and code. It also makes it possible to get constant feedback from users and integrators and to adjust accordingly. This provides us with a competitive
advantage that’ s essential in the software development field.
The importance of organizational culture
DevOps is more than an approach; it is a state of mind. Therefore, we strongly recommend revisiting the corporate culture to find ways of adapting it accordingly. Its compatibility with this way of approaching development and delivery jointly is undeniably important. In the same way that it is difficult to adopt Scrum in a team without working on its environment and culture, it is at least as hard to rally development and operations without decisively influencing the existing culture.
The organization’ s management must especially not underestimate the influence of internal culture. Despite being intangible, it can be responsible for the success or failure of an initiative to move toward a DevOps culture. The choice of managers and their degree of involvement and flexibility will have a clear influence on the team’ s ability to welcome change.
We especially recommend implementing mechanisms that allow people to understand and absorb what is expected of them. Unfortunately, there is no such thing as magical thinking; people do not instantly start communicating and collaborating better because they are told to. We need to take time to coach
agileknowhow. com 31