Bringing Together Clean Core, Cloud, the SAP Extension Suite and SAP BTP: A Clean Core and Differentiation / Extensibility Strategy
The aim of this article is to help overcome the challenges which the Clean Core, the SAP Extension Suite and the SAP Business Technology Platform (SAP BTP) are causing for many organizations. For this purpose, as the main topic of this article, a new functional-strategic perspective on Clean Core is proposed, which comes with an inverted framework and a paradigm change of the prevailing technical approach. This article will show that Clean Core is not a restriction, but an enabler. However, a fundamental rethinking is required, a switch from the technical view to a functional-strategic view, to realize that Clean Core does not have to result in technical and organizational problems, but that Clean Core, the SAP Extension Suite and the SAP BTP deliver the basis for expanding strategic differentiation, instead.
At first sight, Clean Core might appear to be a technical topic. In a nutshell, the Clean Core Principle is about the separation of standard code from custom code and has been introduced to enable release stability as well as a transition to a public cloud deployment option. As the means to achieve a Clean Core, the SAP Extension Suite has been made available, which is a collection of development tools. Due to this close connection to the development of code, Clean Core has been perceived as a primarily technical task in the past.
When following a purely technical approach to Clean Core, projects have faced numerous challenges, though. As practical experience has shown, Clean Core cannot be achieved by a simple switch of the development tools. The ABAP Workbench (SE80) as the traditional tool for SAP backend development is a powerful tool for making changes directly in the SAP standard code. It is highly efficient, because it uses the SAP standard as the framework and basis for all changes. Therefore, it perfectly suits the traditional project approach to take the SAP standard processes as the starting point and reference framework and to compare it to the customer-specific processes in an increasingly detailed way. Gaps are identified on a very granular level and the solutions for them are specified and implemented as an isolated change of the SAP standard code.
With the introduction of the Clean Core Principle, the traditional development approach has become impossible, though. Changes directly in the SAP standard code are not allowed anymore. Instead, a detour via the API is required, which makes the development much more tedious. Additionally, some required objects may not be accessible, because the necessary API may not exist yet. In these cases, additional development effort is required for creating a custom wrapper. In short, the approach to use the SAP standard code as reference structure and adapt it by just implementing small changes to it, is not suitable anymore in the times of Clean Core. Instead, Clean Core demands an implementation of custom logic as independent as possible from the standard. Consequently, custom development also needs to be designed in a new way – as a separate solution, which just uses standard services as building blocks, but has its own independent structure.
This leads to an entirely new framework for custom development based on SAP standard functionality. The central piece and underlying structure of the new framework are the functional blueprints of the customer-specific processes, instead of the SAP standard. The SAP standard now serves as a repository of services, which are used as components of the new custom application.
Therefore, with Clean Core, a fundamental change of the framework and overall project approach is required when it comes to development topics. The traditional approach focusing on Fit-To-Standard or Fit/Gap is not suitable for creating the specifications for custom development, because it directs towards isolated changes directly in the SAP standard code rather than towards the blueprint of a separate application with an own integrated and consistent architecture. As a consequence, a new functional-strategic approach is needed, which starts with a strategic vision and specifies an overall functional concept for the new custom application.
As a first step, however, a Clean Core Strategy is needed, which distinguishes between the business capabilities and processes which a) can be standardized, b) can be built by using standard functionality but need custom development and c) require pure custom development. The objective of the Clean Core Strategy is to clearly identify the elements, which contribute to competitive advantages, and to standardize all remaining parts, in order to remove inefficiencies.
While there are well-proven approaches available for the implementation of the standard and for the pure custom development in form of Fit-To-Standard and the Use Case method, neither of them suits the development for differentiation, which is the custom development based on SAP standard functionality. Clean Core means planning the differentiation from the beginning on from a functional-strategic perspective and designing an overall architecture for the differentiation which leverages standard functionality, the SAP Extension Suite and the SAP BTP capabilities for building a custom application, which is optimally adapted to the individual organization.
While the Use Case method does not consider the usage of standard functionality as components, Fit-To-Standard does not use the customer-specific processes as reference and framework. Instead, an inverted version of Fit-To-Standard is required: Leverage-For-Differentiation. Leverage-For-Differentiation means that the defining structure is the customer-specific blueprint of the differentiation rather than the standard. Standard services are identified and leveraged as components for the differentiating application.
As a result, the technical specification for the standard-based custom development is fundamentally different from the ones created according to Fit-To-Standard. For the implementation of the new custom application, the SAP Extension Suite turns out to be more suitable than the ABAP Workbench. The introduction of an API and the separation of custom logic from standard logic now enables an application with a superior architecture both from a technical and from a business perspective. By applying the new framework and approach, Clean Core does not lead to a restriction but offers the chance contribute to and strengthen competitive advantages.
A variety of methods, techniques, templates and examples are available from past project experiences to accelerate and streamline the approach, when putting it into practice.
This article will be made available as a series of separate postings.
In the first post on the “Challenges of the Technical Approach to Clean Core”, it is shown that the Clean Core Principle causes various difficulties for the development department, if Clean Core is treated as primarily their concern. Consequently, the Clean Core Principle might face considerable resistance on behalf of the developers instead of their support. Combined with additional organizational challenges caused by Clean Core, when viewed as purely technical task, the reluctance towards Clean Core might cause a delay or abandonment of it, which means that the organization fails to reap its potential strategic benefits.
The second post on the “Essence of Clean Core” reviews the concept of the separation of standard and custom code as the basic idea behind Clean Core in order to prove that this is still valid.
The third post on the “Technical Approach to Clean Core” provides insights on the reasons why the Clean Core Principle may nonetheless cause a lot of problems. Taking the perspective of the developers when being confronted with the Clean Core Principle and the SAP Extension Suite, it is explained that the traditional approach is not as suitable for the new situation.
Based on this, the fourth post demands a “Paradigm Change: The Functional-Strategic Approach”. It explains the necessary fundamental switch in the perspective – the shift of the attention from the standard to custom code in the context of Clean Core.
The fifth post on “A Framework for a Differentiation Strategy rather than an Extensibility Strategy” provides an extended picture of this change of the view. By re-defining the standard functionality as a repository of services, which can be used as components of a new custom application instead of as its underlying structure, a re-thinking from building extensions to building differentiation is demonstrated. The center piece of the new framework is the functional-strategic blueprint of the business capabilities and processes which should be built by using standard services as components.
The sixth post on the “Approach for a Clean Core Strategy” takes another step back and puts this new framework into the overall context of a Clean Core Strategy. When talking about approaches, it is important to understand that the differentiation project is an activity which runs in parallel with the introduction of the SAP standard.
The seventh post on the “Approach for a Differentiation Strategy rather than an Extensibility Strategy” provides further details on how the new functional-strategic perspective can be applied by starting from a focused review of the business strategy and a comprehensive functional and technical architecture covering all aspects of the required development.
The eighth post on the “Methods for the New Approach” suggests some methods and techniques for putting the new approach into practice, such as an outline of an Enterprise Architecture Management (EAM)-Initiative for organizing the first phases of the differentiation project, Business Re-Thinking Workshops as a special interaction format, and Leverage-For-Differentiation as counterpart to Fit-To-Standard.
The nineth and final post on the “Tools for the New Approach” complements the methods and techniques with some project accelerators such as templates and examples of extensibility selection guides and architecture principles, development recommendations as well as the BTP Value Patterns and BTP Architecture Patterns.
Enjoy reading, please share your opinion on this topic and stay tuned!
Special thanks to Alexander Barth, Stefan Batzdorf, Nicolas Löwe, Christian Michel and Chris Peat for their support and highly appreciated feedback. Without them, this article would not have been possible.
While being based on proven best practices, the suggested approach is presumably still new for most readers. The aim of this publication is therefore not only to share the idea, but also to initiate an exchange of opinions and ideally experience to enable you to master Clean Core. Please do not hesitate to leave a comment with your view and/or any open questions on the suggested approach.