CTO POV: The case for continuous integration, delivery and deployment

David King
David King
is CTO at Flywire.

I have been in the FinTech business before it was called FinTech. I started out as a CTO in 1997 delivering software-driven value in complex payments in higher education and healthcare. In that day and age, software delivery was based on releases. Software releases were usually once or twice a year and they were shipped out on a CD-ROM. Aggressive companies would do a release once a quarter, and that was considered cutting edge.

That cadence got many people into the mindset that it was “safer” to do fewer releases. The reality is that it was more risky. Doing a release a couple of times a year means that the code base had massive changes in it. Deploying large amounts of changes in software is never easy. It is very difficult to test all of those changes, versus smaller incremental changes. The larger the update or full upgrade of the software, the greater the number of problems that could go wrong.

At Flywire, we follow modern development protocols such as continuous integration and continuous deployment (CI/CD). This means that we release updates to our products multiple times a week, if not multiple times a day.

What I have found interesting over the past few years is that this creates nervousness with many institutions who want to move off their existing system but are married to that old-school release mentality that fewer updates are safer. Because their current vendor follows the big bang release theory and many of them experience problems with each release, their mindset is, ”If my current vendor releases twice a year, and I have two big outages and problems to fight through, and Flywire deploys daily, will I have daily outages and problems?”

The answer is a hard NO!

Let me explain the benefits that come with Flywire’s approach to CI/CD. CI/CD is a software development practice that has revolutionized the way teams deliver updates. By automating the building, testing, and deployment of code, CI/CD offers numerous benefits over the traditional big bang release approach that significantly improve software quality, efficiency, and time-to-market.

The fundamental theme of CI/CD is that smaller is better!

  • Improved quality: Yes, quality greatly improves with CI/CD. The changes to the code are smaller and thus easier to test. They are also released into production in small incremental phases to measure feedback.
  • Early error detection: CI tools automatically build and test code changes as soon as they are committed. This early detection allows engineers to identify and fix issues promptly.
  • Faster time-to-market: Continuous Deployment automates the deployment process, enabling teams to release new features and bug fixes more quickly. This accelerates the delivery of value to Flywire’s customers.
  • Better for users: Most people are adverse to large changes, this includes even their use of software. With CI/CD, the changes are incremental which makes it easier for your users to accept the change. Additionally, it allows the benefit of A/B testing for Flywire to determine which is the optimal experience for your users.
  • Innovation: CI/CD allows Flywire to be innovative and agile. It allows us to listen to our customers, test hypotheses by getting user-backed data from our deployments and adjust quickly to your users’ needs.

I will conclude with my favorite comparison. How many of you use Amazon? How many of you have experienced an outage or major bug? How many times do you think Amazon deploys in a given day? They deploy nearly a thousand times a day, yes 1,000, on average and you don’t even notice it.

At Flywire, we deploy multiple times a day to deliver the best experience possible to you and your users without interruption.