The digital landscape is changing at a very rapid pace. Digital Transformation programs affect literally every company. The average age of a US top500 company is dropping from 60 years in the ’50 to 20 years nowadays. Key reason: Disruptive Technology!
If you haven’t started this yourself yet, you are most likely already experiencing the effects via suppliers, customers or perhaps other departments. Best of breed systems & applications are now the preferred choice over single, monolitic ERP systems that usually can’t support the specific, smaller processes of organisations. The trend is moving towards the introduction of low-code aplication development that offer the possibility for a very high aligment between business and IT whereby applications are delivered and enhanced at extreme speeds. The net effect is that the application landscape is changing rapidly also with the introduction of new systems and applications.
To prepare for the future, organisations are using more and more DevOps teams. But what does DevOps mean exactly? Why and when would you choose for DevOps, but more over what vision do you need to implement effective DevOps teams and what are the pre-conditions?
Accelerate application development
The term DevOps is used since 2009 to reflect the notion that Development and Operations jointly work in the same team on the same application. The entire team is then responsible for both topics to keep the application operational in the production environment whilst changes are released to production at the same time. Mendix explains how you can set up successful teams here.
DevOps originates from the fact that:
- Application & system development is increasing
- Requirements are changed during the development process
- Application releases are made smaller but are released more often due to the short iteration cycles of development
Traditional approach to split Development & Operations doesn’t connect to today’s business requirements.
A traditional DevOps environment is usually displayed in the following way:
DevOps in low-code environments
In a low-code development landscape, current insights of DevOps need to be reviewed. Within the low-code platforms, the packaging, release and configuration of the software is made very easy and transparent for business users. With a single button the application can be deployed to production, and the feedback of the business on the MVP application can be directly registered in the same platform to help organize priorities in the DevOps team. See also this article of Mendix. In low-code, the roles Dev and Ops are not required to be distinct, but are preferably one role.
DevOps in low-code environment has a few distinct features. Successfull low-code DevOps teams are able to:
- Increase the number of releases to production to enable continuous testing and feature feedback from the business
- Shorten the time from development to roll-out
- Systematically decrease the number of coding errors
- Shorten the time to fix production incidents
- Create solutions that are developed on close cooperation with the business
So to be successful, the DevOps model must be used differently. With low-code development, there needs to be one team member that is able to run the complete DevOps circle as depicted below.
Conditions for establishing low-code DevOps teams
To manage complex environments, a clear vision needs to be created around the following 4 topics:
- Time – how can I release more often, recognize issues sooner, and fix them quicker?
- Money – how do I maintain a firm grip on the TCO of my application?
- Quality – how do I ensure first time right and how do I develop bugfree software?
- Scope – how do I keep track of my complex IT-landscape with an increase in applications, services, connections and integrations?
In my next blog, I will elaborate on these 4 topics to create successful low-code DevOps teams, and will I share some of my experiences of the last years with various client situations I’ve encoutered.