As SAP teams are transitioning toward agile delivery, there is room for one key question. Can you realize DevOps when SAP is a large portion of your system landscape?
The simple answer is that you can realize DevOps with SAP and leverage your existing enterprise DevOps tools, methodology, and practices. The good news is that this can be true even for companies with large on-premise, heavily customized SAP ECC ERP solutions. Applying DevOps to these areas takes some additional steps - and may not exactly mirror SAP’s newer cloud-enabled DevOps – but it is still possible.
This blog aims to introduce how you can realize DevOps within a hybrid environment, where SAP on-premise and/or cloud solutions are a core component of your landscape. While I cover topics and approaches that will help those new to this topic, I intend to highlight wider opportunities and considerations for companies that have already embarked on this journey.
Understand the change challenge
However, before you assume this will be simple, you must understand the topic and plan how you want to realize this. There are practical issues that you must consider while dealing with the SAP landscape. So be prepared to refine your organizational approach to development and then decide on a timeline to accommodate the standard DevOps approaches or deviate toward more SAP-specific solutions. This is especially relevant if you still have a large ABAP codebase in your on-premise system and are looking to simplify this technical debt.
But for many companies, the challenge is not about the technical tools, associated applications, or methodologies, but about people and organizational set-up. DevOps implies moving from a large, single development team (with a separate support team) into smaller, cross-skilled sub-teams (guilds, squads, iTribes, and/or product teams). They focus on specific business areas and aim to leverage the full development toolchain to build new solutions and continuously develop them.
Realize DevOps within a hybrid environment
These sub-teams naturally look toward general DevOps practices and wonder how they can realize these approaches when SAP is a core component in their landscape, as they also work with a plethora of other systems and tools.
Here are some initial topics to consider while realizing DevOps within the SAP hybrid environment and other best-of-breed, on-premise, and cloud solutions:
- Understand DevOps and its core principles and methodology
- Organization – First, consider structuring your teams by bringing together the development and support areas, including business owners, thereby enabling a full delivery skill set in one DevOps team. This is often easier said than done and may well change depending on how you budget and approve programs of work. So you must understand that an iterative DevOps delivery is often very different from the older style waterfall development estimation and delivery model. This previously had a separate (and later) hand-off to support. Now, it requires more planning for ongoing development, business differentiation, and innovation capabilities.
- Approach/methodology – Confirming your DevOps approach - and specifically how this will work with the SAP landscape - is a key challenge to address upfront. This can include a pure DevOps approach, consistent across the organization, which can be fully adopted within SAP Business Application Studio cloud platform delivery. However, this requires adopting concepts and usage of different tools to apply this to larger, historic, on-premise SAP solutions using SAP’s own ABAP programming language and development tools. Hence, different tools and approaches are required for some of SAP’s historic development methods - but even in those areas, many of the DevOps principles, such as automated testing and deployment, can still be realized.
- Toolchain – The toolchain covers how you manage requests, codebase, automated testing, and deployment to operational areas. It can be an extensive range of items, but often the first core step is to implement the main critical tools and steps in the software development lifecycle (SDLC) to derive the best benefit, visibility, and control through a common toolchain and methodology. The key aspects of the toolchain are security and resilience, and any tools that support these areas must be included in the delivery method and toolsets.
- Link with agile delivery – The DevOps approach is linked to a more agile methodology. So include DevOps and agile in your review and other updated principles, strategy, or ways of working. Additionally, incorporate wider design methods such as design thinking, cloud-native designs, and updated design patterns that support your DevOps delivery.
- Business and IT application – Know how you expect to apply DevOps principles, both from a business and IT perspective. Ideally, you must identify some early adoption areas to run, operate, and facilitate DevOps delivery within your enterprise.
- Review DevOps delivery within your company
- Current position on the DevOps journey– Understand your company’s current DevOps capability, tools, and approach. Even if your company does not formally deliver in a DevOps style, there still can be teams that already follow some aspects and could provide input into the discussion and/or be part of the early adoptions. These could be from areas such as cloud-first delivery, mobile apps, and teams focusing on richer user experiences and applications. DevOps itself can also cover DevSecOps, AI/MLOps, DataOps, etc., and include a wide range of toolchain items. So it’s worth fully understanding how this fits with a possible SAP-focused approach.
- Identify first steps – Agreeing on your core principles, potential methodology, toolchain, and possible business areas to be adopted with DevOps will bring focus to how DevOps (with an SAP focus) is realized within the company.
- Consider available SAP solutions to realize DevOps delivery
- Identify your core toolchain and methodology- This can be a mix of existing pure DevOps items from leading open solutions and best-of-breed tools and specific items to applications such as SAP (which is covered below). The toolchain and methodology must support your required strategy.
- SAP-specific tools or capabilities– SAP can deliver in a DevOps manner for Business Transformation Platform (BTP) solutions, yet it can also do this with the remaining in-app and core ERP extensibility options, plus even on SAP's own configuration. SAP can capture new requirements from project work, support incidents or (for those that are utilizing DevOps) then capture backlog items all linked into solutions such as SAP's Solution Manager system (SolMan) or for those more cloud focused then through SAP's Asset Lifecycle Management (ALM). SAP is increasing its range of technical options with items such SAP Build to enable wider low-code and no-code options, yet you have to remember to add the light touch governance plus developer/citizen support and guardrails around all of these to help ensure their success. SAP is extending its platform functions and toolchains and there are options for code and config management (such as GitHub), plus wider options for testing (such as ABAP Unit Tests (Aunit tests), functional tests via Tosca, the ABAP Test Cockpit (ATC)) plus also associated code quality/cleaner options. SAP can link all of this into SAP’s Change and Release Management (ChaRM) solutions so that the deployment side can also be included into development and operational items.
- Overall management and control- One consideration is that within DevOps then there can be many tools or options for starting off the requirements and uses cases, through managing the CI/CD pipeline and its deployment. So, it can be helpful to decide which tool leads in specific areas of the DevOps lifecycle (i.e., for requirements, incidents and use cases is this SAP's SolMan, ALM, Remedy, ServiceNow or Focused Build or in DevOps tools such as Jira or other platform tools such as Azure DevOps). Once decided then often the leading item can pass key information to other tool chain items and receive back status information helping to then provide insight into the end to end (CI/CD) process and the status of specific items.
- Leverage wider DevOps solutions in hybrid environments
- Hybrid landscape– – The coordination with other agile and DevOps toolchain items is an important focus area. You can have a short toolchain and pipeline arranged around a few key tools such as IT ticket systems (Snow, Remedy, SAP’s Focused Build & ALM), code management (Github, BitBucket), functional test automation (HCLTech’s One Test, LoadRunner, Tosca), defect management (Quality Centre, SolMan, Jira), Alert/Monitoring (SAP’s CCMS, Splunk) etc. Then expand over time as people become more familiar with DevOps delivery and requirements become clearer to aid in delivery, monitoring or feedback. Through identifying you core toolchain you can then also focus on how you will co-ordinate items and status between them, if required HCLTech has specific tools which do provide this holistic overview too (i.e., HCLTech Accelerate).
- Updated architectural approach – DevOps is a step toward simplifying your core applications. It allows the commercial off-the-shelf (COTS) items to focus on direct standard functions, identifying your enterprise’s main areas to differentiate and innovate, and whether these should occur in a more side-by-side delivery, often in the cloud- all led by real benefits and returns on investments. The architectural approaches should be via de-coupled and loosely linked solutions. This will help support higher resilience and more fault-tolerant solutions, that can also support more frequent deployments to enable rapid delivery of improved business functions and richer user experiences. To achieve this then solutions have to be de-coupled and/or enable forward and backward compatibility. Additionally, business logic controls need to be via configuration or rules under end users control, rather than within coding, plus all of this has to be realized by low code options with improved automation, and at an increased speed of delivery and change ! Thus your architectural principles, strategy and actual delivery must be clear for the DevOps teams to shift to updated designs as well as delivery methods.
- AI/ML – DevOps (and certainly on the operational side) enable AIOps and options to apply AI/ML to understand logs, issues/faults through user or system behaviors, leading to automation, RPA, and intelligent solutions to address and improve issues found. Hence, wider AI/ML and innovation areas must be considered as this can be one of the underlying drivers and benefits of adopting DevOps.
SAP development has historically been very set in its ways, but many new concepts and methods have emerged over the last decade.This is certainly the case with SAP’s latest realization of business application delivery. As you approach DevOps as a concept, you can first take small initial steps, adopting a few key methods and tools, and then progress to full cloud-native options.
To help customers take this journey, HCLTech has identified typical DevOps principles that can be challenging for those more used to historic SAP approaches. To help address this, we outline tactical and strategic options to overcome these issues. We recommend that organizations fundamentally assess how they will align any current DevOps practices with SAP focus.
We are keen to talk to organizations with large on-premise SAP-focused systems to help them understand how they could transform their delivery capability. If you are specifically interested in how this affects SAP development, please check out my other blogs and download our cloud native eBook .