You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Purpose

This document defines the use of Development Ids, how they are managed and counted in conjunction with SAP’s Clean Core principles.

Summary

The Development Id is a center piece to manage, track and measure custom development requirements. Development IDs are lower level to define and document the needed artefacts. Clean Core principles need to be applied to each Development Id object based on feasibility.

Development Id Definition

WRICEF is SAP’s classic way of categorizing business requirements that will be implemented with custom development.

WRICEF stands for:

W-orkflow

R-eport

I-Interface

C-onversion

E-nhancement

F-orm


But it is not always easy to decide on the right category. Instead of the WRICEF we will use Development Ids.

The "Type of Development" will be introduced to categorize instead of the WRICEF. It is a more detailed version of the WRICEF and has the following types:

- Conversion (Load only)
- Conversion (Transform + Load)
- Enhancement
- Form (Output)
- HANA CDS View
- Integration Process (custom)
- Integration Process (standard)
- Mobile App
- Modification
- Program
- Report/Analytics
- System Interface
- User Interface
- Workflow
- Application Job (Custom)


The Development Id is the number assigned to developments. The development Id consists of the approved request Id and, in addition to that for S/4HANA/GTS and BTP developments, a running number. The Development Id will be used in the functional design (FD) document title, the development package name and needs to be assigned in all relevant L5 business process steps in Signavio.


For example, a custom 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 - Jira/Signavio : 1234-001 (Type User Interface) and 1234-002 (Type API) 

Sample - Package: Z[POD]_1234_001 and Z[POD]_1234_002


Sample - SaaS: 1234 (Type System Interface)

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:


Tier 3: Classical ABAP development (deprecated legacy code/tools with exceptions where still required).

Tier 2: Cloud API enablement (custom wrapper to use unreleased APIs in Tier 1) or mandatory use of legacy tools, i.e. pricing routines, user exits.

Tier 1: On-Stack (Key User or Developer Extensibility) or in BTP or SaaS customizations.


ABAP Cloud is the programming model for cloud compliant custom developments. Implementing with ABAP Cloud ensures that the code will be considered clean core and is upgrade stable.


3 Tier Technology Mapping

Based on the above definition of clean core the following table contains the main development tools and approaches used to categorize as tier 1/2/3.

TypeTier 1Tier 2Tier 3
Conversion (Load only)Standard Migration Cockpit objectsCustom Migration Cockpit object / LSMW / ABAP Load program (To be removed after project Go-Live)LSMW / ABAP Load program (To stay after project Go-Live)
Conversion (Transform + Load)Standard Migration Cockpit objectsCustom Migration Cockpit objec t/ LSMW / ABAP Load program (To be removed after project Go-Live)LSMW / ABAP Load program (To stay after project Go-Live)
EnhancementReleased Badi / UI Adaptation project / Key User UI Adaptation / ABAP CloudTier 2 wrapper / Unreleased Badi / Customer exit / Routine exit / Standard (Web) Dynpro enhancementImplicit Enhancement / ABAP Program with user access / Dynpros / Classic ABAP for use in background jobs
Form (Output)Adobe Form with FragmentsClassic Adobe FormSAP Script / Smartform
HANA CDS ViewReleased CDS entityN/ACDS view
Integration Process (custom)Custom released APIs / Custom iFlowsCustom web service proxy object in S/4HANAN/A
Integration Process (standard)Standard integration proxies and services in S/4HANA / Standard iFlowsN/AN/A
Mobile AppNeptune app (on Open Edition)Neptune app (on SAP Edition)N/A
ModificationN/AN/AStandard code modification
ProgramN/AClassic ABAP program to run as part of CLOCONon CLOCO program
Report/AnalyticsFiori Elements Report / SAC Report (with Datasphere integration)Business Objects Report / KPI report / AFO ReportABAP Report with custom transaction code
System InterfaceCustom released APIs / Standard RFCsN/AABAP Program with direct service calls / Custom RFCs
User InterfaceFiori UX with RAP based service in backend / Web App on BTP with RAP based service in backendFiori UX with existing Gateway service and clean core compliant codeCustom ABAP dynpro / Custom Web dynpro
WorkflowSAP Build Process Automation / Flexible WorkflowBusiness WorkflowN/A
Application JobCustom class for Application JobCustom class for Application Job calling a Tier 2 wrapperN/A


Clean Core Deviation tracking

All tier 2 and 3 Development Ids will be logged in a deviation tracker and need to be revisited during upgrades to see if a clean core compliant replacement is available.


The deviation tracker header to show the following:

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


Custom Development Request

Each business process step that requires a development Id will need a development request, specifying the system, development type and high level requirement.


Tier 3 needs to be justified in detail before DA approval and is only allowed by exception. It is legacy and considered deprecated. In certain circumstances classic ABAP development must be used due to lack of clean core replacements. These special cases are considered Tier 2.

Tier 2 needs to be justified in detail before DA approval. SAP is still adding clean core compliant APIs and enhancements each release and using tier 2 offers the needed flexibility to achieve the successful implementation of a business requirement.

Tier 1 is clean core compliant and upgrade stable. No detailed justification is needed.


Development requests are managed in Jira.

WRICEFUM Count

Every development requires at least one development Id. All will be counted. SAP considers all custom code as a core change. The type of it is irrelevant.


Standard interfaces or workflows require a development object Id and FD to describe the business requirement and to cover the needed technical configuration. These will not be counted.

SaaS system customizations require a development object Id and FD to describe the business requirement and to cover the needed technical configuration. These will not be counted.


There is no target maximum number of development object Ids defined.

A report that shows the approved Development Ids per Pod, L3/4 Process, Development Type, System, Clean Core Tier and by Release needs to be created in Jira.




  • No labels