We begin our discussion of extensions by examining the term extension. What is an extension? And what is it that we are extending?
All software is designed with a scope in mind. This scope defines two things: the outcome for the customer that the software is providing, and how the software provides that outcome. From the customer's perspective, it is the fulfillment of outcomes that creates value. For a software vendor such as SAP, scope is the foundation of the value proposition presented to the customer, and is a critical part of the software design process.
Taking SAP S/4HANA Cloud, for example, the scope (and therefore the value proposition) is straightforward. Customers want a system that can run mission critical applications efficiently in real time from with real-time analytical insights and predictive capabilities. They also want a system that enables the creation of new business models for their industry, setting the stage for growth. Finally, they want a system that is designed with sustainability in mind, one which allows them to embed sustainability in all their business processes and operations. The scope of SAP S/4HANA Cloud addresses those wants, integrating capabilities for finance, procurement, manufacturing, supply chain, sales, service, R&D, and enterprise asset management (EAM). SAP S/4HANA does this by utilizing the latest in innovative design techniques:
- An attractive and intuitive interface built with SAP Fiori.
- The ability to process high volumes of data for both transactional and analytical needs built on SAP HANA.
- The ability to secure applications and data in compliance with regulatory requirements.
- Proven industry-specific business processes.
- A technology platform with data management, analytics, integration and, most importantly (and the subject of this lesson), extension capabilities.
Once we have an understanding of "scope", "extension" is very straightforward. Extension, from a customers point of view, is simply the addition of more scope. More scope equals more value. Inevitably, there well be specific customer-required functionality that is not part of the standard delivered scope. This "gap" is normal and expected, and extensions allow it to be filled.
As mentioned earlier, extensibility is a key capability that customers require. Extensibility allows customers to differentiate with their business processes and allows partners to provide industry-specific functionality or globalization packages. The importance of extensibility has been valid for SAP’s on-premise ERP, and will remain valid for SAP S/4HANA Cloud.
While providing the ability to implement extensions is important, how those extensions are implemented is equally important. A bad framework for extension design can negate the additional value they’re supposed to be providing. SAP S/4HANA Cloud’s framework is based on the following design goals:
- Starting from a common base.
- Extending the feature set over time without moving away from the common base.
- Easy adapting of software by partners and customers.
- Adding of functionality required to address individual or industry specific needs not covered by the standard software.
- Covering a broad spectrum of adaptation techniques.
Customers have several expectations regarding extensibility. First, customers expect an extension framework to be flexible. Extensions should be easy to implement, test, and, if necessary, adapted over time. Second, they should be reliable. They should seamlessly co-exist with the standard core functionality and should not introduce any instability in the system. Third, extension tools should be feature-rich. They should feature wizards, browsers and out-of-the-box content based on best practices. Fourth, extension possibilities and extension tools should be easy to use. Finally, because customers have the option of hybrid cloud deployment (both on-premise and cloud), extensions should be able to be implemented in both.
While much has sometimes been made about possible tension between the IT perspective and the business perspective, in reality, they share the same goals. Both groups want effective business processes that are executed with maximum efficiency to reduce costs. In addition, customer-focused business processes should be flawless in both design and execution. And, finally, excellent analytics to not only make better business decisions but to even have predictive analytics to suggest the best approach.
A well-designed enhancement framework does not require any trade offs. From the perspective of business leaders, enhancements allow the achievement of competitive advantage as well as analytical reporting to enhance decision making. Not to mention that the latest in machine learning and artificial intelligence allows predictive suggestion. From the perspective of the IT department, decoupling of extensions from the core allows flexibility. A well-designed tool set to implement extensions allows high development productivity. And an enhancement framework such as which exists for SAP S/4HANA Cloud, allows for customers with existing investments to take preexisting custom code and easily migrate it to their new SAP S/4HANA Cloud system.