Continuous Integration optimises software development cycles
Continuous Integration (CI) is an iterative software development practice that requires developers to continuously integrate code into a shared repository so that teams can detect errors quickly and locate them more easily. CI expert Emmanuel Antoni explains the methodology and the benefits it brings.
The idea is to adapt the software development process and automate recurrent tasks and regression testing for early detection of the kinds of problems that can occur when new code is integrated.
With this methodology, corrective action is being taken continuously, so the different development teams taking part in a software project are never blocked. It needs us to run a whole series of tests automatically at night on our development benches and simulators, and to deliver the results of those analyses in real time. Each morning, the development teams have access to the results of our test scenarios, which can include as many as 50,000 control points for each software component we test.
Once the issues have been fixed and we have obtained the results we need, the validation teams get the green light and operational testing can begin.
Which products use this methodology?
CI can be used to develop any product with a software component, in any sector of activity. We use it for avionics products and particularly for complex real-time systems.
Does it give our solutions a competitive advantage?
Yes, it is a key differentiator in that it lets us speed up development cycles to meet programme milestones without compromising software quality. It provides a guarantee that the solutions we deliver are mature. Continuous Integration has allowed us to adopt Agile methodology, which is now replacing the traditional V-cycle of development, and it secures all our new developments across the entire product life cycle, which boosts customer confidence. Only recently, one customer remarked on the impressive quality of the new functionality we had just introduced on a major military programme.
CI also improves the reliability of the phase when the customer runs in-situ and in-flight tests. Those tests enable us to apply any fixes and evolutions that may be needed during integration of the whole system, when it's critically important to avoid introducing any bugs.
Continuous Integration and Agile methodology have helped us to cut software development times. The next challenge will be to support customers in substantially reducing the time it takes to develop their systems.
Find more about the Continuous Integration in the video below: