Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed the Tiering for Workflows

...

The Development ID is a centerpiece to manage, track and measure custom development requirements. Development IDs are lower level than WRICEFs to define and document the needed artefacts. Clean Core principles need to be applied to each Development ID object based on feasibility to keep the Total Cost of Ownership for custom developments manageable and explicit.

Table of Contents

Development ID Definition

"WRICEF" was the traditional way of categorizing business requirements that will be implemented with custom development, where each of the letters in the acronym stands for Workflow, Report, Interface, Conversion, Enhancement, and Form, respectively. Typically the letter of the acronym is used in combination with a running number. But in the several decades since this acronym entered into use, SAP development has evolved significantly. There are now many more types of developments which cannot meaningfully be combined into an "Enhancement" and treated equivalently; similarly it is sometimes not easy to assign a meaningful category to a development.

...

  • Enhancement (incl. Conversion)
  • Form (Output)
  • HANA CDS View
  • Integration Process (custom)
  • Integration Process (standard)
  • Metrics/KPI
  • Mobile App
  • Modification
  • Program
  • Report/Analytics
  • System Interface
  • User Interface
  • Workflow (custom)
  • Workflow (standard)
  • Application Job (Custom)

...

Conversions are not required to have a Development ID. The Master Data Register number will be used. A Development ID for conversions is only needed if a custom object, such as a load program, needs to be created.

Examples

For example, a Development Request ID 1234 of type User Interface has been approved. The UI development requires a UI5 app and an oData service. That means 2 Development IDs will be created.

...

Sample: SaaS: 1237 (Type System Interface)


SAP 3 Tier classification in Clean Core

Clean Core is SAP’s concept to achieve modern, flexible and cloud compliant custom solutions. SAP came up with 3 tiers of custom developments:

...

SAP BTP is the platform for SAP SaaS extensions or cross-system processes.


SAP 3 Tier Technology Mapping

Based on the above definition of clean core the following table contains the main development objects and approaches per type of development.

Flexible
Type of DevelopmentTier 1Tier 2Tier 3
Conversion (Load only)N/AReleased standard APIs called from Syniti
  • Custom ABAP Load program* 
  • Custom ABAP class or function* 

N/A

Conversion (Transform + Load)N/A
  • Custom ABAP Load program* 
  • Custom ABAP class or function* 

N/A

Enhancement
  • Released Badi implementation
  • Custom structures or fields included into clean core compliant / EEW append structures
  • ABAP Cloud compliant custom tables
  • Custom ABAP Cloud compliant code
  • Custom Tier 2 wrapper
  • Unreleased Badi implementation*
  • Customer exit*
  • Routine exit*
  • Custom structures or fields included into CI append structures*
  • Custom ABAP Program with user access
  • Custom Classic ABAP for use in background jobs
  • Custom structures or fields directly added to the main table
  • Unreleased custom tables
Form (Output)
  • Custom Adobe Form with Fragments using a standard oData service
  • Custom Adobe Form with Fragments using a custom oData service
  • Custom Classic Adobe Form*
  • Custom Adobe Form with Fragments using a custom Gateway service*
  • Custom SAP Script
  • Custom Smartform
HANA CDS ViewCustom Released CDS entityN/ACustom CDS view
Integration Process (custom)
  • Custom released interfaces connecting via middleware
  • Custom iFlows

N/A
Integration Process (standard)
  • Standard iFlows
N/AN/A
Mobile AppCustom Neptune app (on Open Edition)Custom Neptune app (on SAP Edition)N/A
ModificationN/AN/A
  • Standard code modification
  • Implicit Enhancement
ProgramN/ACustom Classic ABAP program to run as part of CLOCO or custom print program for Adobe Forms*Custom Non CLOCO / print program
Report/Analytics
  • Custom Fiori Elements Report
  • Custom SAC Report or Dashboard (with Datasphere integration)
  • Custom SAP Analytics Cloud, add-in for Microsoft Excel Report
  • Custom KPI report (Manage KPIs and Reports app)
  • Custom AFO Report*
  • Custom Analytical Query app based views
  • Custom ABAP Report with custom transaction code
  • Custom Business Objects Report (Lumira)
System Interface
  • Released APIs
  • Standard RFCs
  • Custom RAP based oData or REST API
  • Standard integration proxies and services in S/4HANA
  • Custom BTP CAP based services
  • Custom Gateway service*
  • Custom web service proxy object in S/4HANA 
  • Custom ABAP Program with direct service calls
  • Custom RFC service
User Interface
  • Custom Fiori UX 
  • Custom Web App on BTP (React or other non SAP UI libraries)
  • UI Adaptation project
  • Key User extensibility (i.e. UI Adaption, Custom Fields and Logic app)
  • Screen Personas for GUI simplification
  • Standard Dynpro enhancement
  • Standard Web Dynpro enhancement
  • Custom ABAP Dynpro
  • Custom Web Dynpro
Workflow (custom)
  • Custom SAP Build Process Automation
  • Custom
  • Business Workflow
  • Custom
Business
  • Flexible Workflow
*
N/A
Workflow (standard)
  • Standard Flexible Workflow
  • Standard Business Workflow
  • Standard SAP Build Process Automation
N/AN/A
Application JobCustom class for Application JobCustom class for Application Job calling a Tier 2 wrapperN/A
  • Actually Tier 3, but due to limited availability of Tier 1 alternatives it is considered Tier 2


Non-SAP SaaS Customization Tier classification

For Non-SAP custom development it is also important to stay within the means of provided tools and technologies applying best practices to achieve and maintain a clean core.

The customizations are approached similar to SAP developments and categorized in Tiers if possible.

Salesforce

The two key technologies that are used to enhance the Salesforce standard today are Apex and Lightning Web Components (LWC).

...

Either one of these tools needs to be used with best practices in mind. More details are captured in the Development Guidelines. The Guideline is kept up to date. By applying the Salesforce Development Guidelines only tier 1 and tier 2 classification applies.

Icertis

Icertis as a SaaS system does not allow access to DB and code. Only enhancements allowed are via the provided framework and UI driven.

...

Only the Tier 1 classification is applicable.


Clean Core Deviation tracking

All Tier 2 and 3 Development IDs are logged in the Clean Core Deviation Tracker. During upgrades, these items are revisited to see whether a Clean Core-compliant replacement is available.

...

S No.Pod / Functional AreaL3 ProcessL4 ProcessSystemDevelopment TypeDevelopment IdRequirement titlePriorityGap ClassificationExtension Tier ClassificationTechnical Details


Development ID Counting Rules

Every development requires at least one Development Id. SAP considers all custom code as a core change. All development IDs will be counted. The type of it is irrelevant with the following exceptions:

...