Two Value Releases per Year. How IT Can Deliver Releases with Tangible Business Value Every Six Months

Size: px
Start display at page:

Download "Two Value Releases per Year. How IT Can Deliver Releases with Tangible Business Value Every Six Months"


1 Two Value Releases per Year How IT Can Deliver Releases with Tangible Business Value Every Six Months

2 TABLE OF CONTENTS 0 LEGAL DISCLAIMER IMPROVE VALUE CHAIN AND REDUCE SG&A COSTS IN FAST CYCLES New business models require innovation and speed in IT IT & SAP - the Business Contribution and Value Center REQUIREMENTS AND RELEASE MANAGEMENT COMBINED WITH SAP UPDATES Managing Requirements from Business Users Gathering Big Ideas: Project Portfolio Management Gathering Small Ideas: Requests for Change Release Management Overview and Benefits of Release Management Release Categories Change Categories and Priorities Combining Customer Major Release with SAP Innovation Quality Gates for Minor and Major Releases Release Calendar (per year) Implementation of Requirements governed by Change Request Management and cprojects Roles in Requirements and Release Management MANAGE DUAL TRACK LANDSCAPE FOR MULTI-PROJECT SUPPORT Implement a Dual Track Transport Landscape with 6 systems Dual Track Cutover Process Retrofit in a Dual Track Transport Landscape Semi-Automated Synchronization of Dual Landscape with Retrofit When, and how often, to retrofit Prerequisites for Retrofit in SAP Solution Manager LEAN CUSTOM CODE AVOID, IMPROVE, MINIMIZE Custom Code Management Summary The green City Model Lean Measurement Custom Code Management - Governance Process and Optimization Custom Code Lifecycle Management - Transparency & Control Get transparency about custom code Process and Architecture Avoid Modifications and get closer to SAP Gap management by Innovation Control Center How the Innovation Control Center works Blueprint Analyzer Monitoring and evaluating existing modifications Get Closer to SAP Replace clones Distinguishing SAP Original Objects from Clones Identifying the Usage Area of Clones Cross system custom code versioning Time for Improvement Improve custom code quality Custom Code Quality Improvement with SAP ABAP Test cockpit/code inspector Minimize Modifications Usage and Procedure Logging Obsolescence of customer objects Deleting objects with CDMC ONLY ADJUST AND TEST WHAT MATTERS Identify change impact on custom developments Reduce development scope to used objects

3 5.3 Reduced test effort through Test Scope Optimization Preparing BPCA Standard Change Impact Analysis using BPCA BPCA Test Scope Optimization for large SAP change events Quantitative Example Value Proposition Increase Test Efficiency by Test Automation Test Option Test Data handling in SAP Test Option Test Option Test data handling in Test Option Outlook: EhP Scope and Effort Estimator PERFORM UPDATES WITH NEAR ZERO DOWNTIME Typical Pattern of Planned Downtime Frequency versus Effort and Business Downtime Managing Planned Downtime Minimize Planned Downtime Recommendations for ABAP-based systems Recommendations for Dual-stack-based Systems Recommendations for Databases Any DB SAP HANA database Outlook: Zero Downtime

4 0 LEGAL DISCLAIMER This script is not subject to your license agreement or any other agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to develop or release any functionality mentioned in this presentation. This presentation and SAP's strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or noninfringement. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent. 4

5 1 IMPROVE VALUE CHAIN AND REDUCE SG&A COSTS IN FAST CYCLES 1.1 New business models require innovation and speed in IT Talking to many of our customers globally, there is enormous pressure on being able to implement new business models. Innovation and speed are required to compete with cloud providers like, for example, but up-front investments are hard to obtain and justify. Outcomes have to be predictable. Very often IT, and even the existing software solutions (SAP and non-sap), are perceived as inhibitors of required business innovations. This is often due to the extent of modifications, but may also be caused by a lack of the skills and resources required to adapt and change existing solutions. Changing this perception requires a solid strategy and a new way of working together. It requires a platform which enables, not prohibits, business transformation. With the SAP Business Suite on HANA and the SAP Mobile Platform, SAP provides the building blocks of such a platform. Moreover, the SAP building blocks fit together and are managed and supported as one end to end business solution by SAP orchestration. SAP solutions are efficient to run, and they are built to scale. Last but not least, with the SAP mobile platform, every consumer and partner is always connected. In this way, SAP provides the capabilities to run SAP solutions without interruption. Many SAP MaxAttention customers run their SAP solutions as a single global instance, supporting their business operations all over the world. 1.2 IT & SAP - the Business Contribution and Value Center The speed of change of business models and the entry of strong new competitors into the market, require that change and transformation for more competitiveness be driven from the bottom of the pyramid. IT and SAP have to become a Business Contribution and Value Center, to actively and timely support the bottom of the pyramid. To achieve this, and become part of the LOB innovation requirements and cycles, requires a new business relationship. A business relationship on the one side based on a KPI framework to measure the performance and quality of existing end to end business processes. Finally, in a joint taskforce, IT and LOB run the 6 sigma improvement cycles. All of this can only work if the improvements which require software solution changes can be made productive in frequent cycles. A value release every 6 months is required. If innovations and improvements are not feasible in the existing framework of installed business solutions and processes, they have to be designed properly. Their feasibility and viability has to be analyzed. Finally, and most importantly, the desirability must be understood and the services/products designed appropriately. The SAP Business Suite on HANA, combined with the SAP Mobile Platform, are the enabling technologies and platforms to support the innovation required at the bottom of the pyramid. In combination with the business network cloud solutions of Ariba, and the cloud services of Success Factors, value can be delivered extremely fast. The SAP Business Suite is the business data foundation for most large enterprises today, especially for SAP MaxAttention customers. In many discussions with SAP MaxAttention customers they claimed that having all this data is important, but we do not do enough with it. The proper analytical functions could not be implemented on the transactional systems. The CPU and memory capacity was not available, and the transactional systems had too much impact on performance. This resulted in: many data copies, and many batch jobs to load and aggregate data a lot of manual and delayed work for accruals, profitability analysis, planning and analytics Now, with SAP HANA, the reasons which made this necessary, no longer apply. There are no data loading programs and no aggregates anymore. All costs are allocated when they occur. All planning is done when required. We can provide much smarter IT solutions overall. The IT landscape becomes much simpler. Business process operation becomes much simpler, since work which needs doing today is now real time. SG&A costs (Selling, General and Administrative Expenses) are therefore reduced dramatically, and we establish one central data pool - one single source of truth. On top of that, data from suppliers and customers can be integrated to implement an improved value chain, end to end, from suppliers to customers. To manage risk, SAP also provides flexible deployment options. We provide a technology (the SLT platform) which replicates data from the transactional data foundation to an enterprise data warehouse (SAP Business Warehouse on HANA), or to an in-memory database (SAP 5

6 HANA). This allows fast time to market with accelerators or data warehouse functions. Sometimes it is also better to integrate non-company data on data warehouse level than on transactional system level. The SAP Mobile Platform now allows us to establish, on the SAP Business Suite, a user experience on mobile devices, tablets for example. To an end user, this looks like a cloud solution. With SAP Gateway, this new user experience is developed customer-specifically, without disruption and modifications of the SAP solution as the SAP Business Suite is cloud-enabled by the SAP Mobile Platform. To address these needs, rapid prototyping of new business models and capabilities is required. This is delivered in the framework of Build SAP Like a Factory. Based on building blocks delivered by SAP (Rapid Deployment Solutions, RDS) and industry/market best practices, the new business solution is integrated into the existing solution landscape. All integration issues and perceived gaps are managed in the Innovation Control Center. All gaps are resolved or closed quickly. To bring all these components together, SAP provides a new Build SAP and Run SAP Like a Factory methodology, with the following objectives: 1. A new value release with tangible and measurable benefits for each LOB, every 6 months 2. An upgrade to the latest release and technology, with (Near-)Zero Downtime, every 6 months Typical questions from customers are: How do I manage the gathering of requirements of big and small ideas from business users, and translate them into major releases, minor releases and standard changes? How do I integrate SAP updates into this release strategy? Are the designed software change processes and transport landscape effective? Do they support the release/maintenance strategy? Are they in line with industry best practices? How can the processes be improved for higher quality or higher agility for changes? Can the number of non-productive systems be reduced, without impacting the quality of service? What is the right number of supporting systems? What is the best practice for developing multiple projects in parallel? How can I predict, for a given SAP shipment (e.g. EhP), what custom code will stop working, and which regression tests will be required? Once scoped, how can I execute the adjustment and regression tests efficiently? How can I deploy all these changes with minimum downtime for business users? In answer to these questions, this document lines out how to design and improve the software change management processes and the transport landscape, and how SAP Solution Manager can better automate tasks and control the process. The target audiences for this document are IT architects, who ask the questions about software change management above. It is structured in five chapters: 1. Manage Requirements and Releases Collect big and small ideas (business requirements) and manage their implementation in major releases combined with SAP updates, minor releases and standard or urgent changes 2. Manage Dual Track Landscape Synchronize highly automated synchronization of dual development landscapes to support parallel deployments (releases) with minimum efforts and risks. 3. Lean custom code Avoid, improve and reduce custom code enhancements, and modifications, to minimize effort for software maintenance and customer release projects. 4. Only Adjust and Test What Matters Reduce project effort by focusing development and test on business-relevant changes and by automating tests. 6

7 5. Near-Zero Downtime updates Ensure minimal business disruption by maintenance and customer release deployments, with the latest SAP near-zero downtime methods and technologies. 2 REQUIREMENTS AND RELEASE MANAGEMENT COMBINED WITH SAP UPDATES 2.1 Managing Requirements from Business Users Gathering Big Ideas: Project Portfolio Management Portfolio management, or multi-project management, takes care of high-level project management tasks like planning, controlling, resourcing, and reporting of multiple development projects. The target of strategic multi-project management is to identify business and IT requirements for new development projects, prioritize them with the business, according to business cases, and with IT according to business benefits, and manage their risks. Once a program or project is approved, it is handed over to the project management organization for detailed planning and execution. As well as changes implemented in development projects, updates and housekeeping activities are necessary for production support. Operations, which are usually managed by ITIL processes, provide bug fixes, continuous improvements or standard changes, regularly. Project developments and production support might fight for the same resources, such as systems or people. Such conflicts between production support and project work cannot be resolved in isolation. We need the complete picture which takes into account risks, such as: Project delays because key resources are blocked to solve problems which are critical for production If the same object is processed multiple times within a timeframe, there is a risk of blocking it, and also a risk of object version mismatches (transport sequence violations) and object downgrades. Additional measures are needed to govern multiple transport requests of the same object. Testing such changes can also become more complex, or even irrelevant (e.g. testing a scenario which will not be imported into production). To overcome such conflicts, we recommend integrated portfolio management and IT service management processes, which can harmonize the incident and change management processes based on company criteria. These processes provide an assessment based on unified criteria and weighting, synchronize operational requirements and project management regularly, and define holistic processes for planning, development and deployment. During the process, strict release management eases the coordination of requests. 7

8 You can use IT Portfolio and Project Management (ITPPM) on SAP Solution Manager to manage the project portfolio process. SAP's portfolio management capabilities give high-level visibility over the entire project portfolio, portfolio analytics, capacities, budgets, and resources. Portfolio management provides a comprehensive and up-to-date view of the entire portfolio of IT projects, to present the full extent of project risks and opportunities. It allows you to overcome delays that can occur as information is collected from disparate sources. Portfolio management gathers diverse data into dashboards, which are the starting point for portfolio analyses. Portfolio management integrates information from existing project management, human resources, and financial systems, to provide an overview of the project portfolio and resource availability, and it provides easy drilldown to details. The overall structure of a portfolio is reflected in the hierarchy of investment buckets. This allows you a flexible categorization of portfolios. Portfolio management supports multi-level portfolio hierarchies. Portfolios can have several investment bucket hierarchies, which can for example represent product lines, organizations or regional structures. Once you have set up the investment bucket hierarchy, you can add items to the individual investment buckets, plan the budgets and resources, and make assignments accordingly. You use financial and capacity planning to store and plan financial and capacity data for your project, and to maintain actual cost data. You can maintain financial and capacity planning data for an investment bucket, a scope item, or an initiative. You can also enter negative values for financial and capacity planning. After you have saved your entries, the system calculates the values according to your customizing settings. Portfolio items represent objects (project proposals, concepts, for instance) that should be analyzed within a portfolio. You can compare portfolio items or initiatives in a scoring model, based on quantitative key performance indicators. This enables decision makers to make informed decisions about portfolio items or initiatives. You can implement different scoring models to aggregate data. The quantitative scores of a scoring model are obtained either from portfolio item or initiative attributes, or the results of questionnaires. You can use qualitative responses to questionnaires to derive numerical scores for risk, strategic fit, feasibility, and other types of soft data of portfolio items or initiatives. The business value of portfolio items is documented and is the basis for checking value realization in the LoB, once the project goes live and the enhanced IT solution is used productively. As SAP Solution Manager connects to all productive systems in the landscape, the improvements realized can be measured and compared against the expected business case and the business requirements that define the scope of projects Gathering Small Ideas: Requests for Change Requests for change can occur daily, from various sources, e.g. a problem to be solved because of an incident (break fix), a minor enhancement to an existing business process, or a change to an existing project. In SAP Solution Manager IT Service Management, a request for change can be created to trigger the approval and initiation of the change process. A request for change may include following information: Short description of the request for change Parties involved: o o Reporter Change manager 8

9 o Chand advisory board o Service team o Service agent Impact on the business o Urgency o Priority o Categorization of the request for change (business process or service effected) Notes Change description Solution description Description of workaround Queries to the reporter Answers from the reporter In this phase, all information required to make a subsequent decision about what needs to be changed and what is the impact, is collected. Depending on the impact, a category and priority are assigned to the change, to be able to obtain approval. Thus, small ideas are usually delivered in minor releases or in standard changes, in which transport to production is not bundled. Break fix support is managed in urgent changes, which are transported to production on request. 2.2 Release Management Overview and Benefits of Release Management Release management is the process of planning, building, testing, and deploying software and configuration. It ensures that a consistent and cyclic re-occurring methodology of deployment is used, and, reduces the likelihood of errors in production, using formal checks and procedures. A release is the set of software, configuration, processes and documentation required to implement one or more approved changes. A release is a single cohesive entity for development, testing, distributing, deployment and support. The key objective of release management is to protect the live productive environment while enabling business-as-usual corrections and enhancements to be deployed in a controlled manner. Releases include: Major and minor business enhancements SAP Maintenance: Support Packages, Enhancement Packages Problem resolution development Emergency fixes Figure 1 outlines the principles of release management, release planning and a release calendar. In a release with multiple projects, as illustrated in Figure 1, all projects must be aligned when the release enters or exits a quality gate or major milestone. The uppermost arrow depicts a timeline for which there will be three major releases. Four independent projects are shown in blue. The business owners, requirements analysis, change category and prioritization and the software change management (SWCM) organization will determine in which release a project is deployed. In this example, projects 2, 3 and 4 will be deployed in major release 2. These three projects must be aligned, and commit to Synchronized Transition to Testing at the same time, and be aligned when the release enters or exits a quality gate or major milestone (e.g. end of development, testing cycles, and Go- Live). For larger projects, which need to deliver functionality quickly and at different times, the scope of the project may need to be split by functions, and managed in multiple releases, such as for project 4. 9

10 Figure 1: Releases and Synchronized Testing of Projects Incident-related changes are often implemented by customers individually, even if the deployment is not urgent. Releases should be used for all change types. It is best practice to differentiate between standard changes, emergency changes, minor and major releases, to accommodate the different requirements of production support and project development. There are clear benefits of managing all changes in releases: A repeatable and reliable software release process A commitment to and visibility for the business of what goes live, and when The stability of the production system is increased because the frequency of transports to production is reduced, and solid testing of the release components, as one cohesive work package, is ensured. Quality gates can be defined as check points to sign off deliverables. The overall costs for testing can be reduced by using common regression and integration testing for several projects/changes, as one cohesive work package. Risk of inconsistencies is reduced, as forgotten transports or sequence violations are minimized Administration efforts for transport management are reduced, as all projects move from one phase to another at in the same time Release Categories Changes need to be allocated/ bundled into a release category. There are generally 4 release categories: Major release: has a significant release window to introduce major new functionality consisting of large amounts of new development. Major releases are also used to deploy the latest SAP software versions, to immediately benefit from SAP innovations, legal changes and corrections. Time and resources need to be allocated for the required regression, user acceptance and performance testing. Minor release: has a much shorter release cycle, and is intended for minor enhancements and problem resolution fixes. Due to the much shorter release cycle of a minor release, there will be 10

11 insufficient time for full regression and user acceptance testing, as conducted in a major release. A limited but targeted testing strategy is needed. Standard change: is low risk, and the impact is clearly understood, such as certain configuration changes. Emergency change: must contain only priority 1 changes that will be transported immediately, to solve critical production issues. In contrast to major releases, minor releases enable changes in weekly to monthly cycles, in a traceable manner. If a user in a business department sees potential for improvement of a certain application, he can create an incident message directly from the transaction. Alternatively, a business process owner can request a small change. The incident appears in the work list of the Service Desk employee, who processes the incident and generates a request for change, if required. The request is approved and classified as an urgent change. Because urgent changes need to be made in the minor release, the decisions made during the Change Request Management process are sufficient. This saves time, without neglecting the seamless documentation of the change. Deployment Cycle Emergency Changes Standard Changes Minor Release Major Release On request only Every 1-7 days Every 1 4 weeks Every 3 6 months Standard changes Non-invasive Change only (non-invasive, changes (+ re-import Emergency only Categories low risk and well of emergency known impact) changes) Priorities Emergency only Normal Priority Normal Priority Normal Priority Test focus Examples Regression test based on results of change impact analysis Changes to solve high priority incidents UAT and Regression test based on results of change impact analysis Already approved changes, e.g. storage locations, MRP controller Figure 2: Release Categories - Best Practice example UAT and Regression test based on results of change impact analysis Non-critical configuration, medium priority incidents All types of changes, including invasive changes UAT and Regression test based on results of change impact analysis, Interface Tests and Integration Validation. New (major) functions, Support/Enhancement Packages, Upgrades medium/low priority The test strategies (scope, effort and duration) are different per release category, depending on the level of changes. Figure 3 illustrates the focus and prioritization of test activities. 11

12 Test Types TWO VALUE RELEASES PER YEAR Standard Changes Minor Release Major Release Unit Test Scenario Integration Test User Acceptance Test Regression Tests Performance/ Load Tests Additional Tests (System Tests, Cutover Tests Yes (according to standard change process) Yes (code inspections and peer reviews if possible) No Yes Yes (important) No Limited, based on results of change impact analysis No No Yes (per correction/change) Extended, based on results of change impact analysis No Usually no Yes, including code inspections and peer reviews Yes (usually required for sign off) Extended, based on results of change impact analysis Potentially based on outcome of single activity trace in Integration Validation Potentially (depending on request) Figure 3: Focus and Prioritization of test activities The release to which to assign a change has to be decided during Change Request Management. The decision criteria include the criticality and priority of the change: high risk changes need more testing, and are thus candidates for a major release cycle. This assignment is made in the assessment and authorization step, which is an early step in the change request management process. It includes: The definition of the test scope of a change request The central categorization and prioritization of the change requests according to the change categories (defining the change impact) and change priorities The assignment of the change request to a release category, based on the change category and priority Agreement on a go-live date for the change, according to the release category and calendar 12

13 Figure 4: Change Request Management Assessment of the Change Request Change Categories and Priorities In the previous section, we mentioned that only changes of a certain category and priority can go into a certain release category. It is important that the change categories and priorities are defined explicitly ( positive lists ) in advance, to avoid discussion in the day-to-day change request management process. Change Categories: Change categories reflect the impact and the risk associated with a change. Examples: o o Critical (invasive): Any configuration change or development that will, or could interrupt business-critical services, from a business or technical perspective, (e.g. changes to core transactions, user interfaces or common elements of business processes). Non-invasive: Any change that is not likely to affect the availability of one or more entire business-critical services, and that can be reversed in the event of an issue. o Standard: Repetitive non-invasive changes with known outcomes and defined implementation procedures (e.g. new master data type configuration, like storage location). The change request classification criteria should be defined explicitly, e.g. based on a number of end users/countries/business units affected, need for training of end users, invasiveness of the change (new, enhanced, changed process), magnitude of the change (single module, single application, multiple applications), expected effort to build. For each change category, levels of decision makers should be defined. Define the category standard change, as this reduces the assessment and approval load. o o The definition of a new standard change type includes the definition of the allowed objects and required test and validation steps. Create a standard change list, including owners of standard changes, and a pre-approved list of who can create and/or release transports containing standard changes. 13

14 o Change Priorities: Once a standard change type is approved, a request of this type does not need to be assessed and approved. It will follow the predetermined, documented workflow, including a well-defined test scope. The change priority indicates how urgent the change needs to be to be applied. Best Practice is to start with two levels of priorities, to keep the process simple. o o Normal: Changes of normal priority are those that can be processed in line with the change category definitions and associated target approval/authorization/implementation schedules. Emergency: Changes addressing priority 1 incidents. In a priority 1 incident, a severe outage affects multiple business processes, or an entire business unit. A fast track process should be defined, and used for urgent requests. A typical shortcut is that the change manager approves the request directly, and later asks the CAB for approval in a regular CAB review meeting. Alternatively, an emergency CAB would have to approve an urgent request. In both cases, at least a basic assessment of effort and impact is necessary Combining Customer Major Release with SAP Innovation One key element of an accelerated release strategy, delivering measurable business value with each customer release, is to include the latest SAP software versions (OS/DB version, SAP releases, enhancement packages and support packages) at the beginning of a major customer release. New business developments are then automatically based on the latest SAP technology. Combining SAP and customer releases allows you to benefit from latest SAP innovations, legal changes and software corrections immediately, for example to improve of the level of security and performance of your SAP systems. The following figure illustrates a typical IT calendar, containing all release categories, including SAP software updates. Figure 5: IT calendar Most SAP customers separate the implementation of new SAP software versions and customer releases. The new SAP software is implemented by a technical upgrade project, with the goal to not change or enhance any business processes. Only corrections which are required to ensure that everything works the same after the upgrade as before it, are carried out. In most cases, the reason for this decision is the combination of technical and functional changes increase the complexity of the project and, hence the risk of missing the main project goals, to stay in time and in budget, not to compromise business continuity and stability for the end users. 14

15 The latest SAP application lifecycle management innovations in the areas of dual landscape maintenance and the management of custom code, testing and business downtime, described in the subsequent sections of this document, mitigate the main risk factors, and allow you to benefit fully from SAP innovations in your releases Quality Gates for Minor and Major Releases There should be at least three quality gates for a minor or major release: Scope to build. After the definition of the requirement and before the build, all requests for changes except standard changes (pre-approved category of changes) need to be approved. Build to Test: when development is completed (incl. developer/unit test), and before the release is tested, assess the status of the release and ensure that only transports of proven quality are moved to the testing system. This quality gate is optional for smaller changes. Test to Deploy: based on the test results before the deployment, the final go/no-go decision for deployment is made. Do this for all changes and check that the operations team is well-prepared. Large scale changes and projects can have additional quality gates Release Calendar (per year) A release calendar is a planning tool which tells the enterprise what to expect, and when. Ideally, the release calendar maintained for the enterprise contains all hardware and software activity. Once release categories have been defined, a release calendar, including major, minor and maintenance events, is created, and communicated to the enterprise. It is Best Practice to align the release Go-Live dates across all SAP applications in the environment, e.g. one go live weekend for both SAP ERP and SAP APO within a region, for regional implementations. The release calendar needs to be aligned with the business for freeze periods, downtime scheduling and frequency of shipment of changes. The release calendar should also include cut-off days, CAB meetings and testing periods. Figure 6: A Release Calendar 2.3 Implementation of Requirements governed by Change Request Management and cprojects Application architects, application experts (customizing) and developers design and program the solution, including adjustment, customizing, and unit testing of their developments. 15

16 When the developers have completed the corrections, testers can test them. Change Request Management transports the changes into the test system in a consistent manner. SAP Solution Manager supports a dual control principle, to ensure that the developers and testers are different people. You can only transport the changes into the production environment after they have been tested. The release manager implements the changes in the IT infrastructure in an effective, safe, and verifiable manner. The technical operator can then import the changes into the production environment. After deployment into production, the requirement is implemented, and the request for change can be concluded. The typical change request management process for such a change is described in the following figure. Create Request Assess and Authorize Req Build Change Test Change Deploy Change Review and Close Request Figure 7: Change Request Management Process Change Request Management governs the engineering aspect of the project (architecture and design, build, test, deploy), and cprojects on SAP Solution Manager standardizes and improves project management from a PMO perspective (budget, time, skills, resources). It reduces administrative and system costs by providing project management functions that can be deployed independently, or integrated into your back-end systems (such as Human Resources and Financials). Project Management is ideal for managing phased projects. It delivers highly specialized support for product development, IT, or other types of projects. It supports structuring, scheduling, visualization, operative planning, and execution. You can create templates that you can use each time you create a project, to standardize your projects. You can include phases, tasks, and checklist items from project templates or checklist templates, in operational projects, or other templates and their lower-level project elements. 2.4 Roles in Requirements and Release Management Roles and responsibilities are important, and need to be clearly defined and supported by the executive sponsor and the entire organization. Clarity of roles and responsibilities will have a big impact on how effective and successful software change management will be. Some of the key roles are: Business Process Owner: Is operationally responsible for one or more processes in a line of business. The business process owner is responsible for: o o o Operational process controlling Planning and execution of the operational process Competence and resource planning of processes on an operational level. Coordination with other processes Business Relationship Manager: Orchestrates the collaboration between IT and LOB (business process owner) to identify optimization opportunities for the value chain, in two dimensions. Firstly, identify improvements in Customer/Consumer Experience and improve the integration of suppliers. Secondly, identify efficiency and automation improvements, to reduce selling, general and administration (SG&A) costs). 16

17 Portfolio Manager: Makes investment decisions using other people s funds. Works closely with business relationship managers and a team of analysts and researchers, and is ultimately responsible for the investment strategy in IT. PMO project manager: Ensures the project produces the required products, to the required standard of quality, within the specified time and cost constraints. Responsible for the project results according to the benefits defined in the business case. Change Manager: provides a single point of contact, and is responsible for managing change, and the impact on the environment. Responsibilities include: o o o o Preside over change advisory board meetings Ensure received requests for change (RFC) are documented and addressed Monitor the progress of change through production Validate and close the change, with change advisory board Change Advisory Board (CAB): Consists of individual stakeholders who have decision authority over the implementation of changes. CAB members should have a clear understanding of the business and technology requirements. o o o The CAB is led by the Change Manager The CAB meets regularly to approve/authorize all major and medium change requests, review the closure of completed change requests, and review the the change process performance indicators. Participants need to represent the different divisions, and understand the business needs and the dependencies, impact and risk of a change. Emergency Change Advisory Board: o For critical changes, an emergency CAB should be defined, to convene and decide about emergency change requests expediently. Release Manager: Oversees the major milestones of a release, such as development, testing, deployment deployment, and is accountable for the end-to-end lifecycle and quality of a release. The tasks of a release manager include: o o Release plan scope, execution, compliance and delivery, in particular deliverables from multiple projects and their impact that must come together. Resolve/escalate issues that impact the release or release milestones. 17

18 3 MANAGE DUAL TRACK LANDSCAPE FOR MULTI-PROJECT SUPPORT The system landscape is a key element of a release strategy. A classical 3-system transport landscape is not sufficient to be able to deliver two value releases to the business. You should support such a release strategy with a dual track transport landscape, as described in the following section. 3.1 Implement a Dual Track Transport Landscape with 6 systems The dual track transport landscape, also known as N+1, was designed for customers who need to continuously release a significant number of software updates, regularly, and provide a secure and stable production end user environment. The advantage of dual track transport landscape is the addition of a parallel track to production, which contains a second development and testing instances that will be used continuously to develop, test and release software to the production track, in release waves, according to the release calendar. This design has the salient and distinctive advantage over the single track that it enables the customer to move the entire project development scope, and all project development teams, away from production a clear segregation of development tasks from production tasks and their personnel. Minimizing the change activity in the production track, plus the personnel that can make those changes, will empower the production support team s risk management. The dual track allows the project teams much more flexibility, as they are not constrained by production controls. For example, the path to production will not be blocked by project testing requirements or maintenance updates. Testing instances can be refreshed as often as the projects demand. More realistic quality gates can be enforced, and not circumvented by production priorities. For example, testing duration and its iterations can be driven by the needs of the projects, not by a production-imposed freeze period. The dual track strategy establishes a permanent set of instances with a consistent and permanent role, ensuring the SWCM teams know which tasks are performed when, and where. This is an advantage over the single track. A single track that handles large developments and maintenance usually requires the Basis team to intervene manually and establish temporary instances. This intervention introduces more risk, as these changes also change the SWCM processes, such as transport paths. The dual track becomes a permanent software factory, continuously releasing (cutover) new functionality to production, according to the release calendar. The retrofit functionality of SAP Solution Manager synchronizes dual track development instances. A dual track transport landscape can reduce risks to production from project development, e.g. if the solution is still in full roll-out mode, there are different organizations with different skills involved, a lot of invasive transports are expected, or there is high risk sensitivity in the company or for the particular solution. Figure 8: The 6-system dual track transport landscape The 6-system dual track transport landscape: PRD (production instance) There are two development and three quality assurance instances: o PSD (production support development) o PSQ (production support quality assurance) 18

19 o o o DEV (project development) QAS (project quality assurance) PRE (project quality assurance) The SBX (sandbox) is temporary, and used to prototype new functionality, for sensitive updates, such as OS/DB upgrades, and for SAP maintenance. There is no transport path between the sandbox and the DEV system. This instance strategy establishes a more secure production support track, that is shielded from major development activities in the project development track. The testing instance (PRE) is added to the project development track, to better stagger, test and manage multiple projects with different go live dates. The following figure illustrates this: Figure 9: System Dual Track Transport Landscape - Staggering Releases Multiple releases in parallel: 1. Green Release-1: According to the SWCM Release calendar, Release-1 is scheduled to move to PRE for final testing. At this stage, and as part of the project quality gates, sufficient testing cycles have been executed in QAS to correct all major defects of a project. Otherwise the project is withdrawn from the release, or the Executive Sponsor is engaged. Before transporting all projects, developments, configuration, etc. belonging to Release-1, you copy production PRE into the project development instance PRE. Release-1 can now enter its final regression, user acceptance and performance testing, before being cutover to production. 2. Pink Release-2: Has completed most of the development, and is in scenario testing in QAS, correcting defects DEV. 3. Grey Release-3: Primarily in DEV development phase, initial QAS testing for some developments. 4. Orange Release-4. Development teams are often constrained by project conflicts from a prior release. Customers often use the SBX so that development/configuration teams can be productive with initial proof of concepts, including coding designs. The SBX is not in the transport path, and there are no transports forward from SBX. There are other tools to capture work done there. The 6-system dual track transport landscape, and the proper usage of SWCM processes, should manage most customers SWCM requirements, so we generally do not recommend another track, i.e. a third development environment (N+2). 19

20 The advantages and disadvantages of this landscape are summarized in the following table: Figure 10: System Dual Track Transport Landscape - Advantages and Disadvantages A dual track transport landscape needs processes for cutover and retrofit. These are described in the following sections. 3.2 Dual Track Cutover Process Cutover is the process in a dual track landscape to move the next release from the project development track to the production support track for go-live. Cutover updates the production track, limiting the impact to production and its supporting instances. Testing, for example, is not a function of the cutover process, as this would considerably increase the time it takes, and would block or complicate production emergency fix capability. Some considerations for cutover are: planned downtime requirements, how to manage production emergencies during cutover, and how long the entire process will take. Cutover requires all instances in the production track be updated from the project development track. If the maximum downtime window is insufficient to update all instances in one step, the cutover must be staggered. For most customers, SAP recommends the following staggered cutover strategy. The staggered cutover, as illustrated in Figure 0.5, is to cutover directly from the project landscape PRE into production PRD. In a second phase, production support PSD and PSQ are updated. Figure 11: Cutover in a Dual Track Transport Landscape Option-2 The advantage of this strategy is the cutover directly into PRD, which can be done in a period of least activity, such as a weekend or holiday. Once production has been updated, the supporting instances PSD 20

21 and PSQ can be updated in a second phase, which may extend into normal operations. The disadvantage of this strategy is that the cutover process requires some manual steps. Note: You should not switch tracks, as this will change instance roles, lose versioning history,and, depending on organizational elements mislead development and support teams. 3.3 Retrofit in a Dual Track Transport Landscape One of the key challenges with the dual track transport landscape is to synchronize (retrofit) changes between the two tracks. This is necessary, to ensure the two landscapes do not diverge. The need arises because changes made to production, to support normal business, must be incorporated into the project track. Figure 12: Cutover in a Dual Track Transport Landscape Option-2 This section provides an overview of how to use Solution Manager to support the retrofit process Semi-Automated Synchronization of Dual Landscape with Retrofit SAP Solution Manager supports the retrofit process in Change Request Management but also as a standalone function. Retrofit in SAP Solution Manager achieves significant improvements in synchronizing dual transport landscapes. The major advantages are: Conflicts are detected automatically. Most changes made in the production support landscape can be retrofitted automatically, without manual effort. A complete work list of all transports to be synchronized (down to object level) is created, and all changes are logged. The retrofit process with SAP Solution Manager includes the following functions: Developments in either transport landscape are recorded in SAP Solution Manager, so changed objects are known centrally. Conflicts between the production support and project development landscape are identified via cross system object lock (CSOL). A conflict occurs when the same object is changed in both transport landscapes. When you use retrofit in conjunction with Change Request Management, the process offers synchronization methods to align changes from the production support landscape into the project landscape, depending on the type of conflict and type of object: o o All objects without conflict (i.e. changed only in PSD) are transferred automatically. A transport of copies is created and sent to the project development system. For objects with conflicts (changed in PSD and DEV), the synchronization is performed semi-automatically or manually. A conflicting workbench object can be adjusted semi-automatically in a split-screen editor, using the SAP Correction Workbench. In rare cases, if the change was within the same area of context, the adjustment has to be made manually. 21

22 o o If customizing settings conflict, the version in the production support system is recorded in a BC Set. During import into the project development system, it is compared with the entry in that system, and can be adjusted accordingly. Objects that are not supported by tools in the SAP Correction Workbench must be adjusted manually. Retrofit is performed at object level: if one object in a transport request must be retrofitted manually, the other objects can still be transferred automatically. If an object was changed several times, the changes are retrofitted in the correct sequence. A retrofit of a change triggered from PSD into the project development system DEV, is considered in DEV like any other project-related development change, so the adjustment in system DEV is recorded in a new transport request. A separate CTS project as the container for all retrofit changes is usually the best option, but the retrofit changes could also be put into a CTS project with other project changes. o o Putting the retrofit change into the CTS project which is scheduled to go live next together with other developments has the following disadvantage: If multiple projects with different duration and Go-Live dates are developed in parallel in DEV, strong governance and release management is required. If the project without the retrofit changes goes live first, object versions might be downgraded. Putting the retrofit change into a CTS project in DEV which is dedicated to collect all retrofitted objects (with cutover together with any next project which will go live) has the advantage that the retrofitted objects are always cutover independently of individual project delays. All Retrofit activities are logged and can be reviewed at any time When, and how often, to retrofit As soon as a transport request is released from the production support system (PSD), an entry for the retrofit work list is created. When to retrofit: The retrofit should be done as soon as possible after the transport request is released, to keep the work list manageable o In a long development cycle in DEV, the number of objects to retrofit can be quite large. The time needed for retrofit increases correspondingly, and needs to be continuously. Only tested changes should be retrofitted, to avoid multiple transports to retrofit. So the timing of the retrofit activity also depends on the testing strategy: o o Usually there is not sufficient test data in PSD, and changes are imported into PSQ to be tested. After the change is tested, it can be retrofited. If an error occurred in PSQ and a correction transport is needed, Change Request Management will ensure that the correct sequence of transports is preserved during retrofit. The retrofit activity can start immediately after the release of the transport in PSD, if the release of the transport means that the test was OK. (This can be the case if sufficient testing is done in PSD, or if the change is sent to PSQ by transport of copies, and tested in PSQ.). The retrofit must be complete before cut-over from the project landscape into the production support landscape, for final release testing. Change Request Management will check if the retrofit work list has been processed, before cut-over can start. When managing production support transports in releases, the best option is to retrofit after/with the weekly/bi-weekly minor release import from production support into production. 22

23 3.3.3 Prerequisites for Retrofit in SAP Solution Manager The retrofit process in SAP Solution Manager has the following prerequisites: 1. SAP Solution Manager 7.1. Retrofit functionality already exists in SAP Solution Manager 7.0, but the processing logic is different, and the level of automation is lower than in 7.1. For new Change Request Management and retrofit implementations, use SAP Solution Manager Change Request Management controls the transports in the production support system, and either Change Request Management or Quality Gate Management (QGM) is used in the project development landscape. Change Request Management can be implemented in different variants. The tighter the integration is, the more information can be reused. The minimum retrofit constellation is to use Change Request Management to create/release the transport requests, instead of doing this directly in the development systems. A change document, which automatically creates and releases the transport requests in the development systems, is then created and released in Change Request Management. This central transport management can usually be implemented within a few days, and is a viable option even if a non-sap change request management or IT Service Management tool is used. With SAP Solution Manager 7.1, QGM can also create CSOL entries, so a mix of Change Request Management in production support and QGM in project landscape is also aretrofit option. 3. Cross System Object Lock (CSOL) is active CSOL avoids inconsistencies due wrong transport sequence, even in a single transport track. With SAP Solution Manager 7.1, CSOL information is used to identify whether an object in the project landscape has been modified. This is used to calculate the status for Change Request Management retrofit. So if there is no CSOL entry, auto-import by Change Request Management retrofit is possible, and if there is a CSOL entry, the system performs some additional checks, for example, whether the retrofit can be processed using the split-screen editor. 23

24 4 LEAN CUSTOM CODE AVOID, IMPROVE, MINIMIZE Customer developments in SAP systems are an important and easy way of implementing highly customerspecific requirements, and closing perceived functional gaps in the SAP environment. However, they are also one of the key TCO drivers in any SAP solution, and one of the biggest blocking factors for the fast implementation of new SAP software versions, so an enhanced and efficient custom code management throughout the lifecycle, is essential to mitigate these issues while still taking advantage of the business benefits. SAP supports your custom code management aims by avoiding, improving and minimizing the custom code and individual enhancements in the SAP solutions run by your company. Following the lean principles, this aim will be accomplished by the phases of transparency & measurement, optimization and control. It provides numerous tailored tools and best practices for effective, holistic custom code management (CCM). They analyze your custom code and modifications and their use in your systems to get an overview of all customer developments. The customer developments that are actually used are identified and controlled better, using the functions provided by SAP Solution Manager. The objective is to improve the quality and technical implementation, while reducing the quantity and impact of custom code. Ways of avoiding modifications and moving closer to SAP are described. This helps you to achieve sustainable cost reductions for the operation and maintenance of your SAP system landscape. Leveraging the innovations to control the gaps and minimize modifications, ensures the value of IT, and increases business value. 4.1 Custom Code Management Summary Today's IT system landscapes are seldom homogeneous solutions. Gaps in the landscape between established software modules are closed ad-hoc, and standard business processes are enhanced as required. Your custom developments are an important element in your system landscape. Such developments are necessary when your standard software cannot map certain business processes as desired, and there is no specialized, ideally certified, solution on the market. A complex amalgamation of standard software, enhancements and custom code results in potential risks, driven by the need to respond quickly to changing business requirements. Program code is implemented quickly, with insufficient focus on sustainability and transparency. Important factors such as documentation, the impact of changes on core business processes, and maintainability, are not taken into account until planned or unplanned events change the overall system landscape and leave a multitude of questions regarding custom enhancements unanswered. Planned, recurring events such as minor and major software updates, or the introduction of new standard functions, can lead to increased testing requirements and significantly higher implementation costs for your custom developments. Unplanned events, such as new legal requirements, new technology or the need to adapt interfaces for external reasons, also frequently present unexpected challenges to custom enhancements. SAP proactively supports you in the targeted handling of all of these aspects The green City Model Lean Measurement In light of the known characteristics of custom enhancements and custom code (number, quality, type of implementation, extent of documentation, and so on), four primary dimensions that can be measured and evaluated have been identified. They are quantity, quality, impact on core business processes, and classification of the technical implementation in relation to the SAP standard. The model also considers management and software lifecycle. The visualization of custom enhancements and custom code with these metrics corresponds to the abstract representation of a city with buildings of various heights, colors and locations within it. Every city reflects an individual system within your system landscape. 24

25 Figure 13: Lean Measurement Dimensions of the city model Staying with this metaphor, as the forward-looking mayor of your own city, comprised of multiple custom enhancements and custom code, you have a number of ways of beautifying or redeveloping it. To keep this beautification of the city from devolving into a costly and arbitrary process, in the following we will present the individual dimensions, tools and services with which SAP supports you in your pursuit of a well-run, costeffective and forward-looking system landscape. Quantity In the quantity dimension, customer-specific objects are recorded according to their object characteristics, and categorized according to their technical implementation. Quality The quality of program code is an often neglected, but highly important, factor in the development of custom adjustments. In this dimension, SAP has made it possible to measure quality in a comparable way, to maintain quality standards. Criticality and impact on core business processes Your core business processes must be stable, ensure maximum availability and correctly map your functional requirements at all times. SAP supports you in the analysis of the most frequently used system processes, and shows you which of your frequently used core business processes are impacted by modifications or enhancements. You receive important information that is helpful for planning software updates or optimization. Technical implementation SAP NetWeaver provides a multitude of enhancement options that in some cases go far beyond classical Customizing, enabling you to enhance and adapt standard processes to meet your requirements. Beyond the ability to implement and define implicit and explicit extension points (BAdIs, user exits, enhancement spots), you can change SAP standard code through logged and unlogged modifications. Each of these system modifications has specific strengths and weaknesses, which should be evaluated, based on maintainability, risk and complexity Custom Code Management - Governance Process and Optimization Effective custom code management ensures the quality of custom code functionality and controls the growth of custom code during the implementation phase. The purpose is to review and analyze the setup of existing custom code management processes and to optimize custom code management according the latest SAP best practices. Before the development organization can design and realize Custom Code for its needs, functional gaps, or competitive advantages in how the customer conducts his business, it is important to establish, that these development activities follow certain rules or standards. 25

26 It is very important to validate that these standards already exists, otherwise you will need to create and enforce guidelines for the development organization, before any major custom development. The development standards should address at least the following aspects: End-to-end process flow and procedure for the development of customer-specific coding: This process should be defined throughout your development organization. Some customers maintain offshore and onshore development models, whose regional specifics need to be included. Interfaces between regional teams, different departments which develop custom code, business departments (as the requestors), IT departments (as the operators and support organization for custom code) and other involved parties need to be described, and hand off/hand over procedures need to be established, documented, known and accepted. There must be a complete end to end process, from the request for custom code, followed by functional and technical validation and justification of the request, budgeting, specification, design and sign-off, development, tests, business user (functional) validation, technical validation (robustness, performance and maintainability (by operations support department)), deployment of the functionality, and, most importantly, technical and functional documentation. The custom development standard must also define and describe the phases in the custom code lifecycle. Similarly to existing standard functionality, applications and systems, your custom functionality passes through different stages of the application management lifecycle. The standard must describe these phases and the related activities. It must be clear who owns which phase, from the request for custom code, through design and development, deployment, operations, maintenance and optimization; who is responsible for which type of action in each phase. Define KPIs, or a general set of criteria are to identify whether it is necessary to enter, e.g. the custom code optimization phase, or replace it by standard functionality (if applicable), and how to retire custom code. It should be defined on a strategic and company-wide level, when and by whom custom code is permitted to be introduced. A list of principal requirements for the creation of custom code needs to be established, documented and communicated. This ensures that every time custom code is requested, the request is validated against the list of permissible requirements. For example, allow the creation of custom code only if the core SAP functionality is not modified, or insist that workaround processes be preferred to the creation of custom code (under certain conditions, such as economically acceptable effort, or the extent of the workaround). It should be stated in this section of the custom code development standard, which enhancements are allowed, which are not, which type of enhancements are preferred, and so on. That also means that important aspects of quality of custom code are defined and anchored in your development standards. If your organization has to follow specific custom development procedures, these need to be documented in the standard. Your standard could demand a four eye principle or a technical validation/release by a second or third developer; manager approval could be defined here, or the principle of creation of competing programs (which approach is better will be considered further). Anything that defines your procedures and principles need to be documented or added the standard. A major aspect and goal of developing or maintaining a standard for custom code development is the quality of custom code. While it is difficult or impossible to define quality in a standard, tools and technology which help to ensure quality, can and must be defined in the standard. The standard can include how requests are formulated and documented, and which tool is used to track and validate requests. For the development activities themselves, tools and technology needs to be mandated, to help ensure the quality of custom code. As an example, the SAP development standard states that no report, program, or enhancement to existing code, can be deployed (shipped to customers), if the SAP Code inspector, a tool in the ABAP Development workbench, reports errors. SAP invests heavily in the maintenance and improvement of rules, which are checked by SAP quality tools (see chapter improve custom code quality ). The basis for this is the SAP Standard for Custom Code Management and related standards. SAP also provides the ESRV MOS Custom Code Management (V1.1) roadmap in SAP Solution Manager, which gives a comprehensive description of all essential parts. 26

27 4.1.3 Custom Code Lifecycle Management - Transparency & Control For the management of custom code, SAP supplements tools such as the Custom Code Lifecycle Management (CCLM) and the Custom Development Management Cockpit (CDMC) in SAP Solution Manager. CCLM was developed to accompany your ABAP enhancements and new developments throughout their lifecycles. The cycle begins when you create an object (program, transaction, table, class, etc.), is followed by its use in production systems, and extends through the deletion of the object ii it is no longer used or the development is reorientated. This new application is in SAP Solution Manager 7.1. Its core is a flexible and generic library definition, with which you can classify and manage your custom code objects. Information about the use of these objects, their quality (Code Inspector, transaction SCI) and versions in the connected systems, can also be collected. The application that provides full transparency of your custom code and records its use in a complex landscape Get transparency about custom code The generic library is used by SAP as the central data source for all information on customer objects. You benefit particularly from the being able to assignment of responsibilities and contracts individually, consolidate developments within an organization, and have total control over new developments. You can assign any object or list of objects to a contract, or other predefined attributes. This application ensures that you can achieve the best possible adaptation of custom code to SAP code, and therefore receive the best possible support. You can also save costs in upgrades to higher SAP releases. The version in the SAP Solution Manager currently only applies to ABAP developments, because there are only extractors for them. Expansion to include Java objects is technically possible, and is already supported by the design Process and Architecture The first call of transaction CCLM uploads the library definition. You can change this definition to add your own input helps for predefined attributes or additional new attributes. You name the library and schedule the data collectors, in the configuration. A periodic process fills the library content. The uploaded definition of the library contains a schema indicating the attributes for objects of a particular cardinality, and can be filled manually or automatically. The periodically scheduled programs ensure that information is collected and written or overwritten in accordance with this active definition. Information which you enter manually is not overwritten, and is retained permanently. You must maintain the attributes for your objects that are not collected automatically, such as a lifecycle status or distribution rule, and particularly references to contracts and persons responsible, manually. Additional manual steps are possible in the analysis and reporting. If you have an SAP NetWeaver Business Warehouse (BW) with the respective content, Web templates are provided. You can also make your own reports. Reporting, and the retention of historical data for use in the BW, simplify the decision to delete or consolidate custom code. The BW is optional, and is not active in the default setting in transaction CCLM. The same applies to ad-hoc reporting, which at the time of delivery is considerably more powerful than BW reporting. The Solution Directory gets information about the solutions and their systems. The system landscape maintenance component (SMSY/LMDB) determines the product and product versions of the systems. The extractor framework extracts data to the BW system (usually SAP Solution Manager). The managed systems contain data collectors, to which the CDMC collector for the collection of customer objects, a collector for quality, and a collector for object versions, are connected. The use of objects in particular in programs and transactions is identified in the workload data from the analysis of the Workload Monitor (transaction ST03N), collected by the SAP EarlyWatch Alert, whose collection modules are scheduled with the SAP EarlyWatch Alert, using the Service Data Control Center (SDCCN) administration tool. The data is formatted, and transaction usage passed to a report. The ABAP Coverage Analyzer (transaction SCOV) documents the use of objects in the kernel. This application, also known as Usage Procedure Logging (UPL) as of basis version SAP NetWeaver 7.01 collects considerably more information about usage, in greater detail, and documents dynamic calls not listed in the workload. 27

28 4.2 Avoid Modifications and get closer to SAP Try not to create new modifications or custom code. Once built, it remains in your system forever. Unobserved custom code footprint leads to high maintenance and operation costs and also can lead to unforeseen risks at run time. This results in a high Custom Code Effect in your integrated solution. In the following we describe how SAP helps you save money and increase the value of IT for the business, and get more out of available functional capabilities Gap management by Innovation Control Center How the Innovation Control Center works The Innovation Control Center facilitates the rapid prototyping of new solutions, business models and capabilities. All stakeholder meet regularly in the center, and make decisions about the planned solution. All perceived gaps, open issues and decision requirements are tracked, owners are defined, and the other stakeholder act as review and feedback partners. A central goal of the Innovation Control Center is modification-free implementation, dramatically reducing the cost of implementation. It is our experience that up to 90 % of gaps can be resolved with SAP standard functionality, provided latest SAP software versions are used. SAP development and SAP Active Global Support provide the knowledge and guidance to close such gaps. The Innovation Control Center follows a strict standard about tracking and documenting issues and gaps, and, most importantly, decisions. A KPI framework to measure business benefits is defined, to make the viability visible to all stakeholders. This KPI framework is implemented in parallel to the finalization of the prototype. Business Process Monitoring is a business change management driver. The feasibility is managed through orchestration and integration validation, in which all the solution, operations and product standards are validated. These include the management of data consistency, performance and scalability, end to end monitoring, exception management, and so forth. All of SAP is part of this value realization chain. Firstly, based on the desired outcome, SAP building blocks and best practices are identified and installed as the baseline. This is done by the SAP ICC team together with the SAP Development and SAP Solution Packaging organization. Then, as a team, right away, the solution is configured and customer-specific data loaded. Already then, the Design Thinking iteration process starts to understand what works, what does not work and what is missing. These iterations are again validated in the software solution, with customer data. All perceived gaps and all custom-specific integration is managed as in escalations. SAP development, together with the SAP AGS organization, provide all software-related services, in cooperation with customer and partner resources, to complete the desired, viable and feasible solution Blueprint Analyzer The Blueprint Analyzer visualizes the status of the deviation from SAP Standard during the implementation. While blueprinting, the Innovation Control Center (ICC) gathers and evaluates all identified gaps. A gap is mainly defined by the need for custom code. The ICC delivers the new Zero Modification service. It evaluates the gaps with SAP MCCs and its functional CoEs, and SAP Development. The evaluation of the gaps usually results in one of the following: Gap can be implemented in SAP standard; functional advice on configuration and implementation is provided by the ICC. Gap is a localization issue; gap is a bug and will be developed, implemented and deployed within the SAP best practice and model company. Gap is a gap in SAP standard and requires SAP development to close it. SAP development provides a solution for the customer s implementation and go live. It will be retrofitted into the standard and generally deployed with the next EhP. 28

29 Gap is a customer-specific requirement and must be developed by customer, their partner, or SAP custom development. The ICC will provide architectural advice on how to best implement the custom development. Deviations from SAP standard also include customer-specific integration to non-sap systems. For these customer-specific solutions, the integration design will be reviewed against SAP best practice. The interface design will be reviewed and designed for performance and data consistency. Figure 14: Blueprint Analyzer and Gap Detail in project language and English Monitoring and evaluating existing modifications The number of technical modifications in their SAP systems surprises many customers, and the attempt to explain the difference between the technical number of objects and the perceived number is often fruitless. With its modification browser (transaction SE95), SAP does offer a tool for developers, but it does not support targeted analysis or continuous monitoring of modifications. For this reason, there is the Custom Code Apps - Modification Overview, which enables table-based filtering, sorting and classification of modifications. The Modification Overview tool enables you to achieve comprehensive transparency of your modifications, and maintain an overview at all times. It also enables you to find out when a particular developer created what type of modification, and what application area it affects. You can focus your testing activities on the modified application areas, and know beforehand where side-effects may arise. You can use the tool to distinguish between manual activities from SAP Notes, and incorrect operation of the modification adjustment (SPAU) from true modifications. Only with full transparency of modifications can you improve the bad reputation of modifications and cost-intensive clones, through targeted modifications or, ideally, enhancements. Modification is a highly flexible means of adapting your SAP system, but it should always be used judiciously, with an eye to necessity and control. Customers who have already used the analysis function intensively have been impressed by the advantages. Not only were they able to reduce the number of modifications, they were also able to proactively limit the creation of new modifications by finding enhancement options instead. They were also able to prevent modifications from their old release from being transferred to their system during an upgrade Get Closer to SAP Besides avoiding new customer developments, you also have to eliminate existing custom code. After you have assessed the current situation and transferred to the city model with your key indicators, you can start optimizing individual dimensions or improving your system landscape as a whole. 29

30 Custom Code Management addresses the aspects of the city model that deal with current business and IT requirements and sustainable use of custom code, and helps you to prepare decisions. This process, with its three phases transparency, optimization and control, is a fixed element of the optimize phase of application management. It reflects the results of the other phases, in particular the early phases design, and build & test. The transparency phase allows you to use the Custom Code Lifecycle Management (CCML) application to make a structured start in the new SAP Solution Manager. The sub-points ensure that the definition is compatible with your requirements for a sustainable, generic and always up-to-date custom code library. The next phase utilizes the transparency and starts optimization. Here we look at the dimension Technical Implementation. This involves analyzing the nature and manner in which customer-specific business applications and enhancements are implemented. The objective is to move the individual implementations back toward the SAP standard. For example, a modification may be replaced by the use of a BAdI implementation. SAP supports this with the Custom Code Apps Clone Finder tool. Product standards with key indicators such as the performance or maintainability of custom code and enhancements should be analyzed within their life phases, and ideally improved as early as possible. SAP supports this with the SAP Code Inspector tool. Experience shows that within a few years, one third of custom developments is no longer in use, or need to be adjusted. All custom code and enhancements have to be checked and adjusted manually before software update, such as an upgrade to a higher SAP release or the import of a support package. Then all objects have to be checked one-by-one to ensure that they do not cause problems in the new context. The Custom Development Management Cockpit (CDMC) has a project-based approach, and supports you in the first step of analyzing the custom code and enhancements in your system. It also helps you identify obsolete objects and, in a second step, helps you determine the effects of an upgrade or support package installation. Custom Code Lifecycle Management supports you with a long-term approach with current usage key figures. Any insights from the optimization area can be used to identify the optimization potential of other ALM phases and scenarios. Of particular interest here is, for example, raising the bar in the actual decisionmaking process for or against custom code, or adding an additional check step to ensure quality in the software development process. The final decisive area always reflects the success of the management or optimization. The data from Custom Code Lifecycle Management is extracted to the BW of SAP Solution Manager, and can be used to assess success. Control and checking can thus be performed at any time Replace clones In the world of custom code, there are two defining questions. How good is the quality of custom code and how did the customer programs come about? There is no general answer to these two questions, and any attempt to find a generally valid answer always leads to discussions. We therefore want to approach the problem pragmatically and, with the aid of tools, outline a comprehensive analysis of the problem. To this purpose, SAP offers the new Custom Code Analysis tool, which can help you resolve the fundamental issues regarding custom code. We divide the tool into different use cases. Let us begin with the simplest use scenario: identifying clones Distinguishing SAP Original Objects from Clones An amusing play on words describes the problem with clones quite simply, combining the words clone and own to create clowns. While the creation of a clown is a simple matter and appears to avoid the need to pursue an unwanted customer-specific modification, shortly thereafter it is creating havoc in the system. Perhaps unknown or seldom executed, the clown always carries the risk of not containing a required standard correction. Perhaps the clown is based on an obsolete software status or release, and is maintained in the customer namespace with each new upgrade. Only in rare cases is it possible to derive the SAP original object from its clone. That would require comprehensive project documentation. While this problem may sound trivial, the potential effects of undocumented clones are difficult to foresee. SAP now offers you an effective tool, the Custom Code Apps Clone Finder, that finds the SAP original program for a clone. Potential similarities are not determined on the basis of names alone. Rather, notable places in the coding, such as typos in comment lines or patterns in contiguous program sections are used to determine unique system-wide fingerprints for each customer program to be analyzed. In a subsequent step, the logical SAP 30

31 environment of the customer program is determined, and the potential SAP program candidates output by a complex similarity algorithm. The advantage of this approach is the speed and reduced number of comparison operations theoretically required. The main distinguishing characteristic compared to other tools is the possibility of real similarity analysis. This tool even recognizes sections of code that have been copied and pasted. Using the Custom Code Apps Clone Finder, in just a few steps, you can determine the name of the original SAP object and how it has been further developed through notes and corrections. It also enables you to identify your custom code which, through inheritance, has followed an evolutionary path of its own, and distinguish between versions. Even without a similarity analysis with SAP objects, the tool analyzes completely unknown user-developed code. You find out which logical application areas, and how many lines of code the program has, and how many versions of it are in circulation. The Custom Code Apps Clone Finder offers you a fast and simple introduction to the area of custom code management, and helps you actively reduce clones. SAP focuses on the identification and evaluation of clones, and does not compare differences between the clone and the original. Our goal is to reduce clowns, not just make them more manageable Identifying the Usage Area of Clones To answer the question of where custom code is used, many developers use the familiar where-used list in the ABAP Workbench. This works well, as long as the search index is up-to-date, and a static programming model was used. Unfortunately, in new SAP applications in particular, dynamic use of program elements exceeds the limits of the static where-used list. This becomes clear very quickly when you talk about engines, frameworks or enhancement concepts. Customer developments and customer-specific implementations for such frameworks are generally dynamically integrated; but even customer developments themselves increasingly use modern programming models, such as ABAP-OO, rendering the classical where-used list obsolete. With its Custom Code Apps - Dynamic Interface Analysis tool, SAP has developed a means of closing this gap. From re-implemented classes and interfaces from the ABAP-OO world, to BAdI implementations or framework enhancements and the identification of classical customer exits, to classical user-exits, the tool covers all the bases. The usage of Smart Forms and SAP script programs can now also be checked. The most effective function, however, is the identification of custom code, the control of which is hidden somewhere in Customizing. This is where the tool begins, and it uses all the possibilities of SAP NetWeaver. No other tool is able to utilize this integration aspect so completely. Now you can delete custom code without the risk that it is still used dynamically somewhere else. This enables complete transparency and a basis for long-term code reduction Cross system custom code versioning Problems distinguishing the different versions of your programs usually only arise in a multi-system landscape in which the systems are distributed around the world, and are subject to different business requirements. The same business processes in different countries often require customer-specific adjustment. Often, the same objects are used, as the differences are frequently marginal. A central development system precludes the uncontrolled growth of customer developments, but can lead to a proliferation of program versions. Strict control of the transports and development policies help to contain the problem. The Cross-System Comparison tool analyzes customer developments across system boundaries and indicates which version of the program in the development system matches the actively used product version. This function enables you to identify where real differences exist and where transports are missing, or have yet to be imported. It is also possible to identify any code differences in the objects of one or more transports. You also receive information about the size and complexity of the objects. One special scenario focuses on the implementation of user exits. Multiple projects change the same user exit and transport it to the project landscapes for testing. Changes due to SAP corrections are usually not taken into account. Use cross-system comparison to monitor code adjustments and support a central code strategy in your company. 31

32 The top 20 analysis scenario maps out some ideas. Concentrate on your company s business processes that are used every day. Using the workload statistics and freely definable parameters for the number of objects or the number of periods to be analyzed, the systems are either checked to ascertain which customer developments were cloned or display a marked similarity, or the used SAP programs are checked for the characteristic modified. This analyzes your most frequently used programs in detail, and provides a starting point for other supporting SAP Active Global Support services, such as the modification justification check Time for Improvement Various application scenarios have been described theoretically. Many more uses will certainly emerge from using the Custom Code Analysis tool daily. The tool has the transaction code CCAPPS or /SDF/CD_CCA. In addition to the predefined application scenarios, you can execute standard runs as background processes, and adapt the results to your requirements, using user-defined layouts. You can also use object lists to further restrict or enrich the results. For more information, and messages from other users, see our blog on the SAP Developer Network (SDN). 4.3 Improve custom code quality Poor quality of custom code often causes unforeseen failures of applications and core business processes. This interrupts business continuity and can be very expensive. Often, only functional quality is considered, but non-functional factors are no less important, and are often the difference between good and bad solutions Good code quality is mandatory for SAP standard program code, and is also essential for custom code or code delivered by 3 rd -party providers. Bugs and errors in your custom ABAP code can be expensive if they impact critical business processes, which is why quality assurance of custom ABAP code is receiving more and more attention in business Custom Code Quality Improvement with SAP ABAP Test cockpit/code inspector The Code Inspector and ABAP Test Cockpit are check tools for ABAP code and other repository objects. They control the quality of your ABAP code, for example program functional correctness, performance, security, or naming conventions. It can also check a single development object or large object sets, for example all objects in a group of development packages. The ABAP Test Cockpit is a latest ABAP check toolset which allows you to run static checks and unit tests for your ABAP programs. In order to ensure smooth migration and comparable check results throughout your company, the ABAP Test Cockpit is compatible with SAP's Code Inspector, so you can reuse your custom Code Inspector checks and variants in the ABAP Test Cockpit. Developers will like the ABAP Test Cockpit, because it is directly integrated into the ABAP workbench and has better usability. Working with ATC findings is very easy and efficient, using the new ABAP Test Cockpit filter, navigation, and re-check functionality. Team leads and quality engineers will like the ABAP Test Cockpit because it introduces new quality assurance processes like quality gates, a robust exemption approval process, and periodic regression tests in a quality system. ATC s support for solid quality processes will minimize the errors in your productive system. The ATC also offers tools to analyze the ABAP Test Cockpits results on team or project level. The main benefits of ABAP Test Cockpit: It is fully integrated into the ABAP development workbench, with high usability for developers and quality experts. It offers superior and easy-to-use built-in reporting capabilities, with filters and aggregated levels It offers a robust process for managing exemptions (false/positive findings) based on the four eyes principle. It is fully integrated into the Solution Manager and the application custom code lifecycle management. Sustainable quality optimization of custom solutions is a key success factor of the whole custom code management process. 32

33 4.4 Minimize Modifications Experience shows that a lot of modifications and custom code are not used at all. Because of constant change of business requirements and objectives, a lot of custom developments become obsolete over time. It is very difficult to keep an overview of all these objects, that can become a major TCO driver. The main goal is to identify obsolete objects so that you can retire them. It can also be useful to identify objects with execution problems, for optimization in the technical severity and business criticality dimensions Usage and Procedure Logging It is a challenge for every SAP system owner to know what is really going on in their installed systems. What kind of code routines are executed, how often, and whether there is a relationship between the time of execution and the number of executions. Existing technologies to track and log runtime executions cause performance losses because they need resources. And the level of details might be different and will never fit to the requirements. What we are looking for is a technology without system performance impact, with high accuracy and the capability to track dynamically generated and executed code language elements at run time. SAP Usage & Procedure Logging (UPL) gives you all these capabilities directly in your existing SAP solution, without installation of additional software packages or difficult activation processes. Usage and Procedure Logging (UPL) is a new function available in any ABAP-based system, based on the core functionality of SAP Coverage Analyzer. It logs all called and executed ABAP units, such as programs and function modules, down to classes, methods and subroutines. You can also evaluate the usage of SAP Smart forms. This new, enhanced SAP NetWeaver capability will have no performance impact on your system, and will catch usage information of ABAP routines when they run. UPL will give you a 100% coverage of usage, without estimations or evaluation of ABAP call stacks. This includes the detection of dynamically called ABAP elements. UPL is the only technology to close the existing gaps in the SAP workload statistics. With the secured access to the UPL data, your usage information is protected against 3rd party access. The full reporting capabilities, with enriched information in BW of the Solution Manager, will give you the flexibility to analyze ABAP usage on demand Obsolescence of customer objects Many SAP customers modify or enhance their SAP standard software. For example, they may create company-specific reports or custom (externally or internally developed) add-ons. The result of this natural development is a multitude of customer objects and modified SAP standard objects in circulation. However, requirements change so quickly that many customer objects and changes to SAP standard objects quickly become obsolete. Experience shows that after just a few years, a third of custom code is either no longer in use or has been modified, and not only due to fast-changing requirements, but also because new versions of the SAP standard software contain objects that render custom code useless. This can lead to unnecessarily high maintenance costs, which in turn cause high operating costs. For customers, it can be difficult to keep up with the pace of modifications to the standard system, and produce custom code. Numerous changes and customer objects also raise the cost of upgrades and importing support packages. Before a system can be upgraded to a newer SAP version, or a support package can be imported, all custom code must be checked and manually adjusted. All objects then have to be checked one-by-one, to ensure that they do not cause problems in the new context. The Custom Development Management Cockpit (CDMC) can determine how custom code is used (based on the call statistics provided by the system) and which customer-specific developments are obsolete. The CDMD evaluates the effects of an upgrade or a Support Package installation on custom code. The business process documentation for custom code is also determined (maintenance using transaction SOLAR02). CDMC supports the project or release manager in evaluating risk, by analyzing objects from transport orders before importing them into the production system. You must ensure that planned changes are implemented in line with business requirements. CDMC simplifies upgrade projects by reducing the amount of obsolete custom code. Upgrades can be performed more quickly because you only have to modify your custom code if it is absolutely necessary. CDMC supports project planning by enabling early estimation of the costs of adjusting object types that are required for a more current version. You profit from better and more reliable planning and shorter project run times, 33

34 and thus reduced costs. Another advantage is that the objects in transport orders are analyzed before being imported into the target system Deleting objects with CDMC Using key figures and collected data, you can optimize the performance of a solution and reduce costs. Custom Development Management cockpit (CDMC) simplifies the deletion of obsolete custom code, based on the usage analysis performed as part of the requirements analysis and the build/test phase. The Custom Development Management Cockpit determines the scope of customer developments. CDMC comprises three phases: 1. Clearing Analysis (CA) analyzes the use of customer objects. Obsolete objects and the corresponding business process documentation of the customer objects are determined (in transaction SOLAR02). The result of the clearing analysis is the starting point for cleaning up the developments. Detailed instructions guide you through the clearing process. 2. Upgrade/Change Impact Analysis (UCIA) identifies the technical effects of an SAP upgrade, or the installation of a support package, on customer-developed objects, and makes it possible to produce an estimate of the time and effort required to adjust these objects. The function determines the custom code to be used after the upgrade, and the scope of the respective business process documentation. 3. The change and transport system (CTS ) analysis analyzes the use of objects in a transport request, the test scope and the test coverage. It determines whether the state of the objects in the transport request is identical throughout the transport system landscape. The CDMC is in the SAP Solution Manager Custom Code Management work center. Clearing analysis project In the statistics system, statistical data, for example about transactions executed, is gathered and saved in CDMC database tables. All project-relevant analyses are performed in the analysis system. The control system includes the control center, where all activities are triggered and monitored. The systems are connected by Remote Function Call (RFC). Several pairs of statistics and analysis systems can be assigned to a control system. In a typical system landscape, the statistics system represents the production system, and the analysis system corresponds to the consolidation system. The platform for the control system is SAP Solution Manager. Clearing analysis phases The clearing analysis has five phases: 1. In the project settings phase, the system landscape is defined and the relevant SAP Notes are called. You can select the systems for the project landscape from the Solution Manager system landscape. 2. The activities in the data collection phase include collecting statistical data in the statistics system, and identifying the custom code and modified SAP objects in the analysis system. The statistical data collected is then imported from the statistics system into the central system. The scope of the customer-developed objects for the analysis can be selected from the list of development classes, Solution Manager projects and Solution Manager solutions. 3. In the analysis phase, duplicate domains in the customer namespace and empty database tables are determined; syntax is checked; the transport frequency, inactive objects and objects without references are determined; and top-down analysis is performed. These are the most important functions for determining the usage of customer-developed objects. The syntax check and all activities associated with empty databases are executed in the statistics system. You can control the execution by entering date and time information. 4. You can view the results in the display phase, which contains numerous options for displaying and filtering the data. 34

35 5. The clearing analysis project is completed with the clearing process, in which objects from the customer namespace (Z*, Y* and namespaces with customer-specific prefixes) are deleted, or changes to standard objects in the SAP namespace are undone. The clearing process is different in these two cases. Obsolete modifications to SAP objects are removed using SAP standard tools, while obsolete objects that are assigned to the customer namespace are physically deleted according to SAP clearing guidelines. To optimize the clearing process, the clearing tools you use should correspond to the SAP standard procedure for deleting objects (ABAP Workbench), so that when you delete a master object (for example an object of type PROG) all other dependent objects (for example text elements) are deleted automatically. This ensures that all relevant objects are really deleted. Otherwise, dependent objects would remain in the system even if they are no longer used, and then be found by later clearing projects. This process of deleting and restoring (accidentally deleted) obsolete objects is described in the clearing instructions. 35

36 5 ONLY ADJUST AND TEST WHAT MATTERS 5.1 Identify change impact on custom developments Adjustments to the existing custom developments are always required when new SAP software versions are installed. Even when the intention of the maintenance project is that everything works as before, customizing, coding, and interfaces have to be reviewed. With the introduction of enhancement packages this challenge has reduced compared to classical release upgrades, because most changes, such as UI, process or data model changes, are not immediately active for the users. Nevertheless, thousands of lines of SAP code could be changed within the system, for example in the SAP NetWeaver basis layer, or because of support package corrections. On the other hand, nobody wants to redo the whole implementation. How is this conflict resolved? The key is to set the right focus and to invest the development resources where it really matters. The first step to accomplishing this goal is to compile a list of all repository objects, customizing settings and business process steps that are affected by an upgrade or maintenance. SAP provides tools to automate this step. You usually analyze modifications with the SPDD (DDIC objects), SPAU (repository objects) or SPAU_ENH (impact to enhancements) tools. Additionally, for planning and preparation purposes, you can use tools such as the Modification Browser (SE95) and Custom Code App Modification Analysis (see section 4.2.2). Developments in the customer namespace are not directly affected when implementing new SAP software versions. They are kept as they are. Nevertheless, custom development objects which work correctly in one release may not work in an upgraded version. There are a variety of reasons for this. Most important is the fact that custom code usually contains static or dynamic references to SAP objects. If they are changed, the impact has to be reviewed. In particular, if custom transactions of executable reports have been created as copies of SAP programs, these cloned objects present unique challenges after a software change (see section 4.2.4). To identify such critical changes to custom code objects, perform syntax checks using the ABAP Test Cockpit (ATC) or the Code Inspector (transaction SCI), for the most important and critical custom developments at least, as soon as an upgraded version of these programs exists, e.g. after a test upgrade. Additionally, the Custom Development Management Cockpit (CDMC) offers an upgrade impact analysis. It compiles a list of custom objects with a reference to an SAP object which will be changed by the upgrade., The custom objects in this list can be better classified by upgrade impact, and adjustments and testing can be better planned. 5.2 Reduce development scope to used objects While the technical change impact analysis of custom developments does lead to a better understanding of the overall adjustment needs, it is often not sufficient to significantly reduce the effort. The lists can contain thousands of objects to be inspected in detail, still requiring a lot of unnecessary effort. You should combine this technical approach with a business-related view of the importance of the identified changes. To keep this task manageable, you need good and complete documentation of the implemented processes and custom developments, as a reference. This documentation should be available in SAP Solution Manager, as described in section 2.6. Based on this documentation, you can identify those business areas that require most attention, and perform a more detailed technical upgrade change impact analysis of custom developments in those areas. You need to know which of your developments are really used, and how often. Such a statistical analysis should be a regular task of your operations, to have a reliable usage history whenever you conduct your projects. One important information source is the workload and performance statistics provided by transaction ST03N. You can store the ST03N history in the source system for periods longer than the normal retention period. You can extract this information from your managed systems into the BI info cube in SAP Solution Manager. Run the Usage & Procedure Logging (see section 4.4) to track the usage of custom code objects on deeper modularization unit levels. You can use this information to focus your development scope on the objects actually used, which usually greatly reduces the development efforts for upgrade and update adjustments. 36

37 5.3 Reduced test effort through Test Scope Optimization BPCA provides functionality to analyze the impact of ABAP software changes on your business processes. The BPCA change impact analysis can automatically determine the regression test scope by selecting tests assigned to the business processes affected. The BPCA Test Scope Optimization (TSO) functionality - new in SAP Solution Manager 7.1, you can optimize and reduce the required test scope and effort significantly, by program-based optimization along the dimensions: number of changed objects by business process test effort of associated test cases The resulting optimized test scope is presented graphically, with a proposed sequence of process steps to be included in the test scope. The user can apply multiple switches to adjust and optimize the test scope further, and save them as alternative optimization approaches. Optimized test plans can be generated automatically for SAP Solution Manager, HP Quality Center or IBM Rational Preparing BPCA BPCA requires a Business Blueprint in SAP Solution Manager, including process steps and assigned executables, such as transaction codes, reports, etc. which could be SAP standard or custom developed. In a nutshell, BPCA requires a list of transaction codes and reports for which the customer wants to perform an impact analysis. There are various ways of setting up and maintaining the Business Blueprint in SAP Solution Manager: 1. Activate business content (Business Process Repository BPR) provided by SAP Business Suite 2. Upload existing business process structures 3. Integration with ARIS from Software AG 4. SAP service Reverse Business Process Documentation (RBPD) 5. SAP Solution Manager Solution Documentation Assistant 6. SAP Solution Manager EhP Scope and Effort Analyzer 1 : create an SAP module-based blueprint, based on customer usage information. The BPCA analysis requires traces of all business processes which are in the scope of the change impact analysis. The process trace is called Technical Bill of Material (TBOM). It includes all ABAP objects used during execution (SAP standard objects and custom objects) and is assigned to the process steps of your Business Blueprint, in SAP Solution Manager. TBOMs can be created in the following ways (see figure 1). For approaches 1-4, trace recording is turned on before the business process is executed. 1 Planned for future releases of SAP Solution Manager 37

38 TBOM creation approach Details 1) Manual - by business analyst Execution of business process by business analyst, in transaction SOLAR01 in SAP Solution Manager. 2) Manual - by business department Process steps without TBOMs are identified by quality manager. Workflow is sent to business department. Business user performs process step as part of normal routine work while BPCA trace is performed in the background. 3) Manual - by tester Testers performing manual tests in SAP Solution Manager can turn on TBOM recording. 4) Automated tests TBOM recording during execution of automated tests using the following test automation tools: Test Option 1: ecatt, Component-Based Test Automation (CBTA) 2, Standard Regression Tests (START) 3, HP QTP, WorkSoft Certify, Tricentis Tosca. Test Option 2: SAP TAO 5) Background job static TBOM Programmatic approach performing a static code analysis of SAP transactions included in the customer Business Blueprint. This approach is not recommended because it is imprecise. 6) Background job semi-dynamic TBOM 4 Figure 1: BPCA TBOM creation Programmatic approach performing semi-dynamic code analysis including run-time statistics of SAP repository objects used by production systems. See section Roadmap for more details Standard Change Impact Analysis using BPCA For a change event such as transport requests or SAP support packages, BPCA first compiles a list of all changed SAP objects. It then identifies all impacted business processes and processes steps of the Business Blueprint, from the process traces (TBOM) assigned to executables of the business process/step. Figure 2 shows a BPCA change impact analysis with business processes and process steps affected. This approach is called standard change impact analysis, or bottom-up approach, since every process step is checked for potential impact by the change event. 2 CBTA available with SAP Solution Manager 7.1 SP07 3 START available with SAP Solution Manager 7.1 SP09 4 Semi-dynamic TBOM creation available with SAP Solution Manager 7.1 SP09 38

39 Figure 2: BPCA result list of affected process steps An alternative view shows the Business Blueprint Hierarchy with impacted process steps Figure 3 shows the change impact of an EhP deployment for business process Financials Accounts Receivables, in which 12 of 14 process steps are impacted. 39

40 Figure 3: BPCA result - Business Blueprint with impacted process steps BPCA provides additional graphical and tabular views for change managers who would like to investigate the root cause of the impacts in more detail. The graphical overview is shown in figure 4, with impacted SAP repository objects classified by type, such as program/code object, DDIC object, user interface or table content, and a breakdown by SAP software components. 40

41 Figure 4: BPCA result graphical view The table shown in figure 5 provides a lot of detail along the following dimensions, with absolute values and percentages Table rows: changed objects by SAP system, e.g. SAP ERP, software component and software package. Table columns: Program/Code Objects, User Interfaces, Table Content, DDIC Objects, Transactions, etc. Table cells: each cell contains the absolute number of objects impacted, by system/software component and object type. Relative numbers of changed objects are shown as percentages. Each table cell includes a link to a detail section below, which lists all objects with more technical information. This feature helps your team to become familiar with BPCA, and better understand the impacted software objects whether they are SAP standard or custom code objects. Figure 5: BPCA result tabular view 41

42 Change impact can be analyzed by BPCA for the following types of change events: Impact Analysis Type Transport Requests Support Packages/Support Package Stacks (SP) Enhancement Packages (EhP) Planned Business Function Activation Object List Software change event description Transports between SAP systems, including ABAP objects such as programs/code objects, user interfaces, Data Dictionary objects, and customizing objects such as entries from configuration tables. SAP standard objects as well as custom code objects in Transport Requests can be analyzed by BPCA. SAP Support Packages or Support Package Stacks deployed in an SAP development or test system. SAP Enhancement Packages deployed in an SAP development or test system. SAP innovations, called Business Functions, become available after deployment of an EhP, and can be switched on separately. Customers can use BPCA to analyze which business processes are impacted by Business Functions before switching them on. Project Management Offices (PMO) often have to take project signoff decisions for development projects without sufficient information. BPCA supports the decision making process, in which architects can provide information about the most important ABAP objects (function modules, tables, ) which are to be changed. BPCA calculates which business processes will be affected by these developments, and enables the PMO to assess the risk. Change Transaction Customers managing software changes withsap Solution Manager Change Request Management, can perform BPCA change impact analysis for change transactions. All objects in the change transaction are compared against the objects used by executables of the Business Blueprint, to identify impacted business processes, and optionally generate a test plan. Figure 6: SAP software change events supported by BPCA SP and EhP deployments include a large number of changed objects, so large parts of the Business Blueprint are impacted. Use the BPCA Test Scope Optimization feature to further reduce the test scope, based on risk. BPCA can generate a regression test plan for impacted business processes, automatically. Figure 7 shows test management applications integrated with BPCA 42

43 Test Management application Required products/capabilities SAP Solution Manager SAP Solution Manager 7.0 EhP1 or 7.1 SAP Quality Center by HP SAP Solution Manager Release 7.1 SP05 SAP Solution Manager Adapter for SAP Quality Center by HP HP Enterprise Integration (EI) 2.7 IBM Rational SAP Solution Manager Release 7.1 SP05 SAP Solution Manager Connector for IBM Rational IBM Rational Connector for SAP 4.0 Figure 7: Test Management applications integrated with BPCA BPCA Test Scope Optimization for large SAP change events When performing a BPCA change impact analysis for only a few thousand change objects, like configuration changes or custom code developments, the standard BPCA bottom-up analysis provides a precise analysis and a resulting test scope with manageable effort. It is different when analyzing change impacts of large SAP change events, like SAP Support Package Stacks (SP) and Enhancement Packages (EhP), since these change events can include more than a hundred thousand changed objects. In these cases, BPCA provides exact results, but because so many objects are changed, it is likely that almost all of your business processes will be impacted, resulting in a high regression test effort which will require almost all test cases to be executed. The result is precise, but the resulting regression test scope may have unacceptable time and cost. BPCA of SAP Solution Manager 7.1 addresses this problem with the new Test Scope Optimization (TSO) functionality. This risk-based test scope identification allows you to balance between acceptable test effort and increasing risk, when reducing the test scope. A S e b a s s ti Figure 8: BPCA Test Scope Optimization b a e e BPCA TSO assumes that a changed technical a n object should be tested at least r once, but not necessarily r in all process G steps that use it. ai s b a u e r D S e b a s ti a n G ai u e r E S e b a s ti a n G ai s b a u e r B S e b a s ti a n G ai s b a u C S e b a s ti a n G ai s b a u 43

44 Instead of collecting all impacted business processes and associated test cases (bottom-up approach), the BPCA Test Scope Optimization determines those business processes and process steps that are impacted by a lot of changed ABAP objects in the change event, and that do not require high test effort compared to other impacted process steps. Using this boundary condition, BPCA optimizes along 2 dimensions in parallel: 1. Number of changed ABAP objects per process step. BPCA TSO calculates business processes/ steps impacted, with the greatest number of changed objects. 2. Test effort per process step. BPCA TSO calculates business processes/steps with assigned test cases which lead to the lowest possible test execution effort. The TSO result is a ranking of impacted business processes/steps as shown in Figure 8: The blue curve shows the TSO ranking, i.e. TSO result for process step (x axis), test coverage (left y axis) and test effort (right y axis) Point A: the very left section of the x-axis shows business processes or process steps that have the best ratio of changed objects (high) to test effort (low). The test efficiency of the first process on the left side is 30%, i.e. the test cases assigned to the first process can already test 30% of all changed objects that impact the Business Blueprint. This is a very good percentage for one business process. The ranking of process steps from left to right shows the cumulative decreasing test efficiency of each process step, i.e. the processes on the left can test more changed objects than those on the right. Point B: The left y axis shows the test coverage from 0 100%. When the blue curve reaches 100%, all changed objects of the change event that impact your business processes have been covered at least once by test cases in the test plan (see green shaded area of the graphic) Point C: on the very right side, the ranking includes all impacted process steps. If you include all processes up to this point, you will test changed objects several times, which is a full scope regression test for all impacted process steps, i.e. the result of the standard BPCA bottom-up analysis. Point D: reducing the test scope below 100%, for example to 99% (or 95%), will leave 1% (or 5%) of changed objects untested, but the test effort drops significantly. This effect is called long tail: the blue ranking curve already reaches the saturation area, i.e. the test efficiency of the process steps on the right side is much lower. For each additional process step added to the test scope, only a small number of changed objects are added to the test scope. The vertical bars in the graphic show the cumulative test effort. They show test effort for automated tests in green (almost invisible, since the effort is small) and for manual tests in orange. You can assign expected execution times to each test case, or use average values with default settings in the Test Management work center. 44

45 BPCA Test Scope Optimization has a set of levers (see Point E) which you can use to influence the TSO result: Lever Effect on Test Scope Test Coverage (%) Starting point is 100%. Reducing to values below 100% exploits the long tail effect, significantly reducing the total test effort Manual Test Effort (hours or days) You can increase or decrease the effort required for manual tests. If you keep the test coverage constant (lever 1), a lesser effort for manual tests will pick more processes with automated tests, to produce the same test coverage. Automated Test Effort (hours or days) Opposite effect to lever 2: increasing the effort for automated tests at constant test coverage, will decrease the number of processes using manual tests. Total Test Effort (hours or days) You can specify the amount of time to spend on regression testing. TSO will identify the most efficient tests assigned to processes for the specified test effort. Figure 9: Levers for BPCA Test Scope Optimization With SAP Solution Manager 7.1 SP05, you can save the TSO settings as Optimization Approach, locally (for your user) or globally, so that all users can use these settings. Additional levers have also been introduced with SP05, to further reduce test effort based on smart lever settings see figure 10. Figure 10: BPCA Test Scope Optimization - additional TSO levers and settings with SAP Solution Manager 7.1 SP05 When reducing the test coverage from 100% (all changed objects tested at least once) to a lower value such as 99% (see point D), you run a higher risk that the untested changes might cause problems in your production systems. You can mitigate this risk by automatic determination of mission-critical business processes/steps, which are forced into the test scope. This can be achieved by assigning a custom attribute like process priority, with value 1, to all mission-critical business processes/steps in your Business Blueprint. A setting in the TSO Optimization Approach then forces all mission-critical business processes/steps that are impacted, into the test scope. These processes are shown in the BPCA TSO graphic at the very left ( must include area - see point F in figure 11) up to the vertical line. From SAP- 45

46 internal testing and customer feedback, the combination of deselecting process steps with a low test efficiency using 99% test coverage, combined with risk mitigation by forcing impacted mission-critical processes into the test scope, has led to acceptable test effort and risk levels. F D S S e e b b a a s s ti ti a a n n G G Figure 11: BPCA Test Scope Optimization with test coverage ai of 99% plus risk mitigation ai s b Quantitative a Example u u The following quantitative e example illustrates the test effort e reduction that can be achieved with BPCA Test Scope Optimization r (TSO). The number of business processes r and assigned test cases is small, and just for illustration purposes. Applying a factor of would indicate typical SAP customer situations. Business Blueprint The business blueprint includes 3 business scenarios for Financials, Logistics and Human Resources, containing 8 end to end business processes and 46 process steps in total, with multiple transaction codes per process step. Test Cases In total 73 test cases - manual and automated - are assigned at process step and business process level, as shown in figure 12. Automated end to end tests have been assigned to business processes whose transactions can not be tested individually because precursor transactions are needed to create business documents for processing by successor transactions in the E2E business process. This is the case for business processes like Order-to-Cash and Procure-to-Pay, in this example. Business Scenario Business Process Process Step Financials 23 manual test Logistics 3 end to end tests (automated) 35 manual tests + 3 automated tests Human Resources 1 end to end test (automated) 8 manual tests Figure 12: manual and automated tests assigned to process steps and business processes The test execution effort of all assigned test cases is a total of 132 hours. Instead of assigning specific test execution efforts to each test case, SAP Solution Manager allows the definition of average efforts by test s b a 46

47 case type. In the example, the following average test efforts have been defined, assuming that only human interaction time is considered: Manual tests: 2 hours access and read manual test script, launch and execute process step, document result, status setting and potential incident creation Automated tests: 15 minutes for status analysis by test coordinator after automated test execution. Change event Enhancement Package 4 for SAP ERP 6.0 was deployed in the SAP test system, with approximately changed objects for software component SAP APPL. BPCA standard change impact analysis A standard BPCA bottom-up change impact analysis for the EhP deployment identifies almost all process steps and business processes as impacted, so only 6% test effort reduction can be achieved compared to the effort to test all included test cases. BPCA TSO 1 For large change events, SAP recommends BPCA Test Scope Optimization. BPCA default test scope optimization without any further user interaction, ranks business processes and process steps, resulting in a test scope with 58 tests and test effort reduced to 104 hours, a gain of 21% (BPCA TSO 1 in figure 13). BPCA TSO 2 From this starting point, further reductions can be achieved by applying TSO settings, as described in figure test scope optimization with priority for process steps with automated tests 2. test scope optimization using only automated tests of affected process steps with manual and automated tests The first TSO setting influences the rank of a process step. Process steps with automated tests will be shown in the TSO graphic towards the left, -indicating higher test efficiency. The second TSO setting addresses the fact that most companies add test cases to a process step, but rarely remove manual tests when automated tests are added. With this setting, only automated tests are used for a process step with both manual and automated tests. BPCA test scope optimization with preference for automated tests, and 100% test coverage, reduces the test scope for the given example further, to 44 tests, and the test effort to 76 hours, a 42% gain compared to the entire test scope (BPCA TSO 1 in figure 13). Test Scope No. of tests Test effort Gain Test Scope without optimization 73 tests 132 hours n.a. BPCA TSO 1: default, 100% test coverage 58 tests 104 hours 21% BPCA TSO 2: preference for automated tests, 100% test 44 tests 76 hours 42% coverage BPCA TSO 3: preference for automated tests, 99% test 32 tests 52 hours 61% coverage, priority 1 processes and steps in scope Figure 13: Results from BPCA Test Scope Optimization (TSO) 47

48 BPCA TSO 3 The 3rd optimization described in the quantitative example deals with the long tail effect, where the test efficiency decreases rapidly (see area between points B and D in figure 8). To remove processes with low test efficiency, the test coverage is set to 99%, i.e. 1% of all changed objects with impact on existing business processes, are not tested. This significantly reduces test effort by slightly increasing risk. To mitigate risk, define a custom attribute Business Process Priority, and assign the value 1 to it for all mission-critical processes. In the settings of the BPCA TSO Optimization Approach, you can specify that all mission critical processes are forced into the test scope, and no optimization be applied to those priority 1 processes. This measure mitigates the risk of excluding a small percentage of changed objects untested. Combining the settings for test scope optimization produces a good compromise between test effort and risk level. The resulting TSO ranking list is shown in figure 11. The optimized test scope includes 32 test cases, with a test execution effort of 52 hours, a 61% gain compared to the complete test scope without optimization (BPCA TSO 3 in figure 13) Value Proposition BPCA Test Scope Optimization provides the following advantage for companies planning to deploy software changes regularly: 1. Identification of impacted business processes and process steps, allowing test teams to limit need for business analysts for identified areas 2. Significantly reduced test effort when using BPCA Test Scope Optimization, saving cost and time, and allowing the focus of the project team to shift to other important tasks 3. Detect impacted business processes with no, or only manual, tests, where automated tests could improve the overall test efficiency 5.4 Increase Test Efficiency by Test Automation Tight timelines of the test phase after a significant software change usually do not allow all core business processes to be tested manually. Based on customer interviews, there are a lot of other reasons to not run regression test using manual tests entirely. The following chart presents these reasons: Test coverage within tight timelines Defects in production Systems Lack of time to execute regression tests may potentially compromise performance & reliability Overcompensating scope of testing may result in more testing than really required, and project delays Insufficient test coverage means more defects are not found before cutover of changes from test to production landscape Testing accuracy due to not being able to test all variants Costs High costs for manual testers in recurring regression tests High costs to fix errors in production landscape Finding errors late in the development process could delay delivery Complexity Complexity increases with the number of business processes and modules Manual testing cannot keep pace with expansion of applications Chart 1: Disadvantages of manual testing compared to test automation Regression testing after software changes is to find defects and unwanted business process behavior. The correction of defects results in customizing and/or development adjustments in the DEV environment, which in turn require re-testing in the TST environment. These iterative activities can best be supported by 48

49 automated functional regression tests, which free up a significant amount of time for the QA team and the individuals usually involved in manual test execution. SAP and 3 rd party test tool vendors have advanced their test automation tools in the last few years to the extent that customers now can get the functionality and maturity that they need to setup regression tests by test automation. Most test tools allow semi-automatic creation of test scripts that can handle complex business transactions, without requiring detailed technical expertise. As a result, business process experts and outsource providers can largely handle the creation and maintenance of automated tests. SAP has also made a significant effort to improve the test automation infrastructure, especially the handling of system under test (SUT) information, and test data provisioning, to make the overall process more reliable and efficient. Identify the core/mission-critical business processes and develop automated tests for them Test Option 1 With SAP Solution Manager 7.1, customers can integrate SAP and 3 rd party test automation tools, in the Test Automation Framework. Test management with SAP Solution Manager also provides a rich and mature infrastructure to define automatic tests of business processes, manage systems under test used for test creation and execution, and test data provision for automated tests. Chart 2: Test Option 1 with SAP Solution Manager 7.1 Test Automation Framework In the Test Automation Framework, customers can easily set up test configurations, which consist of 3 essential parts: Test Script definition of test scripts based on SAP test automation applications (CBTA, ecatt) or 3 rd party test automation applications like HP Quick Test Professional, Worksoft Certify or Tricentis Tosca, with certified integration with SAP Solution Manager 7.1. Test Data Container environment to plan or upload test data consumed by test configurations System Data Container system landscape information controlled by user, to switch between landscapes to be tested, e.g. DEV, TST or Pre-PRD Test Configurations are assigned to process steps or business processes of the Business Process Hierarchy, and can be selected for a test plan, to allow mass execution. 49

50 Chart 3: Automated regression tests assigned to the business process hierarchy Customers with SAP Enterprise Support can use the SAP component-based test automation application, CBTA, which provides a better total-cost-of-ownership (TCO). For UI technologies not supported by CBTA, like process steps using non-sap applications, companies can use partner test tools from HP, Worksoft or Tricentis. Customers with SAP Enterprise Support can obtain 2 seats of HP QTP without additional costs (for details see https:/ Functionality provided by the Test Automation Framework of SAP Solution Manager 7.1 includes: Test design Seamless creation and assignment of 3 rd party test automation scripts to process steps Central planning of test data and assignment to parameters of the test scripts Central compilation of systems under test (SUT) no individual setup in each test script Test execution Standard Test Workbench functionality to set up test plans, test packages and to execute tests and capture test results New scheduling functionality to allow un- attended test execution mode, at any time and at local or remote locations Test result analysis Standard status and progress reports provided by the Test Workbench and BI Gap reports to discover business processes without tests, outdated test plans, coverage of new tests in test plans Accelerated repair Tester can create a repair request for damaged test cases, which is sent to the test engineer responsible, automatically, and includes all necessary context information Test engineers work in an environment in which all context information about the damaged test cases is available. From here, all functions to run, analyze, maintain and repair damaged test cases are available. Chart 4: SAP Solution Manager 7.1Test Automation Framework functionality 50

51 SAP Customers like Colgate-Palmolive/US have observed the following benefits of test automation: Chart 5: Benefits of Test Automation, described by Colgate-Palmolive Test Data handling in SAP Test Option 1 Customers using test option 1 (SAP Solution Manager and integrated 3 rd party test automation tools) should plan and provide test data in the Test Data Container (TDC), provided by SAP Solution Manager 7.1, with the following functionality: User can define the test data structure for a set of single fields and structures, with reference to SAP Data Dictionary Manual planning of test data and MS Excel file uploads Test Data Assignment wizard to map test data in TDC onto parameters of the test script Step 1: Set Up Test Data Container The test engineer defines the data structure of the test data container. TDCs can be defined for single business transactions or end to end business processes like Order-to-Cash. Subsequently, the business analyst can provide test data in the test data container, or upload test data in MS Excel files. Chart 6: Test Data Container 51

52 Step 2: create Test Script At design time, the user creates a test configuration in SAP Solution Manager. After providing header and System under Test information, a test automation tool is launched, to create a test script. Replace fields that require data input, with test automation tool parameters. These parameter definitions are sent back from the test automation tool to the test configuration in SAP Solution Manager. Chart 7: Parameter mapping from 3 rd party test automation tool to SAP Solution Manager test configuration, and assignment of test data from test data container Step 3: Test data assignment to test configuration A Test Data Assignment wizard helps the user to find suitable test data containers, selecting test data variants stored in the TDC and to assign it to the test configuration. More complex situations can also be handled, since the user can assign data from multiple TDCs containing different types of data. Chart 8: Test Configuration with linked test data from Test Data Container 52

53 Chart 9: Test Data handling via Test Automation Framework during test execution A standard SAP interface links 3 rd -party test automation tools with SAP Solution Manager, allowing the provision of test data from test data container to the test script, at runtime. The following test automation tools can use this approach: SAP ecatt SAP Component-based Test Automation (CBTA) HP Quick Test Professional (QTP) Worksoft Certify Tricentis Tosca During test execution, the test configuration reads the test data from the TDC and transfers it to the test script of the test automation tool for execution. Each test data record from the TDC will trigger a test execution Test Option 2 Customers using SAP Quality Center by HP to manage the test process, can use HP QTP to automate tests of heterogeneous business processes, including SAP and non-sap applications. 53

54 Chart 10: Test Option 2 with SAP TAO and SAP Solution Manager 7.1 To accelerate the creation of automated test cases, and to lower the maintenance effort of automated tests, deploy SAP Test Acceleration and Optimization (SAP TAO) in conjunction with QC and QTP, to build automated regression tests. Chart 11: Accelerated creation of automated business process tests with SAP TAO Approach and advantages of SAP TAO Business Analysts can build automated tests by normal execution of business processes no special technical expertise is needed SAP TAO automatically creates all important test assets in the background o Test components representing sub-screens of the automated business processes, with automatically assigned parameters for all fields o Complete composition of test script, based on SAP TAO test components o Test data entered by the business analysts is captured in specially tailored MS Excel worksheets and is used for later test execution o Validation steps are included automatically in the test script, and can be added by a test engineer, according to customer needs. 54

55 Uploading to QC allows customers to use the test management environment of Quality Center to build test plans and test sets, based on standard QTP scripts and SAP TAO test scripts. Maintenance of damaged automated test cases is accelerated by SAP TAO by integration with Business Process Change Analyzer, which identifies damaged test components which can then be repaired rapidly by SAP TAO Chart 12: Accelerated repair of damaged test cases with SAP TAO SAP Customers like Baker Hughes/US have realized the following benefits by using SAP TAO in combination with SAP Quality Center by HP and QTP Cost savings by discovering defects earlier in the lifecycle 40% less testing effort by automating regression testing Reduced User Acceptance Testing to 3 weeks Estimated 20% savings due to reuse of existing test cases for future releases Estimated 25-30% savings in maintenance due to use of SAP TAO Delivery of high quality complex application release with minimal production issues Tracking all testing activities using a central test management tool Source: SAPPHIRE

56 5.4.4 Test data handling in Test Option 2 For customers using test option 2 (SAP Solution Manager, SAP TAO and SAP Quality Center by HP), SAP provides the following advanced capabilities to handle test data in automated scripts: The user creates a new test script via SAP TAO by executing a business transaction and entering data for all input fields SAP TAO creates all necessary test assets in the background, including o test script o test components which represent screens/subscreens and parameters for all fields o MS Excel file with input parameters as column header and 1 data row which contains the test data from the initial process execution. The file with the test data can be placed on a central group server, to allow test execution by multiple users Users can enter additional test data directly in the MS Excel file, as additional rows. At runtime, Quality Center will execute the test script as many times as there are test data rows in the data file. The automatic creation of parameters for input fields allows users to build sophisticated test scripts quickly, and assign test data conveniently, since the MS Excel file already contains the required data structure. Step 1 A user executes the business transaction. SAP TAO creates test components with parameters for all input fields, a test script using test components in the right order, a file with test data, and connects the script parameters with the columns of the test data file. Chart 13: Creation of test script and test data file with SAP TAO Step 2 A business analyst, SME or test engineer can enter additional test data in the data file. Customers should identify business documents in the production system that reflect standard variations. The data from these business documents can be entered as test data in the test data files. 56

57 Chart 14: User enters additional test data records in SAP TAO-generated test data file Step 3 Quality Center executes the SAP TAO script and accesses the test data file via the link in the test script. Test data from the file will be retrieved and entered into the input parameter at runtime. The test is executed separately for each test data record. Chart 15: Test execution with multiple iterations triggered by test data file 57

58 5.5 Outlook: EhP Scope and Effort Estimator Customers planning to deploy SAP Support Package Stacks or Enhancement Packages (EhP) would like to know in advance the involved cost and effort for code adjustments and regression testing. In addition, they would like to know impacted business processes to derive the associated development teams and business analysts (see figure 1). Figure 1: Customers perceived challenges for EhP deployment projects SAP customers have requested an application that provides project scope and effort estimates and satisfies the following requirements: 1. Transparency about change impact of EHP deployments before physical installation 2. Reliable effort estimation for major development adjustments and test activities 3. Tailored impact analysis for custom code and modifications 4. Test scope optimization with significant reduced test scope and test effort 5. Test plan for impacted business processes including custom code and modifications 6. Simple guided tool based procedure without significant preparation effort SAP has committed to provide a new application EhP Scope and Effort Analyzer as part of SAP Solution Manager 7.1 with planned availability in first half of Scope and effort of planned SP or EhP deployments can be analyzed without the need to physically install them anywhere in the customer system landscape. A guided activity helps the user to enter the necessary information like current and planned EhP level. The application performs all necessary calculations in the background and subsequently provides the results in a graphical summary for the project team as well as detailed analysis views for involved experts like development and test managers (figure 2). All prerequisites that required manual activities in the past have been automated including Optional automatic generation of a SAP Module oriented blueprint including executables like transaction codes and reports used in production systems Automatic generation of BPCA technical bill of material (TBOM) for all involved executables Identification of used and unused custom code objects Automatic test scope calculation plus risk-based approach for optimized test scope 58

59 Figure 2: SAP Solution Manager EhP Scope and Effort Analyzer The results of the analysis are presented in graphical and list views to the project team which can discuss the impacted areas during project meetings. Results are presented in aggregated views including the following information Custom Developments and Modifications number of impacted objects and estimated adjustment effort (figure 3) Impacted business scenarios, business processes, process steps (figure 4) Total testing effort and risk-based test scope optimization (figure 4) Recommendation about creation of missing test cases and resulting effort Figure 3: SAP Solution Manager EhP Scope and Effort Analyzer expected CC adjustment effort 59

60 Figure 4: SAP Solution Manager EhP Scope and Effort expected test execution effort Development managers get detailed insights using expert views about adjustment efforts for custom objects, modifications and clones by SAP modules as well as object types. Test managers can use build-in simulation features to recalculate test efforts based on various attributes such as test coverage, priority of business processes, etc. In addition, specific test plans can be generated for limited business processes including custom code objects and modifications. 60

61 Figure 5: SAP Solution Manager EhP Scope and Effort Expert view Value proposition Project teams will benefit from the application in the following way. Hassle-free analysis Change impact analysis without physical EHP deployment Simple Guided procedure in SAP Solution Manager No external transfer of customer code to protect Intellectual Property Custom developments Tailored impact analysis for custom code and modifications Early estimation of project effort and required adjustment activities Overview on used and unused code based on reliable usage statistics Test Management Automatic generation of preliminary business blueprint (if required) Test Scope Optimization with significant reduced test scope and test effort Additional test plan for business processes including custom code & modifications Recommendations for missing test cases and process traces (BPCA TBOM) 61

62 6 PERFORM UPDATES WITH NEAR ZERO DOWNTIME Downtime is one classical upgrade and maintenance challenge. When implementing an accelerated release strategy combining major customer releases with SAP software updates (SPS or EHP), it is also a key topic for your release deployments, especially in environments supporting global or 7x24 hours business operations. SAP tries to minimize downtimes. In this section, we describe SAP best practices for managing and minimizing business downtime, and the latest SAP technologies to reduce planned outages to nearly zero. 6.1 Typical Pattern of Planned Downtime Business downtime is a time period during which the productive system is not available to the business (end users, interfaces, background processing). It is further divided into types, for example the ramp down phase or technical downtime. We distinguish between uptime, the time where the production system is up and running and available for the business, and business downtime or just downtime. Business downtime usually starts with the ramp down phase, which ensures the consistency of the systems and database, and the controlled ramp down of productive use, such as locking all business users, rescheduling background jobs, processing update tasks, cleaning up data queues, deactivating interface connections, and so on. A consistent back up of the database and file system ensures a proper reset point in emergencies. The technical downtime is followed by the ramp down process. During technical downtime, the maintenance tool runs on the system and the system is updated. During this process, the system can be up and running (but with controlled access only), or shut down, to optimize the deployment process and ensure data consistency. Technical downtime can usually be optimized by adjusting tool-specific parameters and settings, or by increasing the available hardware and disc input/output time, depending on the maintenance event tasks. The post-processing phase follows technical downtime. During post-processing, technical system checks are performed, to ensure the technical correctness of the systems. This can be followed by customer-specific software update tasks, such as importing customer transports, updating software add-ons, supplementing or generating objects and programs, and so on. These activities are customer-specific and can change with the scope of different maintenance events. The next phase is validation, which covers the functional validation of the production system by selected business users (functional core team). These tests decide the go or no-go of the current software solution. They usually take one or more hours, and concentrate on selected business-critical processes. In case of a no-go decision, the system must be restored or reset. In this rare case, all activities are known and planned in detail. The entire team must be familiar with go and no-go decisions. In case of a go decision, the ramp-up process continues. Releasing end users for business, establishing interfaces connections, scheduling background processes, and so on. The regular uptime, or production use of the system, follows the ramp down process. Holistic optimization of downtime focuses on all elements of the business downtime, not just on the technical part. To review the activities, and its duration, activity by activity, is an intensive task. Focusing initially on time-consuming activities is a more targeted approach. 6.2 Frequency versus Effort and Business Downtime The frequency of changes in the system is usually a balance between the requirements of keeping the system up-to-date, implementation of new functions or modifications of existing functions (configuration changes), and the availability of the functions (and the SAP system). A typical picture of annual planned downtime frequency: 62

63 Figure 15: Planned downtime frequency The effort for a single event includes the manpower required for the update and the effort to test and validate the event. It also covers related hardware and support activities. The downtime required to apply the changes is proportional to this effort. Typically, the activities related to the events, as shown on the illustration, require system outage for a number of hours, or even days. Depending on the criticality of the functions running on the affected system, the downtime is usually planned for weekends possibly long weekends to minimize the impact of the planned system activity on business. When combining major customer releases with SAP software updates (SPS or EHP), it is more difficult to find an appropriate time window for the software deployment. The usual weekends even extended weekends around certain holidays may no longer be sufficient to meet business requirements. SAP has therefore invested in standard tools and methodologies to allow for nearly zero business downtimes. In some cases, the SAP systems may even stay completely online for planned maintenance activities. What is currently achievable with SAP standard tools and methods is described in the following illustration: 63

64 Figure 16: SAP standard tools and methods The following sections describe the methods and their benefits and effort. 6.3 Managing Planned Downtime Business users expect continuous availability of functions provided by SAP systems. Each outage, even if announced in advance (planned downtime), can disrupt business. To reduce planned business downtime, consider the following aspects: What is the acceptable business downtime for the business? This business downtime requirement can influence the tool or technique you use to perform maintenance, and the cost of optimization procedures and techniques. Which maintenance event is planned? Installation of support packages, enhancement packages, database maintenance, or other activities. Consider the technical dependencies of the selected maintenance event, for example database or operating system patch version prerequisites. Which systems participate of the maintenance event (based on technical or functional dependencies, for example)? Define the constellation of systems to run maintenance, based on your needs and dependencies. Reducing planned business downtime usually starts with a proof of concept project, to evaluate activities, timings and downtime, and specify next realization steps. Agree on Possible Maintenance Windows with Your Lines of Business There should be a general agreement between the parties involved, about the availability of business functions. Depending on the criticality of the supported business, the frequency and the duration of maintenance windows should be aligned between the IT department and the business users. The regular maintenance windows should be used for regular system maintenance activities requiring outage. It is often acceptable to business users to have a short outage (less than 4 hours), monthly, during a period of low system activity usually at weekends or during the night. The frequent short outage allows maintenance activities and the introduction of minor system changes, improvements or innovations. A 4-hour window is usually too short for major system changes, including update of the SAP software stack new SAP release, new enhancement package, or new support pack stack. A separate outage needs to be agreed with the business for this. Typically, this longer outage (24-48 hours, or even longer), is planned for long weekends. 64

65 Planning for Customer Release A customer release is the implementation of new custom development, corrections to the existing custom code, or changes of the system configuration. Try to combine a customer release (customization or new functions and new configuration) with the update of the SAP release or the support package stack. You can then combine the test effort, which is usually the largest component of the effort, and needs to be done only once. If the update of the SAP software stack were executed separately from the implementation of the custom development, each step needs to be tested separately. The planned outage to update the software stack could also be combined with patches of the lower stack, e.g. OS or DB patches. The number of activities performed during a single outage increases the risk of cut-over failure, which might lead to a longer outage, or even to roll-back and the repeated execution of the cut-over. Use the term customer release to include all activities related to a system change. It includes: New SAP release (major release or enhancement package or support pack stack) Custom development Customer transports with configuration changes and lower stack changes OS patch DB patch Others Planning all activities to be performed within a single event customer release planning should take into account: impact on the duration of the planned downtime and risk of the failure. Encapsulating the System within the System Landscape Business functions provided by the IT systems have various critical points, across components in the system landscape. In some case, only selected components of the system landscape require an outage (e.g. only a BW system). To minimize the impact on the supported business, consider whether the affected components can be shut down individually, and the remaining components (e.g., the ECC or CRM system), supporting the critical business, stay in operation. This selective treatment requires documented knowledge of business processes across the system landscape, and their criticality. When shutting down system components selectively, ensure that the interfaces connecting the disabled components are deactivated monitoring these interfaces might cause errors. This should be communicated in advance to the persons responsible for monitoring. Downtime and runtime cut-over planning Especially in complex customer releases, the duration of the downtime can exceed the standard maintenance window. The impact of the implementation of new release exceeds even the business downtime. 65

66 48-72 hours before the downtime starts, a restricted phase starts on the system see the figure below. During this phase, no repository changes can be made in the production system. This phase also impacts the DEV system. No development activities can be performed during the upgrade of the development system. Figure 17: Downtime and Runtime In the preparation of the planned downtime, as well as optimizing the duration of the downtime, the uptime part of the cut-over should also be kept as short as possible, to minimize the duration of the restricted phase on the production system, and thus to minimize risk, so it is important to prepare the cut-over plan, to perform the planned event efficiently. A cutover plan is an operative plan, like a to-do list, for all steps of the planned activity in the system customer release. The level of details in a cutover plan has to ensure correct interpretation of the task execution. Cutover plans are correlated with contingency plans; recovery/ restore must always be possible in case of errors. The duration of the business downtime has to be estimated, for the alignment with the business units. The downtime estimation is usually a two-step process a rough estimate, matching the business requirements, to allow the choice of tools and methods. This estimate is based on general information e.g. database size, experience from other upgrades, information from subject matter experts the final downtime estimate is based on the actual values measured during mock runs. This downtime has to be approved by the business as planned downtime. The cut-over plan lists the activities, steps and timing of the planned upgrade, and lists the people required (and available). Important items in the cut-over plan Detailed timeline of all steps automatic and manual List of check points quality gates Security back-up at critical times A list of key persons and persons responsible for each item, project team members and business key users, including availability, location, contact details, etc. Contingency plan time buffer for unexpected situations Process for emergency corrections or transports on the production system Fall-back strategy determination of point of no return 66

67 For critical events run the cut-over plan twice as a simulation, before the production cut-over. Simulation should be in a representative environment with regard to data volume, performance and hardware. 6.4 Minimize Planned Downtime Recommendations for ABAP-based systems Kernel updates Every SAP System includes a SAP Kernel, which can be maintained separately from the SAP System itself. Kernel patches contain corrections and enhancements of the SAP kernel. Usually, the Kernel is updated along a support package or other major maintenance events. In certain cases however, the deployment of a new SAP Kernel version is required. To change the kernel separately, you basically have to stop every instance of the SAP system, replace the files of the old kernel with the files of the new one, and restart the instance again. A kernel switch typically takes only a short time, but requires stopping all instances of the SAP system, which in turn stops all active transactions. This is very inconvenient, especially for long-running batch jobs. Shutting down the complete system completely, exchanging the SAP Kernel and restarting the system again, is easiest and simplest way to do this. However, this represents a planned downtime, which might not acceptable. Since Nov 2012, SAP supports the Rolling Kernel Switch for SAP NetWeaver ABAP based systems. The Rolling Kernel Switch procedure enables to change the kernel of all application servers sequentially, and thus a planned downtime of the system can be avoided. For further details about rolling SAP Kernel switch, see SAP note System Backups A system backup is an activity in the ramp down and ramp up phase, before and after each maintenance event. Every SAP system of the landscape requires a consistent emergency backup. System backup and recovery is challenging due to data growth and consequent long backup and recovery times. For highavailability systems, you should invest in and improve the backup performance by implementing backup technologies such as snapshot. Further information can be obtained from your hardware partner or backup tool vendor. Support Packages and SAP Notes The tool for handling SAP Notes on SAP NetWeaver ABAP-based systems is Note Assistant (transaction SNOTE). It displays, downloads and implements the latest note versions, creates work lists, classifies SAP Notes, and specifies the processing status. To proactively discover which SAP notes are important for a system, SAP provides the System Recommendations tool in SAP Solution Manager 7.1. System Recommendations provides a detailed recommendation of ABAP and non-abap notes which should be implemented, based on the actual status of the system and notes already implemented. This recommendation includes, for example, security notes, HotNews, legal changes, corrections or performancerelevant notes. For more information, refer to the SAP Service Marketplace. SAP Support Packages for ABAP-based SAP NetWeaver systems are deployed via Support Package Manager Tool (SPAM), or Java Support Package Manager (JSPM) for Java based SAP NetWeaver systems. SPAM is an SAP-internal tool, no operating system knowledge is required to run it. SPAM ensures that support packages are imported only in the specified sequence. Settings allows adjustment to your needs, such as the number of parallel import processes. If you plan to import a larger number of support package stacks, or if you want to reduce the downtime during your maintenance event, use Software Update Manager (SUM) tool instead of SPAM. SUM can reduce the technical downtime by 50-70% compared to the standard tool SPAM. Enhancement Packages 67

68 Functional enhancements are shipped as SAP Enhancement Packages for SAP NetWeaver-based systems or SAP Business Suite products. This enhancement package strategy for SAP ERP was introduced in 2007 to simplify the way customers manage and deploy new software. Customers can selectively implement these software innovations from SAP, and activate it depending on business requirements. As a result, customers can isolate the impact of software updates, and bring new functionality online faster, through shortened testing cycles. The tool to deploy SAP Enhancement Package for ABAP and Java-based SAP NetWeaver systems is Software Update Manager (SUM), which is based on the established upgrade technology. It sets up a slim parallel shadow system, in which major deployment steps of the functional enhancement are made in parallel to the production operation. Technical downtime is necessary to perform the system and kernel switch and further downtime-relevant changes, to ensure the consistency of the database. The Software Update Manager offers several downtime optimizing features, some of which are active by default, and others can be activated on demand. These features reduce business downtime compared to current standard tools, because more of the downtime-relevant deployment phases are executed while system is still available for business users. Some of these features are: Load generation (SGEN): Scheduling load generation used to be a business downtime activity. Now, SGEN can be scheduled on the shadow instance during the uptime phase. This reduces the business downtime by the runtime of the load generation. This option can be activated in the Software Update Manager advanced tool configuration mode. Selected, long-running after import methods: Some selected after import methods (AIM) are already scheduled on the shadow instance. They are no longer part of the downtime. This feature is active by default. Mass generation of enhancement objects, generation of enqueue objects: Generation and mass generation of objects used to be in the downtime. With Software Update Manager this generation has moved into the uptime part of the deployment process. This feature is active per default. Record and replay technique: This feature is based on a database functionality, record and reply technique. Selected application tables changed by a maintenance event are identified and given database trigger and logging tables, to record table changes, updates and inserts. All changes to this set of tables are recorded during the productive use of the system, and permanently synchronized with the data of the shadow system. This procedure allows shifting several usually long running downtime phases, such as the main import and table structure adjustments and conversions, into the deployment uptime phase, to gain the best downtime reduction currently available with a standard tool. To run the main import during the deployment uptime instead of during the downtime phase involves importing the entire content of the target support package and enhancement package. This record and replay technique can be activated by selecting the advanced Software Update Manager tool configuration mode. It is also referred to as NZDM Near-Zero Downtime Maintenance technique. Deployment of customer transports during uptime: Software Update Manager (SUM) 1.0, SP6 or higher, has a new feature to reduce business downtime by including customer transport requests in the update phase. This feature allows shifting most of the transport import runtime to the deployment uptime part of support package or enhancement package installations, significantly reducing business downtime. Further details are in SAP note Conditions for SUM including customer transport requests. This tool feature addresses customers with large customer releases, and customers implementing a large number of transports into the production systems (transport runtime of several hours), as part of the business downtime. This feature can be activated in the advanced Software Update Manager tool configuration mode. Release Upgrades A new software release comes with improvements and new functionality, and uses state-of-the-art technologies to meet users' growing business requirements and increase their productivity. The transition to a new release presents data and system consistency and business downtime challenges. SAP offers a comprehensive set of technical tools and services to facilitate and safeguard upgrade projects. 68

69 SAP's upgrade technology is continuously improved, with the focus on unattended operation, usability, and technical downtime reduction. The single point of access for all upgrade-related questions is on SAP Service Marketplace Parameter and Configuration Changes Parameter and configuration changes in the maintenance process should be combined with the downtime of the functional deployment process. Changes to SAP profiles are handled by transaction RZ10. Dynamic switching SAP parameters do not require a system restart, but profile changes should be handled with care, and tested in advance, before changing a productive system. OS/DB migrations, HANA migrations, Unicode Conversions The Near Zero Downtime method (NZDT) was developed to reduce the planned downtime caused by SAP software updates or platform changes. This method is especially appropriate in large change events, such as Unicode conversions, migrations to SAP HANA or other OS/DB migrations. NZDT can also be used for classic upgrade projects and the installation of enhancement packages and support packages, if the downtimes achievable with the standards tools are not sufficient. Finally, you can use the NZDT method to bundle several maintenance activities, to fit them into one maintenance window, during which production availability is ensured, so core business processes are always available. However, customizing settings are significantly limited for a duration of up to approximately 14 days. For background information about the NZDT method, see the SAP Architecture blue book Near Zero Downtime - Reduction of Business Downtime, in the SAP Community Network (, using the search term Near Zero Downtime - Reduction of Business Downtime. Tools and methods to apply the NZDT method are only provided in the context of an SAP consulting or support engagement Recommendations for Dual-stack-based Systems As of SAP NetWeaver 7.0, including Enhancement Package 3 and SAP Business Suite 7i2011, which is based on SAP NetWeaver 7.0, including Enhancement Package 3, SAP dual-stack systems are no longer supported. As of SAP Business Suite 7i2011, it will no longer be possible to upgrade an SAP dual-stack system to a higher release. Split dual stack systems before the enhancement package deployment release upgrade. Downtime minimization of single stack systems is less complex and cost intensive, as some features of standard maintenance tools can be used, so split dual-stack systems, as described in SAP Note Use Cases for Splitting Dual-Stack Systems, and optimize the downtime of each single stack individually Recommendations for Databases Any DB Database Maintenance Database maintenance consists of several regular activities. They include database installation software updates or implementing database patches. Further database maintenance activities are: parameter adjustments, profile changes and configuration changes. Each database vendor offers different tools to administrate the database, and to implement patches or software updates. Database maintenance activities can be combined with SAP software maintenance in one major downtime, or scheduled as individual tasks with individual downtimes. SAP release upgrades or enhancement package implementations often required updates of the database software as well, because the latest SAP software versions are no longer released for older database versions. Detailed information about released combinations is in the Product Availability Matrix in SAP Service Marketplace. If possible, update the database in a separate time window, before the SAP software update. This separation allows you to optimize your SAP software update downtime. You may also benefit from new database feature that also speed up the SAP updates. Database Reorganizations Database reorganizations are traditionally made by writing the export dump files of the objects into one or more directories, or a dedicated tape device. The directories must be large enough for the objects to be 69

70 reorganized. The scripts, however, are always stored in the working directory on the hard disk. The export and import can be performed in parallel, by setting the degree of parallelism and the number of dump files. Reorganization of databases helps preventing fragmentation of data, and can improve performance and reduce unused database space. For large databases, reorganization can be scheduled after large archive runs or deletions. Several database products offer an online reorganization mode, which reorganizes database tables during production operation SAP HANA database Patches for SAP HANA database are delivered as revisions, which are implemented with the Software Update Manager (SUM) for HANA. Apply new revisions either in a complete support package stack update for the SAP HANA appliance, or if you experience a serious error that is fixed by this revision but not by the latest support package stack. The downtime for SAP HANA revisions is determined by HANA database startup time after deployment of the new revision. This startup time depends on the size of row-store tables that have to be reloaded to the database, and the hardware, so optimizing the downtime mainly requires careful management of the required row-store size, and optimal usage of the available hardware. 70

71 6.5 Outlook: Zero Downtime Responding to the continuously growing demands of system availability, SAP is developing a Zero Downtime Maintenance method (ZDM). ZDM method can be used for any major change event, allowing non-disruptive update of the SAP software stack. This includes EHP updates, support package stack implementations and implementation of custom code or configuration changes. In the standard upgrade procedure, the production system needs to be taken out of operation to finalize the upgrade downtime activities. The system is unavailable this is downtime from the perspective of end users. ZDM method uses a temporary system to continue operations during the downtime of the original system. Using the bridge system, users can continue to work on the system. The bridge system is connected to the data of the original system, so users continuously use the data in the original system, whether they are logged on to the original or the bridge system, so no clone is necessary. A schematic picture of ZDM is shown in the figure below: Figure 18: Zero Downtime Maintenance ZDM is an in-place method. It uses the technology which is also used by the current SUM tool. During the implementation of the new software, the core functions are running and are available to the users. During the bridge-phase (users work on the bridge system), some functions might be restricted, e.g. only available in read-only mode. ZDM will be available for most critical ABAP-based software components, including ECC. 71

General Principles of Software Validation; Final Guidance for Industry and FDA Staff

General Principles of Software Validation; Final Guidance for Industry and FDA Staff General Principles of Software Validation; Final Guidance for Industry and FDA Staff Document issued on: January 11, 2002 This document supersedes the draft document, "General Principles of Software Validation,

More information

Cover Oregon Website Implementation Assessment ASSESSMENT REPORT

Cover Oregon Website Implementation Assessment ASSESSMENT REPORT ASSESSMENT REPORT April 23, 2014 Document History This document is controlled through the Document Management Process. To verify that the document is the latest version, please contact the First Data team.

More information



More information

2008 by Bundesamt für Sicherheit in der Informationstechnik (BSI) Godesberger Allee 185-189, 53175 Bonn

2008 by Bundesamt für Sicherheit in der Informationstechnik (BSI) Godesberger Allee 185-189, 53175 Bonn 2008 by Bundesamt für Sicherheit in der Informationstechnik (BSI) Godesberger Allee 185-189, 53175 Bonn Contents Contents 1 Introduction 1.1 Version History 1.2 Objective 1.3 Target group 1.4 Application

More information

Making Smart IT Choices

Making Smart IT Choices Making Smart IT Choices Understanding Value and Risk in Government IT Investments Sharon S. Dawes Theresa A. Pardo Stephanie Simon Anthony M. Cresswell Mark F. LaVigne David F. Andersen Peter A. Bloniarz

More information

An architectural blueprint for autonomic computing.

An architectural blueprint for autonomic computing. Autonomic Computing White Paper An architectural blueprint for autonomic computing. June 2005 Third Edition Page 2 Contents 1. Introduction 3 Autonomic computing 4 Self-management attributes of system

More information

Planning an information systems project A TOOLKIT FOR PUBLIC HEALTH MANAGERS


More information

FEDERAL CLOUD COMPUTING STRATEGY. Vivek Kundra U.S. Chief Information Officer

FEDERAL CLOUD COMPUTING STRATEGY. Vivek Kundra U.S. Chief Information Officer FEDERAL CLOUD COMPUTING STRATEGY Vivek Kundra U.S. Chief Information Officer FEBRUARY 8, 2011 TABLE OF CONTENTS Executive Summary 1 I. Unleashing the Power of Cloud 5 1. Defining cloud computing 5 2.

More information

USE-CASE 2.0. The Guide to Succeeding with Use Cases. Ivar Jacobson Ian Spence Kurt Bittner. December 2011. USE-CASE 2.0 The Definitive Guide

USE-CASE 2.0. The Guide to Succeeding with Use Cases. Ivar Jacobson Ian Spence Kurt Bittner. December 2011. USE-CASE 2.0 The Definitive Guide USE-CASE 2.0 The Guide to Succeeding with Use Cases Ivar Jacobson Ian Spence Kurt Bittner December 2011 USE-CASE 2.0 The Definitive Guide About this Guide 3 How to read this Guide 3 What is Use-Case 2.0?

More information

Defining and Testing EMR Usability: Principles and Proposed Methods of EMR Usability Evaluation and Rating

Defining and Testing EMR Usability: Principles and Proposed Methods of EMR Usability Evaluation and Rating Defining and Testing EMR Usability: Principles and Proposed Methods of EMR Usability Evaluation and Rating HIMSS EHR Usability Task Force June 2009 CONTENTS EXECUTIVE SUMMARY... 1 INTRODUCTION... 2 WHAT

More information

A Rational Software Corporation White Paper

A Rational Software Corporation White Paper Rational Unified Process Best Practices for Software Development Teams A Rational Software Corporation White Paper Rational Unified Process Best Practices for Software Development Teams WHAT IS THE RATIONAL

More information

a GAO-04-394G GAO INFORMATION TECHNOLOGY INVESTMENT MANAGEMENT A Framework for Assessing and Improving Process Maturity Executive Guide

a GAO-04-394G GAO INFORMATION TECHNOLOGY INVESTMENT MANAGEMENT A Framework for Assessing and Improving Process Maturity Executive Guide GAO United States General Accounting Office Executive Guide March 2004 Version 1.1 INFORMATION TECHNOLOGY INVESTMENT MANAGEMENT A Framework for Assessing and Improving Process Maturity a GAO-04-394G March

More information

SIMATIC IT Production Suite V6.6

SIMATIC IT Production Suite V6.6 SIMATIC IT Production Suite V6.6 Functional Overview April 2013 Functional Overview SIMATIC IT Production Suite V6.6 April 2013 2 Contents Introduction... 6 MES and Production Modelling...

More information

IT service management and cloud computing.

IT service management and cloud computing. IT service management and cloud computing White Paper September 2014 Contents 1 Overview 3 2 What is ITIL? 3 3 What is cloud computing? 3 4 Why is cloud computing important? 4 5 Why is IT service

More information


25 POINT IMPLEMENTATION PLAN TO R EFOR M FEDER AL INFOR M ATION TECHNOLOGY M ANAGEMENT. Vivek Kundra U.S. Chief Information Officer 25 POINT IMPLEMENTATION PLAN TO R EFOR M FEDER AL INFOR M ATION TECHNOLOGY M ANAGEMENT Vivek Kundra U.S. Chief Information Officer D E C E M B E R 9, 2 0 10 Table of Contents Introduction...................................

More information

Practice Guide. Reliance by Internal Audit on Other Assurance Providers

Practice Guide. Reliance by Internal Audit on Other Assurance Providers Practice Guide Reliance by Internal Audit on Other Assurance Providers DECEMBER 2011 Table of Contents Executive Summary... 1 Introduction... 1 Principles for Relying on the Work of Internal or External

More information

CMMI for Development, Version 1.3

CMMI for Development, Version 1.3 CMMI for Development, Version 1.3 CMMI-DEV, V1.3 CMMI Product Team Improving processes for developing better products and services November 2010 TECHNICAL REPORT CMU/SEI-2010-TR-033 ESC-TR-2010-033 Software

More information


PLANNING ANALYSIS PLANNING ANALYSIS DESIGN PLANNING ANALYSIS Apply Requirements Analysis Technique (Business Process Automation, Business Process Improvement, or Business Process Reengineering) Use Requirements-Gathering Techniques (Interview,

More information

Guidance for working with other organisations

Guidance for working with other organisations Guidance for working with other organisations This document was made possible by the generous support of the American people through the United States Agency for International Development (USAID). The

More information

A practical guide to risk assessment*

A practical guide to risk assessment* A practical guide to risk assessment* How principles-based risk assessment enables organizations to take the right risks *connectedthinking pwc 0ii A practical guide to risk assessment Table of contents

More information

paper white The convergence of IT and Operational Technology Thought leadership from Atos Your business technologists.

paper white The convergence of IT and Operational Technology Thought leadership from Atos Your business technologists. November 2012 ascent Thought leadership from Atos white paper The convergence of IT and Operational Technology Your business technologists. Powering progress Operation Technology (OT) supports physical

More information

IP ASSETS MANAGEMENT SERIES. Successful Technology Licensing


More information

What s New in Oracle SOA Suite 12c O R A C L E W H I T E P A P E R J U L Y 2 0 1 4

What s New in Oracle SOA Suite 12c O R A C L E W H I T E P A P E R J U L Y 2 0 1 4 What s New in Oracle SOA Suite 12c O R A C L E W H I T E P A P E R J U L Y 2 0 1 4 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes

More information

Managing PPPs during their contract life. Guidance for sound management

Managing PPPs during their contract life. Guidance for sound management European PPP Expertise Centre European PPP Expertise Centre European PPP Expertise Centre European PPP Expertise Centre Guidance for sound management Managing PPPs during their contract life Guidance

More information



More information

fs viewpoint

fs viewpoint fs viewpoint 02 15 19 21 27 31 Point of view A deeper dive Competitive intelligence A framework for response How PwC can help Appendix Where have you been all my life? How the financial

More information

Roadmap for an IPO. A guide to going public

Roadmap for an IPO. A guide to going public Roadmap for an IPO A guide to going public Contents Introduction 2 01 The going-public decision 4 02 Preparing for a successful offering 13 03 Current regulatory and disclosures issues 26 04 The going

More information

Openness and Requirements: Opportunities and Tradeoffs in Software Ecosystems

Openness and Requirements: Opportunities and Tradeoffs in Software Ecosystems Openness and Requirements: Opportunities and Tradeoffs in Software Ecosystems Eric Knauss Department of Computer Science and Engineering Chalmers University of Gothenburg, Sweden

More information

Web Scale IT in the Enterprise

Web Scale IT in the Enterprise Web Scale IT in the Enterprise It all starts with the data Issue 1 2 Q&A With Claus Moldt, Former Global CIO for and David Roth, CEO of AppFirst 6 From the Gartner Files: Building a Modern

More information

Mary E. Galligan Kelly Rau

Mary E. Galligan Kelly Rau C o m m i t t e e o f S p o n s o r i n g O r g a n i z a t i o n s o f t h e T r e a d w a y C o m m i s s i o n G o v e r n a n c e a n d I n t e r n a l C o n t r o l C O S O I N T H E C Y B E R A G

More information