If you mention an update or new feature in IT circles, you will often hear the jokey comment “Never change a running system.” In other words, if a system works, leave well alone. Stephan Pflume from the CIO organisational unit of the Group has a completely different take on this: “Ever run a changing system – because high-velocity change is a key component of the DevOps concept.” The term “DevOps” was coined as a combination of “development” and “IT operations”. Until the first DevOps projects were completed at Deutsche Bahn four years ago, a clear boundary existed between development and operations, and IT projects were implemented based on the following model: definition of requirements by the client, software design and implementation, and eventual delivery of the finished product. Another group was then responsible for operating the software.
These days, most people in the Group know what is meant by DevOps. Over the past four years, the method has evolved into a real success story. It’s true that there have been ups and downs along the way. However, with the older methods used in the past, it could take a while before the results of software development were visible, let alone before the finished product was released. And if bugs were found during operations or you wanted to add missing features, you had to wait until the next release. Although this type of software development is long out of date, it is still common practice in many places.
“Even without DevOps, the way we develop software has changed,” says Dana Scheuring of DB Systel. “But by collaborating closely with partners during DevOps projects, we not only develop software faster but can also go live with new features more quickly.” Whereas before it took weeks – if not months – you can now deliver new releases several times a day if necessary. This is made possible by close consultation, automated testing and use of new technological developments. “Whenever it makes sense to do so, we create teams,” says Dana Scheuring. At DB Systel alone, there are currently more than 50 DevOps teams working closely with partners. Stephan Pflume, one of these partners, says: “With DevOps, we have acquired capabilities that we once only dreamed of. We have achieved a level of quality in development and operations that would otherwise be unattainable.”
Collaboration and reduced workloads
The advantages are obvious: the new way of collaborating reduces and streamlines the workload in certain areas. For example, the DevOps approach eliminates the need to draft extensive requirements and specifications. Stephan Pflume: “We talk with clients about the goals that they want to achieve. Then, we develop a solution step by step, producing usable results after each step. In this way, we learn together with clients what the next step should be.” Creating automated tests is part of this development process. Manual tests are only carried out for complex new developments. Even then, they are not used for troubleshooting, but to consult with users at intermediate stages of development to find out whether software features are clear and useful. This approach also significantly reduces the risk of undesirable developments, which in turn saves considerable resources.
DevOps is a cultural change based on trust. The organisational requirements also lead to important changes. “Partners within the Group need to be more actively and intensively involved in the process,” says Dana Scheuring. “This calls for collaborative, solution-driven teamwork.” For DevOps, continuous methods must be established with as few transfers of responsibility as possible, which requires openness on both sides. Clients are more actively involved in the project and interact more with the project team. This in turn facilitates more effective transfer of expertise between all parties involved.
Fast and reliable
Of course, major changes to workflows and collaboration such as those associated with the adoption of DevOps take some getting used to. “You can’t just decree that DevOps must be used and expect things to start right away. We’ve had to get used to it step by step,” says Stephan Pflume. Responsibilities and decisions can be focused within the team, which avoids lengthy decision-making processes and allows aspects that are considered urgent to be implemented straight away. The great advantage of DevOps becomes especially apparent at times of high threat and IT security: security patches can now also be quickly integrated into the system. “We used to have around two major releases a year. Today, we are constantly rolling out new software and patches for all the components we use and can easily have 20 releases in a single week,” says Stephan Pflume. “DevOps has done more than meet our expectations – it has exceeded them,” he says. “There’s no going back to the old way.”