Thefourth in a series ofExpert ViewsfromSociete Generale Global Transaction Servicesin the run up toSibos 2016,Philippe Mirland, Head of Business Solution Engineering, and Jean-Luc Smadja, Head of IT System, at SG GTB ,discuss:
“Utilising Continuous Delivery: Hype vs reality”
Although DevOps and Continuous Delivery are at the top of the hype cyclein the internet world of business unicorns and fast-growing startups,there remain important questions about its suitabilityin financial systems and environments with value at risk. How DevOps and Continuous Delivery tools and processes can be leveraged tosupportthehigh demand for product innovation and changewhileensuring the security, reliability and integritythat online financial services require.
One of thedrawbacks of technology developmentin the pastwas that the value ofa product’s functionality could be assessedonlywhen 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, isan 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 residewithin 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 featuresto bedelivered 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 aboutmore 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 outputin terms of software elementsmeans 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 representsbetter value for moneyas the software delivered is exactly what the users want and can be brought into production quickly.
Continuous deliverysupports 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 fastin 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
“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.” Philippe Mirland