Skip to Content
Author's profile photo Former Member

Enhancement Strategy @ SAP Development

Project Endeavour should emphasize on Enhancement requirements and the process to be followed in the specification and development of Enhancements.  Enhancements, custom development and modifications should be evaluated to determine which one best satisfies the requirements at the lowest overall cost / risks to the business.

Custom Development – Conversions, interfaces, reports and SAP Scripts (Forms) that are developed to support specific business needs are normal components of SAP implementation.

Enhancement – Uses the concept of predefined exits for adding custom functionality to the SAP software. New bolt-on application development is considered as Enhancements. Both custom Development and Enhancements are implemented through new or changes to the existing programs in the customer namespace. They should not interfere with upgrade to SAP software.

Modification – Modification should be viewed as the ‘last and final resort’ and need to be approved by Steering Committee.  When an SAP delivered object is changed the change must be registered with SAP through the OSS system.  An object key is supplied by SAP and the desired change can only be implemented after the object key is provided.  From release 4.5 onwards, SAP provided the Modification Assistant to help users manage changes to SAP delivered objects.Any modifications if required to meet the business requirements need to be approved by Steering Committee upon justification by the business, Functional Teams and the technical lead with the development approach.

Enhancement requests should be researched to find the overall impact to the system.  These findings need to be documented in the GAP analysis form in the Solution Manager tool.


Once identified, each gap in functionality is documented in the GAP analysis form in the Solution Manager tool.  Details included in the GAP analysis document are the following.

  • Alternatives Considered – describes the possible options available to handle the change in processes.
  • Recommendations / Rationale – provides description of what is the best alternative and why. Solution analysis will be thoroughly documented in the functional specifications document and technical design document; however, a high level solution should be covered in the GAP analysis form.
  • During the course of the project, Gap’s between business requirements and the SAP functionality may occur. In this situation, Enhancements will be reviewed under the project scope management through the steering committee. Enhancements should be considered only for “must have” business requirements because Enhancements expand the technical complexity of the project and are both time and resource intensive. Enhancements should not be used as a tool to simply imitate the look and feel of the legacy system All possible alternatives and options should be analyzed before considering an Enhancement.Enhancements should not be used as a tool to simply imitate the look and feel of the legacy system. Cost of Enhancements includes development effort and the long term maintenance ,
  • Enhancements will be designed and developed only after the approval from the project management through the change control process. These needs to be reviewed with the project team (Leads) before going to the Steering Committee for approval. All Enhancements should be prioritized. As a rule, Enhancements should be integrated with the business processes during the realization phase. Certain kinds of Enhancements (validation rules, substitution rules, Special Ledger field movements, overview screens) are required very early in the realization process: they are prerequisites to Business Process and Work Instruction development. Other Enhancements may be critical to the “proof of concept” and help secure business acceptance. On the other hand, certain Enhancements will be required to meet local statutory requirements. They will be specified, developed and tested as part of the roll-outs. In order to achieve short turn-around times, the developments should follow a fast-prototyping (iterative) approach. This requires a close interaction between the Technology Teams and the process Teams. Overall responsibility for an Enhancement must be assigned to specific functional owner. The functional owner is responsible for user acceptance criteria and sign-off.
  • New Enhancements should be subject to regression testing. Enhancements frequently may result in performance degradation after go-live. Therefore performance tuning should be component of testing and user acceptance.


Enhancements Identification process

During the realization phase, the teams involved in the project  will document the fit/gap analysis. The fit/gap process usually performs the following functions:

  • Identification/recording any functional deficits on process definition documents.
  • Using the Enhancement list refined in the project preparation phase to develop detailed scope.
  • Determining the best approach to resolve the functional deficit. This may entail documenting several approaches, as well as manual workarounds.

If an Enhancement is the perceived solution, filling out an Enhancement definition document with the following details:

  • Description of business requirement
  • Alternative solutions
  • Recommendations
  • Enhancement description
  • System areas affected by the Enhancement
  • Cost and labor estimates
  • Management approvals

Enhancing the SAP system is a complex issue because there are many variables to consider. Both technical and business requirements/drivers must be taken into consideration.Consider the following classifications:

  • Business requirements
  • Technical requirements
  • The investment strategy for the SAP implementation (Budget)
  • Available skill sets
  • Anticipated change & risks.




When assessing the alternative methods to address the Enhancement requirements, there are a number of different factors that must be considered, the more significant of which are addressed below.

Availability of Enhancement Method

To meet the specific business requirements, the Technology Team has to research if there are exit points, in the SAP program, where custom functionality could be added. There could be situations wherein either an exit point does not exist or is provided at a point where the inclusion of custom code does not meet the business requirements, since the program control may have passed the point wherein the desired functionality would have had to be triggered.

Complexity of Enhancement Development

The skill sets needed to develop complex Enhancement may either come at higher cost or would require greater effort, thus adding to the overall development and ultimately project costs. As the complexity of the Enhancement increases, the experience level of the developer would increase as well.

Standard application programs – Bolt-Ons

As a general rule, if an external application has the desired business functionality that can be appropriately used as part of the final solution in an integrated fashion, then it should be seriously considered as an option. Such applications include business functionality, standard programs, integration API’s and other support software. The use of such bolt-ones will provide a tested and supported product that will provide a standardized way of providing functionality and should result in a reduced development effort.

Overall cost of Development/Maintenance

As with any business there is a requirement for cost to be minimized without a reduction in quality. Cost may therefore play an importantrole in deciding on an Enhancement solution. If complex Enhancements development is required as a part of the final solution, care must be taken to perform the cost/benefit analysis. Although the business benefits may outweigh the cost of implementing the Enhancement, the project Team should also factor in the long-term maintenance cost as well as the possible availability of similar functionality in future releases of the software.


Identification of Enhancements

The first step in the Enhancement development process is to identify and list all Enhancement requirements. This will include Program exits, Data dictionary exits, Screen exits, modifications, Dialog programming, etc.

Team Responsible: Functional Team


  • Identify emerging, new information resulting from Blueprint phases (Business Process prototype stage) about the Enhancements required for the business Teams.

Deliverables: List of Enhancements


The consolidation phase will rationalize the Enhancements from each of the Functional Team into single consolidated list based on common business rules. This source will be used to drive global Enhancement requirements.

Team Responsible: Functional Teams


  • Complete review of existing SAP pre-delivered Enhancements. Use SAP’s Enhancements transactions CMOD and SMOD to identify the delivered Enhancements.
  • Consolidate the Enhancements list by eliminating duplicate requirements.
  • Estimate the development effort.

Deliverables: Updated List of Enhancements

Development Sign-off

The completed list of Enhancements provides a complete list of development requirements as well as explicitly identifying requirements that can be met by available Enhancements.  This list of development requirements will need to be signed off before preparing functional specification and Enhancements development.

Team Responsible: Functional and Technical (system development) Team

Develop Functional Specifications

Enhancement functional specification form serves as the starting point for Enhancement development. It provides the developer with vital information about the Enhancements requirement whether it will be a new requirements, a dialog program, program exit, data dictionary exits, screen exits, SAP program modifications.  A detailed and complete specification is essential for efficient Enhancement development, particularly when the developers are remotely located from the project.

The Enhancement functional specification describes areas such as:

  • Intended audience
  • Required authorizations – restrictions on access to specific data
  • characteristics (data elements) and measures for analysis
  • Required level of detail
  • Selection criteria for the user
  • Required calculations
  • Detailed description of data sources
  • Data retention (history) requirements and data update frequency

Development of Enhancements involves a very structured approach and as such requires very detailed Enhancement specifications.

Team Responsible: Functional Team

Deliverables: Completed functional specification

Update to Solution Manager

Each Enhancement functional specification document is to be updated in Solution Manager where it serves as a Global Functional Specification (GFS) document

Team Responsible: Functional Team

Develop Technical Specification

This specification details the technical requirements of developing the Enhancements.

Team Responsible: Technology Team and Functional Team (For high and very high complexity objects developer and Functional Team responsibility will be in the ratio of 90:10)

Main Tasks: Develop Enhancement Design by completing technical specifications

Deliverables: Technical detailed design

Develop Enhancements

Based on the technical specifications design, the Enhancements will be developed:

Team Responsible: Technology Team

Main Tasks:

  • Developer develops the Enhancement by developing ABAP code in R/3.
  • Developer completes unit test.
  • Resolve any issues that may arise during development that were not captured in the functional specifications.

Deliverables:   Program and unit test completion

Develop Test Data

It is the responsibility of the Functional Teams to develop sufficient data in the source systems. Test data does not need to be created in great volumes but should meet the expected conditions and variations that may occur with real data.  Data will include both transaction data and any related master data.  This is to enable extensive testing of the Enhancements.

Team Responsible: Functional Team

Deliverables: Test data creation in development environment.

Test Output / Refine Functional Specification

The appropriate person from the Functional Team will need to test the Enhancement output to determine if the end product meets the requirements as set out in the functional specifications.  Any errors encountered will need to be rectified by the Enhancements Technology Team. 

In some cases, the testing process will highlight additional requirements that were not detailed in the original functional specification document.  In this case, the additions will need to be noted as an addendum to the functional specification document.

Team Responsible: Functional Team and Technology Team

Main Tasks:

  • Testing of Enhancements in development environment.
  • Identify and resolve defects with technical Team.
  • Approval to move the code to quality environment.

Final Testing and Sign-off

When unit testing has been completed to the satisfaction of the Functional Team, the Enhancement should be migrated to QA environment for testing.  The functional specification document should be signed off as complete only after Integration  and Regression testing.

Team Responsible: Functional Team and Technology Team

Main Tasks:

  • Testing of Enhancements in integration environment(Quality system)
  • Identify and resolve defects with technical Team.
  • Approval Process Sign-off.

Deliverables: Enhancements Sign-off


Hope this blog helps in forming Enhancement strategy for projects as well provide inputs to large programs of complex nature

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.