Part of the “DevOps for ERP” series
With digital transformation projects at the forefront of people’s minds, the need to modernize IT systems and processes has never been as critical as it is today. The speed at which software can change and deliver innovation is now the speed at which the business and your competitors can adapt to new market conditions. There’s immense pressure to change, and those who don’t – or can’t – will struggle to survive.
But ERP systems – traditionally stable, monolithic, and slow to change – can act as a barrier to the shift from an IT-centric to a more business-centric (and customer-centric, at least in theory) approach. Diego Lo Guidice, VP and principal analyst at Forrester Research, recently summarized the situation like this:
“When not modernized … core systems make any change excruciating. Don’t feed your flashy mobile apps with hard-to-reach data. Outdated core applications risk slowing down customer journeys, preventing them from even working, or consuming your IT budget with high maintenance costs and technical debt.”
DevOps is a way to address this challenge, so it’s not surprising that a large majority of the calls and meetings that fill my week are now specifically about DevOps for ERP.
What does DevOps for ERP mean?
I’ll briefly explain what it’s about. DevOps is essentially a more collaborative method of delivering applications where traditional organizational silos are replaced by cross-functional, multi-skilled teams that are focused on business outcomes.
This, along with the high levels of automation involved in the process, provides companies with the agility they need to keep pace with the changing demands of the business. In terms of application delivery, that means they can achieve a faster time to market, higher quality, and lower costs while reducing risk.
A recent study by DORA found that high-performing IT organizations – those most likely to have adopted DevOps – can deliver software 208x faster, reduce failure rates by a factor of seven, and recover from failure an amazing 2,604x faster!
Without DevOps, deploying even small changes to ERP systems can take a huge amount of time due to long, outdated release cycles and concerns about risk and stability. ERP teams that have adopted DevOps ways of working, on the other hand, are now able to deliver in much shorter cycles, which translates to a big leg up on their competitors who have yet to see the light.
The foundations of DevOps
Some companies implement a “big bang” approach to DevOps but it’s also possible to get there step by step. Either way, there are some core concepts that form the foundation on which DevOps is built. It’s important to understand them before you get started:
1. Agile development
The concept of agile development – where applications are delivered frequently, in short iterations – is vital. You can adopt agile in your ERP estate without making the step to DevOps, but DevOps won’t work without agile.
I’ve talked a lot about agile in other posts (like this one, which explains why you need it) so I won’t go into details here, but let’s just say it’s not optional.
However, while agile scores highly in bringing together development, testing, and the business, there’s a gap if you don’t have the ability to bring automated deployment and automated environment provisioning to the table. This is where DevOps comes in. It brings a level of automation and cross-team collaboration that adds value to the entire software development process, from definition of requirements by business teams all the way to deployment and go-live.
2. Collaborative culture
You can’t underestimate how important it is to understand the cultural and organizational changes involved in the implementation of DevOps.
The biggest change is a reorganization of teams to move away from the “silo” job functions of development, testing, operations, and security towards mixed-discipline teams that constantly work with the business to deliver what it needs.
Management sponsorship and buy-in are vital here to support what may be a challenging transition so that adapting to new roles feels safe and rewarding.
The roles of pretty much everyone will be affected to a greater or lesser degree. People should be encouraged to take on more responsibility and to blur the boundaries imposed by their traditional roles.
3. The right tools
Given the centrality of automation to the very concept of DevOps, it’s critical to find the tooling that can support your DevOps processes and deliver the necessary levels of automation. Typically, you’ll need to source software tools that can support the specific requirements of your ERP systems; standard DevOps tools won’t usually do the job. Areas you’ll need to consider in ERP might include:
- Automation of unit and regression testing
- Improvement in code quality
- Management of the sequencing and dependencies between changes and transports
- Enforcing risk, quality, and impact checks
- Provisioning environments for testing
- Automating the deployment of transports and rollback in the case of failure
- Measuring the performance of development and testing teams
You’ll also hear people talking about a “DevOps toolchain,” since no single tool can support all the facets of a really effective DevOps process. The most effective feature a “chain” of many different best-in-class tools that each manage a key part of DevOps, from requirements through to continuous integration, deployment, and improvement.
These tools communicate with each other in order to coordinate delivery of innovation across many different business applications. It’s important that your ERP DevOps tools can do the same.
Change can be difficult, particularly in complex, business-critical software environments. Even firms that see the logic of developing and updating their systems may be reluctant to take on transformation initiatives that have in the past been regarded as disruptive projects, potentially loaded with risk. DevOps is one way to make change easier, even in ERP systems.
As one of our customers who has successfully implemented DevOps said: “It’s a better way of working. We don’t need any survival anxiety to show it is a better way of working. We know it reduces risk – delivery risk – and we know it increases quality.”
For more on this topic, please read “How to Build a Business Case for DevOps” and “Self-Assessment: Are You Already Doing ERP DevOps?”
If you want to learn more about the building blocks that support adoption of DevOps in ERP applications, take a look at this e-book.
This is an amended version of a blog that was originally published on Basis Technologies blog and is republished by permission. Basis Technologies is an SAP silver partner.