SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
Transcript of SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 1/13
Global Market Leader in Enterprise Transformation and Management, including Automated ABAP®
Code Transformations
A Whitepaper by
John Conte
Gregory Sabatino
ABAP Code Development and Quality Assurance
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 2/13
© 2015 smartShift Technologies. Proprietary and Confidential.
Contents
Executive Summary .............................................................................................. 2
1 SAP ABAP® Custom Code Management Challenges .................................... 4
2 Industry Best Practices Fall Short .................................................................. 6
3 A Better Solution – The Concept .................................................................... 8
4 A Better Solution – Delivered ......................................................................... 9
5 Conclusion ................................................................................................... 11
6 About smartShift Technologies .................................................................... 12
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 3/13
© 2015 smartShift Technologies. Proprietary and Confidential.
Executive Summary
SAP® is a software package used by a majority of enterprise corporations and governments
worldwide to manage their organizations. Although SAP is highly configurable, custom
programming is needed in SAP’s proprietary programming language, called ABAP , to
incorporate the strategic business processes that can deliver a competitive advantage.
This is normally accomplished using a variety of resourcing models, including internal and
outsourced development. Distributed on-shore or off-shore, 3rd
-party packages are also used
to fill functional gaps or optimize usability. ABAP has evolved over 30 years and it currently
contains over 350 constructs. Although many are obsolete, most remain operational due to
backward compatibility concerns. Custom code has generally NOT been modernized as a
part of SAP Upgrades or other events. This is because of the project time, scope, risk andcost constraints involved.
Over time, four main factors have come into play that directly impact the quality of custom
code:
The evolution of ABAP
Multiple resourcing models and changing resources
Weak QA tools and processes
Lost opportunities to modernize during key events, such as upgrades
Together, these factors have made custom ABAP more difficult to maintain, lower quality
than it should be, non-compliant with company standards or SAP best practices and not
optimized for performance. Ultimately, all of these issues lead to a higher total cost of
ownership (TCO) for your SAP system.
To solve these issues, an ideal solution is discussed in this paper. It consists of 4 key
capabilities:
The ability to capture all custom code, ensuring 100% coverage
Automated analysis and correction of the code, using state-of-the-art parsing
technology - in conjunction with an extensible library of pre-built rules containing
SAP best practices, changes across releases and performance analysis
Flexible review as early in the process as possible
Full integration into the SAP development process
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 4/13
© 2015 smartShift Technologies. Proprietary and Confidential.
At smartShift Technologies, we have created smartDevelop to meet these requirements
using patented technology and processes. With smartDevelop, it is now possible to truly
improve the quality of your custom ABAP, ensure compliance and lower your SAP
maintenance and development costs.
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 5/13
© 2015 smartShift Technologies. Proprietary and Confidential.
1 SAP ABAP ®
Custom Code ManagementChallenges
SAP is a leading provider of enterprise-level business software solutions worldwide, with more
than 282,000 customers operating in more than 130 countries. SAP provides facilities for custom
ABAP development to support its large and diverse customer base. Customers and third-party
providers can develop programs in the proprietary ABAP language to add strategic, company-
specific business functionality to the standard SAP environment.
A significant majority of SAP customers rely on custom ABAP programs to fill functional gaps.
Many of these developments involve mission-critical applications and represent significant
investments in time, money and resources.
ABAP’s Complex Evolution
ABAP is a large and complex programming language that supports a wide range of functionality.
It is optimized for enterprise-level business programming. Since its inception over three decades
ago, ABAP has followed an evolutionary strategy of continuous enhancement and expansion. As
a result, it has grown to contain more than 350 constructs, some of which overlap in functionality.
In comparison, COBOL has about 70. Additionally, multiple coding paradigms are supported:
Unstructured
Structured (Function Groups & FORMs) Object-oriented
Each successive ABAP release has added new constructs and functions, rendering others
obsolete. However, in the interest of backward compatibility, these obsolete constructs remain
operational. While backward compatibility helps maintain interoperability between code created
in different releases, it also increases system complexity and may conceal issues that affect
system maintainability, performance, and security:
A given ABAP function or operation can be coded in multiple ways, making
standardization more difficult to achieve and code more difficult to understand.
Developers may continue to use outdated procedural programming and obsolete code
constructs, thereby increasing the amount of rework necessary to eventually update the
system.
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 6/13
© 2015 smartShift Technologies. Proprietary and Confidential.
Outdated code may contribute to system performance degradation and expose security
vulnerabilities.
Custom ABAP that is outdated and difficult to understand costs more to maintain and
consumes time and resources, which could otherwise be spent on system
enhancements and other initiatives.
With the introduction of Unicode SAP systems, stricter ABAP syntax rules on variables
and structures using character or string fields, as well as file processing that were not
available in the past are enforced.
Development Team Complexity
From our experience with hundreds of SAP customers, we have found that the complexity
encountered in these environments is compounded by the evolution and/or distribution of
development resources. Whether it is as a result of multiple instances deployed across
geographies, vagaries of corporate structure, or different teams for implementation vs.
maintenance, there are frequently multiple sourcing arrangements involved in the evolution and
management of a customer’s ABAP code-base:
Internal
Outsourced
On-shore
Off-shore
Frequently, two or more of these models are active at the same time. Without a strong
governance model in place, such team member diversity (and varying skill levels) when touching
a code base will result in non-standard development practices. Given the flexible nature of the
ABAP language and backward-compatibility requirements, issues can arise with maintainability,
compliance, performance and security. These problems can present ongoing challenges to
delivering routine enhancements and projects. They can also manifest significant issues during
system upgrades. In tangible terms, these issues lead to business-user dissatisfaction with the
SAP implementation, as well as increased maintenance costs and constrained flexibility to
modify it.
Lost opportunities during major (and minor) events
SAP recommends that custom code be continuously updated to comply with release specific
changes to ABAP and take advantage of the new technology capabilities of the SAP
NetWeaver ® stack. Unfortunately, very few customers take advantage of this opportunity. In the
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 7/13
© 2015 smartShift Technologies. Proprietary and Confidential.
case of upgrades, most customers choose a pure ‘technical upgrade’ approach instead of taking
the opportunity to improve their investments in key strategic developments.
This has the effect of promoting ABAP code from 3.x, 4.x and 5.x environments into the new
ECC 6.0 environments ‘as-is’. There are some exceptions, particularly in the context of Unicode
enablement, where the directive generally is ‘fix only what generates hard-errors’.
This approach, while pragmatic, is short-sighted. Let’s consider an example. SAP’s new
enhancement pack approach and enhancement points with the switch framework allows
customers to flexibly turn on newly available functionality. This same mechanism can be used by
customers to enhance SAP. In customer systems, we still see the significant existence of ‘old-
style’ user -exits (FORM-based, FUNCTION-based). If these had all been converted to object-
oriented ABAP (a.k.a. BADIs or even just Classes) at some point, the exercise of leveraging the
new enhancement techniques would be significantly easier. The benefits of this should not be
underestimated. Clean isolation of custom code, the ability to turn code off without programming
and the ability to better compare and decide if SAP’s newly available functionality can be used
instead of the custom code are all powerful arguments for moving towards the flexibility and
agility of a system.
2 Industry Best Practices Fall Short
Existing solutions for the governance of development teams have proven to be inadequate at
managing the challenges of significant custom ABAP code bases. Common frameworks put in
place consist of varying degrees of the following elements:
Documentation of best practices and corporate standards
Training (formal and/or informal)
Code reviews to evaluate compliance
These solutions, while well-intentioned, can achieve some level of impact in the short term.
However, they frequently breakdown over time. Common challenges include:
Maintaining standards: As SAP and ABAP evolve over time, so should the best practices
and standards. Devoting time from senior resources to keep these relevant is a
challenge.
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 8/13
© 2015 smartShift Technologies. Proprietary and Confidential.
Coverage: Dedicating time to review 100% of developed and modified code simply isn’t
realistic. In reality, a small fraction of the code gets reviewed for compliance. While this
is an issue for internal developers, this becomes a significant risk with outsourced teams.
Dedication: When the inevitable crunch of project schedules hit, review processes are
often the first to become sacrificed. While time becomes short for everyone, this is
particularly true for the senior resources required to conduct reviews as they are often
tasked with solving the complex issues which are jeopardizing project timelines.
Follow-through: As remediation issues are identified as part of the code review process,
these issues typically result in tickets for developers to execute upon. Often, these are
not high priority items and they are sacrificed in favor of delivering tickets that produce
functionality.
Visibility: The latent risk in a fractured, aging and ill-maintained code base is a difficult
item to quantify. Similarly, the effort to clean it up is difficult to quantify, as is the efficacy
of a governance process put in place to police it.
In essence, the state of custom ABAP development across the majority of mature SAP
customers can be depicted by the following diagram:
Figure 1: Impact on custom development over time
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 9/13
© 2015 smartShift Technologies. Proprietary and Confidential.
The market, including SAP, has recognized many of these challenges and responded. Products
exist that will alleviate the challenges of a manual governance process and provide visibility into
overall quality of the code base.
3 A Better Solution – The Concept
From working with hundreds of SAP customers as a leading ABAP transformation and
management service provider, smartShift believes an ideal solution to governing ABAP
development teams consists of several key qualities:
Complete coverage: The sparse selection of code artifacts associated with manual
review processes simply doesn’t get the job done. To use a common phrase in a
different context: “you get what you measure”. If you measure a small fraction of your
code base, how much of it is likely to comply? To maintain quality, a large percentage
(ideally 100%) must be evaluated. Additionally, a mechanism must be available to
analyze and remediate new development projects and production support.
Automated
o Analysis: The manual effort involved in measuring 100% of a custom ABAP code
base is simply not realistic in most cases. To achieve this goal, rule-based
automation is required.
o Correction: To solve the ‘follow-through’ challenge regarding remediation of
identified issues, automated correction is required to ensure complete and timely
compliance.
Early in SDLC: Numerous studies have demonstrated that fixing any type of defect
costs more as the development lifecycle progresses. The out-of-band nature of many
review and remediation processes results in defects getting addressed post-QA or post-
production. Requiring re-validation, this increases risks and costs.
Integrated: To ensure the complete and timely execution of the review and remediation
process, integration with existing development lifecycle tools and processes is desired.
Requiring external tools to be run and/or reports to be reviewed that are outside of the
normal day-to-day will create friction. The more streamlined and integrated the process,
the greater the probability of adherence.
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 10/13
© 2015 smartShift Technologies. Proprietary and Confidential.
Figure 2: Steps of an ideal solution
While the market has produced solutions that address some of these qualities, only
smartDevelop from smartShift meets all of them.
4 A Better Solution – Delivered
smartDevelop was designed to provide a complete, sustainable and effective solution for
managing custom ABAP code quality. Enterprise organizations leverage smartShift’s mature,
customizable and patented technology to ensure the maximum quantity of metrics can be
applied. The SaaS-appliance solution layers in a patented 4 step process to your SAP
development environment that governs the code-base with minimal supervision:
Capture: By integrating into SAP’s development process (CTS – Correction and
Transport System), all development work is captured and analyzed for new projects and
maintenance.
Detect: A rules-driven parser, together with an extensive library of rules, ensures that
the code is thoroughly reviewed for compliance with company standards, along with SAP
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 11/13
© 2015 smartShift Technologies. Proprietary and Confidential.
1
recommended syntax and best practices, security and performance. Additionally, rules
can be added to meet customer-specific requirements.
Correct: Only smartDevelop has the technology to detect and correct custom code. This
powerful approach dramatically reduces development and testing time. It also helps
developers with new and improved syntax.
Review: Development managers have the opportunity to review and assign detected
issues from within the SAP environment, while developers are empowered to review
before/after code comparisons and accept/modify/reject changes. All changes are
audited within the SAP environment and they can be reported against. Reporting
features allow for monitoring of the code base quality level. Objects can be manually
selected for analysis.
This process and technology meet the necessary requirements for an ideal code quality
governance solution:
Complete coverage: By capturing code via SAP’s CTS, 100% of the code will be
analyzed.
Automated analysis and correction: Leveraging smartShift’s patented engine, an
innovative level of automation is delivered - unmatched by solutions in the market today.
Early in SDLC: Prior to testing, the remediation process is automatically triggered
immediately following the development phase.
Integrated: smartDevelop integrates with SAP’s CTS. Code analysis and correction take
place transparently and injected back into the system for in-line review/acceptance. No
manual steps are required to initiate it and the process cannot be bypassed.
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 12/13
© 2015 smartShift Technologies. Proprietary and Confidential.
1
5 Conclusion
ABAP, SAP’s programming language, has had three decades of evolutionary history. Customer
experiences in the market across numerous industries has revealed that this evolution has
impacted their implementations. Obsolete constructs and old programming paradigms are
commonly found. Exacerbated by varied sourcing models for project teams, this frequently
results in a code base which is suffering from a lack of flexibility and maintainability, as well as an
increased risk of performance issues and security holes.
To manage these risks and issues, a robust governance process and tools are required to
monitor code quality. To be effective, the following qualities are required in a solution:
Complete code coverage
Automated analysis and remediation
Applied early in the SDLC
Integrated seamlessly into the development process
The market has responded with software solutions to address these challenges. However, only
smartDevelop from smartShift can deliver on all of these qualities through its patented
technology and processes. Simply put, smartDevelop can do this:
Faster - With the ability to auto-correct code and native integration into the SAP developmentprocess early in the lifecycle, smartDevelop can significantly speed up all of your custom
development efforts. It will also increase the agility of your development teams from a staffing
perspective.
Less Expensive - Since the code is reviewed and corrected by a tool early in the cycle,
development time, re-work, QA, testing and training costs are considerably reduced.
Furthermore, since the resulting code is more maintainable and stable, maintenance and support
costs will also decrease.
Higher Quality - Analysis and correction is applied consistently across the code-base. Variances
due to resource quality are ‘absorbed’ by the tool. A rules -driven parser, together with an
extensive library of rules, ensures that the code is thoroughly reviewed for compliance with your
company standards, SAP recommended syntax and best practices. Security and performance
optimization is also included as part of the analysis.
7/25/2019 SmartShift WhitePaper ABAPCodeDevelopmentandQualityAssurance 2015
http://slidepdf.com/reader/full/smartshift-whitepaper-abapcodedevelopmentandqualityassurance-2015 13/13
© 2015 smartShift Technologies. Proprietary and Confidential.
6 About smartShift Technologies
At smartShift, we’re radically improving how businesses accomplish transformations with
innovative automation throughout the entire enterprise software lifecycle. And, at a quality level
you’ve never seen before. Our modern, breakthrough approach to enterprise software
management is gaining serious momentum.
We specialize in helping enterprises upgrade to high performance, next generation computing
environments, including moves from on-premise to Cloud, relational data to big data and
platform-to-platform.
Unlike anything else you’ve seen in the market, smartShift’s patented suite of innovative
automation tools will help you replace the people-intensive approach to managing enterprise
applications. You’ll dramatically reduce the risk, cost and cycle times (from years to weeks) for
complex IT transformations and technology overhauls.
smartShift was founded in 2002 by a team of German engineers who pioneered automated
systems transformation software in the early 1990s. Since then, we have grown to become an
elite transformation and management partner to the world’s leading enterprise IT organizations.
We have a solid heritage of building robust, extremely high quality algorithmic tools covering
SAP and over 20+ other legacy programming languages.
smartShift has served more than 200 global enterprise organizations across numerous vertical
markets with over 700 successful project deliveries. We are headquartered in New York and
have a worldwide presence with locations in North America, Europe and Asia-Pacific.
For more information on how smartShift can help your organization with your next ABAP
transformation initiative, please call us at 917-793-2500 or visit www.smartShiftTech.com.
SAP, ABAP, and all SAP logos are trademarks or registered trademarks of SAP AG in Germany
and in several other countries.
All other product and service names mentioned are the trademarks of their respective
companies.