Faster deployment and better software quality Say about Agile development and continuous integration
Agile methods such as continuous integration are en vogue in software development. Software provider Sage has discussed in more detail exactly where the advantages over the linear approach such as the waterfall model lie and how customers benefit.
Companies on the topic
Agile methods help developers to meet high requirements, but they do not take the pressure off.
(© baranq – stock.adobe.com)
More and more software providers are moving to the so-called Continuous integration (CI). In this development method, software is continuously expanded and improved. The new releases are narrower, the scope of features smaller, so it is also called a “soft launch”. However, the new functions are also available to customers much earlier – keyword “Continuous Delivery” (CD).
Continuous improvement of user-friendliness and Customer Experience
The customer benefits not only from the faster provision of new features, but also from higher software quality. With the waterfall method, the developers program for months until their components are assembled into the overall solution, the so-called build, and then tested. Accordingly, many errors have to be resolved laboriously afterwards.
In CI, on the other hand, development and testing are carried out in small units, which are checked into repositories for version control at the end of a working day. Overnight, servers then assemble the code components (“Nightly Build”) and test them automatically. The entire process – programming, assembling, testing – takes place daily. Errors can be corrected, resulting in a continuous improvement of user friendliness and customer experience.
CI and CD are closely related to DevOps ‘ agile process improvement approach. This involves networking all departments involved in software development, optimizing processes and shortening development cycles. These are also important levers to improve the customer experience and increase customer loyalty. CI is supported by the trend towards agile software development: with methods such as scrum, the planning and programming is also carried out in small units, so-called sprints, which are evaluated daily in the team.
More flexibility, regular exchange
But not only for customers, but also for the development and project management teams, CI offers clear advantages in connection with agile development processes. By thinking and planning in small programming units, you are able to act much more flexibly than in the context of a large software project. This allows you to make changes to the program code faster and more frequently.
In addition, permanent coordination ensures that all stakeholders are always up-to-date and receive regular feedback on their work, which in turn leads to an increasing awareness of quality: According to DevOps Research and Assessment (DORA), CI and CD promote a goal-oriented corporate culture, improve software provision and reduce rework or unplanned work. According to DORA’s experience, the satisfaction of the teams is also higher.
“Software projects are highly complex projects in which many employees are involved and which have to meet high requirements – especially in terms of quality and compliance with delivery deadlines. Agile methods such as CI and CD increase flexibility, reduce complexity and help developers meet the increasing demands“ ” says Oliver Henrich, Vice President Product Engineering at Sage.
Soft skills and a distinctive communication culture are required
However, this way of working requires an extremely high degree of mutual exchange. The teams meet daily during a sprint and coordinate in so-called daily stand-ups. Every two weeks there is also a review, which records what has been achieved so far and what can be improved.
This requires a strong communication culture and, increasingly, soft skills: according to the study” Upskilling 2020 ” by the DevOps Institute, for which 1,260 executives from IT companies in different countries were surveyed, the DevOps approach requires team-player characteristics, empathy and creativity. In addition, there are high technical requirements: after two weeks, every result is evaluated by the entire team. This increases the software quality, but at the same time also the pressure on the programmers.
Support for the CI method is provided by tools that can be used to assemble and link the programmed components or to manage different versions. These include, for example, the Microsoft Team Foundation Server at compiler level and the Java-based open source program Jenkins. And in project management, tools like Jira or Confluence help to organize a sprint of two weeks, pull new tasks from the backlog and set up schedules.