A practical guide to DevOps for SAP
Whether or not you believe in the value that DevOps can offer to a business – and there’s already plenty of evidence to show that it can deliver major benefits – there’s no doubt that more and more companies are starting to wonder why they haven’t extended this approach to their ERP systems.
Not so long ago I regularly had to explain what agile and DevOps actually meant but nowadays people come to us asking how we can help them to adopt these approaches for SAP.
So why the change? Transformation is the key. It’s definitely a bit overused by my colleagues in the marketing world, but with the move to cloud, S/4HANA on the horizon and growing pressure on businesses to innovate, deliver value more quickly and increase competitiveness, real changes are happening that SAP teams simply have to respond to.
The central driving factor is that that traditional SAP development processes – the ones most often still in use today – tend to suffer from a very slow pace of change, failure to deliver business needs and high risk of downtime and outages.
DevOps solves many of these issues by supporting application delivery in shorter, more frequent delivery cycles where quality is embedded from the start of the process and risk is substantially reduced.
Great, I hear you say – let’s do it! However, the challenge faced by even the most enthusiastic organizations is that SAP cannot be managed in exactly the same way as other IT systems. The fundamental requirements for DevOps are the same – I covered some of them in this blog – but the practicalities are very different. Your standard DevOps tools will simply not support what SAP needs and what’s more, the DevOps experts don’t necessarily understand what’s needed for SAP, while the SAP experts may never have heard of DevOps!
So what is the practical reality? How can companies get up and running with DevOps for SAP?
Impact on the SAP development lifecycle
SAP change processes have always benefitted from tools to enforce governance, audit, workflows and approvals. But DevOps for SAP is different due to its architecture and generic tools will not provide the means to support it. Specialized technical automation tooling is required to manage and enable continuous delivery of change.
It’s important to understand that DevOps in SAP means different things to different organizations but all parts of the process from development, QA, pre-production and production can expect to be impacted.
Higher quality development
Delivering at pace requires a robust development process that combines clear business requirements and constant feedback, with quality shifted left and embedded from the very start of the process.
We need to ensure that nothing leaves development without being fully quality checked, minimizing costly downstream issues, errors and rework. This includes automated unit testing, code quality enforcement, performance and security checks, and peer reviews.
Closer business involvement ensures that customer requirements are clearly understood and integration with other IT functions like QA and operations (basis) establishes an early validation step into the development process.
Low-risk delivery for efficient testing
Continuous integration ensures that changes can be successfully deployed to test, or any other downstream system, without risk. A good cadence of delivery needs the ability to choose what you want to deploy based on business priorities, rather than being locked into long release cycles.
To this end controls and automation tools need to be put in place to manage the risks, so unwanted side-effects and issues can be avoided.
Checking changes for completeness, sequencing, dependencies, risk and impact removes many SAP delivery issues. This more agile approach accelerates the delivery of functionality – changes can be selectively and automatically deployed with confidence, rather than waiting for the delivery of a full release.
Don’t break your current system
It’s important to validate that your current systems won’t break when the features are deployed into production. Continuous testing ensures that changes are tested frequently and automatically via regression test processes that are robust, repeatable and have the necessary functional coverage.
This provides confidence and risk mitigation because any negative and/or unexpected side effects are minimized when changes are deployed to the live system.
Minimize impact on production
There is always a risk – however small – that an SAP deployment can stop the business by disrupting live system operation.
Rigorous controls and continuous deployment ensure that changes can be safely and automatically delivered to production with significantly less risk of system or business process outages. If disaster does strike the impact of change-related downtime is minimized and business continuity can be maintained.
The human impact
The manner in which DevOps impacts the roles and approach of staff can be just as important as the changes to tooling and process. Traditional teams based on job function need to be replaced by multi-skilled, cross-functional teams where the business, development, QA, operations and security work together.
Revised roles and responsibilities and a different, collaborative culture are also required. You need to pay attention to and secure the buy-in of all concerned, rather than imposing change in a top-down fashion.
DevOps benefits and outcomes
Change happens fast and companies need to respond quickly. IT systems must therefore have the flexibility to rapidly change, expand, extend and adapt.
But accelerating delivery cannot be done at the expense of business continuity. Successfully adopting DevOps for SAP combines speed, quality improvements and risk reduction giving companies the flexibility to change their SAP environments at the speed the business needs, with confidence that it can be achieved without compromising stability.
To find out more on how to practically introduce DevOps to your SAP processes please come back to me.