In part 1 of this series, we reviewed why digital transformation is so challenging for many IT organizations. We concluded that CIOs need to focus on four priorities to overcome those challenges:
- Enable innovation
- Improve agile adoption
- Achieve a DevOps advantage
- Re-skill, recruit, and retain developers
We also covered how low-code can enable innovation. In part 2, we looked at how low-code can improve agile adoption. This article tackles the topic of how low-code enables organizations to achieve a DevOps advantage.
Organizations Are Struggling to Achieve DevOps Maturity
DevOps practices are on the rise as organizations strive to deliver software faster, more reliably, and with fewer errors. Without continuous delivery, agile development is fatally flawed, as delivery cannot keep up with fast-paced, iterative design.
Despite organizations investing heavily in DevOps tools and associated FTEs, DevOps maturity is still at an early stage in most organizations. In our recent State of Application Development survey, we asked 3,500 IT professionals to assess DevOps adoption in their organizations, using a five-level maturity model. The average score was a disappointing 2.4 out of 5.
If you’re curious about this five-level DevOps maturity model and would like to gauge where on this spectrum your organization sits), here it is.
Plenty of other evidence suggests DevOps maturity is hard to achieve. For example, only 27 percent of people surveyed by DORA (DevOps Research and Assessment) describe themselves as working on a true DevOps team.
For many organizations, the complexity of integrating and mastering a potentially vast array of DevOps tools is burning too much time and money. That’s because, over time, they have acquired lots of different tools to support DevOps. The result is a bewildering and complex array of products for code validation, version control, continuous integration, automated deployment, test automation, security testing, and performance monitoring.
DevOps simplification is the order of the day, says Forrester in “Predictions 2018: New Technologies Propel Software Development.”
Simplification of The DevOps “Toolscape”
DevOps involves tearing down the walls between development teams and the IT infrastructure and operations teams that make delivery possible. Simplification of the DevOps “toolscape” enables continuous delivery with fewer specialists needed for infrastructure and operations.
Courageous Leadership Needed to Escape Digital Disruption
If CIOs want to prioritize innovation and delivery of customer value, they need to find ways to rebalance budgets and headcount to favor development over infrastructure and operations spending. Brian Roche of Cognizant sets out a compelling case for this point of view in this article, which explores the courageous leadership needed for businesses to thrive in the era of digital disruption. Here’s an extract:
Application development and delivery teams need to push the envelope if their companies are to disrupt. I see these teams embracing a whole range of approaches, including lean startup, extreme programming, test-driven development, and continuous delivery while ruthlessly eliminating waste.
Businesses often tell me that they need to own their technology stack because they’re wary of vendor lock-in and in case they need more flexibility. . . . In which case, my response is: Does this seem like uber-focus to you? Is this really helping you get to market quickly?
The risk is that people are immersing themselves in this kind of work because they’re engineers and they enjoy the technical challenge. This too is a cultural thing that must change. It’s not helping the business. The unintended consequence is just a different kind of vendor lock-in.
When you build your own platform to avoid vendor lock-in, just be aware, five years from now you might wake up to find you’re the only customer, and the vendor is you.
Instead of worrying about the tech, in this age of disruption, IT has to be poised for innovation and devote everything it can to creating value for customers.
Rebalancing IT for Innovation
So the question is—can the use of a low-code development platform equip a development team to achieve continuous delivery with less complexity and the support of fewer specialists in the IT I&O team?
Answering this requires a closer look at the specific capabilities of different low-code platforms. I track 79 low-code and no-code vendors in my low-code-daily.com newsletter, and the list grows continuously as more software companies enter the market.
Suffice it to say, with such a broad spectrum of products that range from lightweight “citizen development” tools to enterprise-strength platforms aimed squarely at application development and delivery teams, the DevOps capabilities of these tools varies accordingly.
How Low-Code can Support and Simplify DevOps
Here’s a whistle-stop summary of the DevOps capabilities built into OutSystems.
- Version control: All versions of applications and modules are stored automatically in a central repository. Milestones can be tagged; version history includes everything you need about the check-in and check-out of work items, including who and when. There's support for rollback, and any prior version can be downloaded.
- Collaborative development: Modular development support enables large multi-developer teams and multi-team organizations. Where necessary, developers can even collaborate on the same module.
- Build validation: Whenever you deploy, impact analysis is executed to validate if the deployment can be performed without affecting other applications running in the target environment. The platform helps you resolve all conflicts and dependencies.
- One-click deployment: One click is all it takes to generate and compile optimized code, analyze databases and create required differential SQL scripts, and distribute compiled applications to front-end servers. Updating databases, hot-deploying new versions, and synchronizing environments is also a one-click process.
- Testing and QA: Self-healing and impact analysis capabilities and the automated generation of high-quality code mean less testing should be necessary than with traditional development. However, OutSystems includes a unit testing framework for implementing, executing, and managing unit tests and provides integration with other testing tools that teams typically use.
- Monitoring: Comprehensive auditing and monitoring tools are built in to enable proactive management of application performance, making it easier to detect problems by identifying real-time performance issues.
You can delve into the details of these capabilities by exploring the OutSystems Evaluation Guide, which answers the most common questions asked by teams considering OutSystems.
The Evidence That Low-Code Adoption Supports DevOps Maturity
Returning to our previously mentioned survey: 34% of the 3,500 respondents said they were using a low-code platform already.
When we compared DevOps maturity between organizations that were and were not using low-code, as can be seen in these charts, users of low-code rated their DevOps maturity higher than organizations that were not using low-code.
Adding the three highest maturity levels together made the difference more obvious. Those using low-code were on average 10% more likely to rate their agile maturity as level 3, 4 or 5, compared to those not using low-code.
What Customers Say about DevOps and Low-Code
Having interviewed multiple customers about their adoption of low-code over the past few years, I can say with confidence that speed and improved agility always stand out in their stories. The DevOps advantage often shines through as well. The following quotes- from three different case studies bring to life the DevOps advantages of low-code.
“We’re taking a new approach to IT to build speed and efficiency into every part of the lifecycle―not just development, but the maintenance and evolution of our apps.” - Dan Giesen-White, CIO, McMillan Shakespeare Group
“A capable low-code platform was the obvious choice. It allows us to focus on delivering business requirements, rather than wasting time worrying about source code,” - John Robinson, CTO, BlueZest
“With OutSystems, we’ve automated a majority of our testing, which has saved significant amounts of regression testing time.” - Andrew Venables, Head of Systems Integration, Atos
If this article has piqued your interest then continue reading with these three related articles: