Continuous delivery: Hype vs reality
By Philippe Mirland, Head of Business Solution Engineering, SG GTB and Jean-Luc Smadja, Head of IT System, SG GTB
“Continuous delivery is a way of ensuring that what is delivered from the IT team has a clear value for the end users. To be successful, the link between the development teams, technology teams and business analysts must be based on strong intercommunication. If you fail on that, it could be a show stopper.” By Philippe Mirland, Head of Business Solution Engineering
Although DevOps and Continuous Delivery are at the top of the hype cycle in the internet world of business unicorns and fast-growing startups, there remain important questions about its suitability in financial systems and environments with value at risk. How DevOps and Continuous Delivery tools and processes can be leveraged to support the high demand for product innovation and change while ensuring the security, reliability and integrity that online financial services require.
- One of the drawbacks of technology development in the past was that the value of a product’s functionality could be assessed only when the entire product had been delivered. Moreover, delivering a large scale project at once created a certain amount of instability, as bugs would affect the production model and cause problems.
- Continuous delivery, whereby software is delivered incrementally or in short cycles, is an approach that tries to bring more accuracy into the development process. Building, testing and releasing software is done more quickly and more frequently. This overcomes many of the typical problems of software development, for example, enabling developers to identify where bugs might occur and resolve these before too much is delivered.
- By delivering elements of a product more frequently, it is also easier for developers to identify exactly where a problem may reside within the technology. Developers can take a ‘deep dive’ into the software and more readily isolate problems than in the case when an entire product is delivered at once.
- From a business viewpoint, continuous delivery enables functionality and value-added features to be delivered to market more quickly. This approach to software development supports an agility strategy for financial institutions, enabling them to respond more rapidly to market conditions and client demands.
- Continuous delivery is about more than just technology. In the past, software development was complex, involved many steps over a long period of time and was often undertaken without a clear idea of the value of the software to the business. Today, it is recognised that all of the actors in the development cycle must be aligned, including users, development teams and infrastructure teams. The business side of the financial institution must be embedded in the development team from the start of any project.
- Being able to achieve incremental output in terms of software elements means development teams are in a position to more easily meet the requests of end users. This means the ultimate solutions delivered are more aligned with the business goals. Also, continuous delivery represents better value for money as the software delivered is exactly what the users want and can be brought into production quickly.
- Continuous delivery supports the reduction of execution risk. Whenever change is delivered, a certain amount of risk is involved, but this is minimised with incremental delivery.
- Not all developments are suitable for continuous delivery, for example, very large scale complex systems. The approach is more suited to retail banking, such as mobile channels where new features are often required or expected by users. For example, with the introduction of new credit transfers under SEPA, products could be delivered that were a first step with the ability to deliver new features in later versions. The value that continuous delivery brings is progressive.
- If a piece of software is a failure, it fails fast in the continuous delivery environment meaning that financial institutions can avoid developing something that is costly and useless.
“Continuous delivery means IT teams can avoid further developing functionality that does not bring value that was expected. There is less uncertainty with developments and more certainty that what you are bringing to the business has a business case behind it.” Jean-Luc Smadja, Head of IT System