Richard Birksteiner, CTO

avatar

Faster software improvement

with Continuous Integration/Continuous Delivery

banner

Faster software improvement with Continuous Integration/Continuous Delivery

Customers need to be able to respond to changes ever more quickly. Development in big bangs is no longer suitable for this. Modern application development uses Continuous Integration/Continuous Delivery (CI/CD) pipelines. Just as the choice for a cloud-native architecture does, CI/CD enables us to offer as much value to our customers as possible, as quickly as possible. In fact, without CI/CD, opting for a cloud-native architecture is rather pointless. Both choices serve the same purpose, but on different levels. By choosing cloud-native, you determine the basis on which you build, so it's especially important for developers. CI/CD affects the business a lot more. The continuous improvements of the software are noticeable for the people who work with it.

Software always in releasable condition

Rapid changes require a high degree of automation, in terms of both the development and testing of changes. Our pipelines are therefore based on Git repositories (GitHub and GitLab). When a developer pushes something to Git, something happens right away in our pipeline, keeping us as up-to-date as possible. Pull requests are tested automatically as much as possible. No code is pushed to production without a thorough review and not only an automated one but also by someone at rb2. The software must always be in releasable condition. Automation helps in this. If there are small changes in the form of pull requests, we implement them in less than a day and immediately push them to the live environment. This helps maintain a healthy code base for the application you are working on. Also, the impact of such small changes can never be huge, so the customer should notice hardly anything - if anything at all.

CI/CD does take a little getting used to

Nevertheless, CI/CD also has to land well with customers. And that's not self-evident. It requires a different way of thinking and depends on what you use CI/CD for. For an organization that has been working with gated releases for years, the switch to CI/CD is quite a big step. Your software is constantly being tinkered with, mostly without your scrutiny. Automatically accepting small changes is largely a matter of trust. In our experience, it helps to release often. By continuing to learn, you build that trust together.

Look ahead, not back

It will still take a few years before everyone is comfortable using CI/CD. But those who take the first steps can increase their competitive advantage. It's a question of looking ahead.

With CI/CD, looking ahead even becomes somewhat easier. Because instead of the rather annoying roll-backs, CI/CD makes a roll-forward easier. If you need a fix for a feature, you can implement that fix by going to the next version. Not by going one step back and then waiting for a fix in the current version. That way, even if something doesn't work well now, you can still keep looking and thinking ahead.

Do you want to know more about Richard?

Do you want to get started with the cloud native within your organization after reading this blog or whitepaper? Or do you have questions about the discussed topics? Then contact us:

Richard Birksteiner
CTO
+31 (0)299 200 800

photo

Or check out other cases or blogs in which he has played a prominent role below: