Written by Nick Pike, VP UK and Ireland, OutSystems
Stories about various industries and companies going digital cram the headlines. For example, airlines are readying for the digital shift to tackle increasing air traffic; meanwhile, Marks & Spencer has hired a principal technology partner to ‘drive digital-first.’ At the centre of all this is the need to boost productivity.
Many companies still use inefficient manual processes instead of automation, however. Building apps to eliminate paper and streamline operations provides the obvious advantage of saving time, but it can also uncover new insights for continuous improvement and competitive advantage. But after the apps are developed, the process of moving them to operations can encounter a bottleneck in the form of another set of inefficient practices. That’s where DevOps enters the picture.
Rather than being a skill, a position you can hire in your IT department, or a specific tool you can purchase, DevOps is a philosophy. The goals are to increase the value software brings to customers and to enable organisations to react faster to change in the business.
Here are nine steps for developing a DevOps mindset in your organisation:
- Define and validate the expected impact of development on IT before you start.
- Automate infrastructure provisioning to boost the speed of your development and testing.
- Mimic production as closely as possible in all non-production environments.
- Anticipate failure by testing scenarios in a self-healing infrastructure.
- Continuously integrate your code during app development.
- Register your configurations in a shared central repository and track every application change.
- Orchestrate deployment with automation that defines all steps of the process for each application.
- Measure app health and performance and the impact of your apps on your business and customers once they reach production.
- Make sure feedback you collect is shared with all stakeholders.
Let’s take a look at these in closer detail and see how they build on each other to accelerate transformation. Impact analysis is a handy tool to get you started; it validates if a deployment can be completed without affecting other applications running in the target environment. This process determines global dependencies and makes sure that nothing breaks when the application goes live.
Then, infrastructure automation brings agility to both development and operations. By describing your infrastructure as a set of scripts, you can replicate environments with significantly fewer errors. Self-healing capabilities automatically correct problems or inform developers of any corrections they must handle. It automatically validates changes as you go.
In the testing phase, depending on complexity and how critical each project is, the delivery team should apply different types of testing. We recommend unit testing or using behaviour-driven development and test-driven development practices.
Then, of course, you will want to measure your performance and the impact on customers and share findings with stakeholders. If all has gone well, the results can be remarkable. For example,BlueZest, a technology-based specialised property investment funder, released its digital mortgage underwriting application in October 2017. Now, BlueZest is citing speeds as fast as 15 minutes for initial loan quotes and 30 minutes for confirmed offers.
Ultimately, DevOps is all about bridging the gap between development and operations. Low-code development platforms offer capabilities that enable these nine steps so your organisation can cross that chasm.
Examples include a unified application lifecycle management console, embedded version control and build server with continuous integration, built-in monitoring and analytics, high-availability configuration, and centralised configuration management.
Combining the speed of low-code visual development with the agility of DevOps can greatly accelerate digital transformation, thereby enabling organisations to reap the efficiency, productivity, and competitive benefits quickly.