Goals of managing change with Rational Asset Analyzer
Software maintenance is an organization's largest cost, typically up to 70% of the overall IT budget. In addition, maintenance introduces risk to existing, running applications and must be managed carefully to cause the least disruption in the software development life cycle. This article is Part 1 in a three-part series that describes how to manage changes in a typical maintenance scenario to achieve these goals:
- Shorten the maintenance cycle
- Reduce risk
- Ensure quality
Typical maintenance scenario
To demonstrate the value of automated capabilities provided by IBM® Rational® Asset Analyzer and Rational Asset Analyzer for System z, we examine a typical maintenance scenario and describe a set of best practices for using this software to understand those changes and mitigate risk. These practices are supported by capabilities included in Rational Asset Analyzer that might not be obvious to someone inexperienced in using this software.
The scenario is based on the concept of annual change projects, which are part of a software maintenance life cycle that is common in many large mainframe-based development environments. These change projects often involve updates to data characteristics, so they require changes to software across the portfolio, from IBM® DB2® column definitions to data elements in code, and through data sets that represent input and output of data. These change projects must be evaluated before proceeding with any development. At a high level, the analyst proposing the change must:
- Estimate the project scope and cost
- Develop a plan to make the change to existing software
- Develop a test plan to validate the quality and functionality of the change
- Identify developers involved in making the change
- Enable developers to make the change
In the absence of automation tools, the analysis of any change request is typically performed manually. On IBM® z/OS® systems, scans of the code through traditional means -- such as scans of the source code management [SCM] library or data sets, or IBM® Interactive System Productivity Facility (ISPF) -- searches are performed to find programs that contain data elements or fields that match specific names or name patterns. The resulting programs are then analyzed manually to identify relationships in the forms of references, declarations, or use between data elements and other programmatic constructs. We refer to this final set of programs as the potentially impacted assets. The process of coming up with this initial set can take a weeks or longer. Additional time is then required for individual owners of those programs to determine:
- Whether a required change impacts other assets, such as IBM® CICS® or IBM® IMS™ transactions or entry fields on screens
- Whether a program is obsolete in the software system
- How to proceed to implement and test the change
About this series
To enable the maintenance scenario, this series of articles demonstrates the following capabilities, using Rational Asset Analyzer. The series includes these three parts:
- Part 1. Identify assets for change
- Part 2. Perform change impact analysis to manage scope and risk
- Part 3. Customize and aggregate impact analysis results
Although change can encompass many different aspects of an application, including changes to interfaces, input and output, or interactions with subsystems, such as CICS or IMS, the most common changes require updates to data. This series of articles focuses on changes to data definitions and data characteristics, but the concepts can be applied more broadly to other application components. These articles also focus on mainframe-based applications: COBOL programs and copybooks, IBM® DB2® data definitions, and CICS applications.
We use this terminology throughout all three parts of this series.
- Data element
- A data element asset managed by Rational Asset Analyzer is an instance of some
representation of data within the context of a Program. Every program stores its instance
of a particular memory location, or a map, of what is being declared in the program. This
location is named by the data element. A data element is not necessarily the definition of
For example, a Copybook ABC has a definition of a field, ABC. That definition is used within two programs (Program 1 and Program 2), each of which has data elements named ABC. There are two data elements created in Rational Asset Analyzer: ABC for Program 1 and ABC for Program 2. They are identified as being defined in Copybook ABC. One symbol is created in Rational Asset Analyzer for ABC. Figure 1 shows a simplified view of this.
- Symbols represent more closely what users might think of as data elements, in the
sense that they can name the data definition on which multiple data element instances in
programs are based. The relationship between a symbol and a data element is 1-M; many data
elements with the same name point to a single symbol.
This nuance can be seen in Rational Asset Analyzer from the Symbol details page, which displays a symbol along with the data elements and DB2 columns, as well as other assets that map to the specific instance of a symbol. Figure 2 shows an example of a single symbol that maps to multiple data elements.
- A seed is a starting point for change impact analysis. Rational Asset Analyzer starts from
the specified seed, which in this series of articles is a specific data element or DB2
column. It then follows relationships emanating from that seed through control flow, data
flow, and input/output flows to create a list of assets that are potentially impacted by a
change to the seed asset. This list does not represent what will be impacted by a
change, but rather what could be impacted, based on the kind of change made,
where the change is made in the application, and so forth.
- Change impact analysis
- In the general sense, this is the entire set of steps involved in analyzing the impact of
a change. In Rational Asset Analyzer, this involves various aspects of the functionality:
- Impact analysis
- Custom queries
The point is that change impact analysis should be distinguished from the specific Rational Asset Analyzer Impact Analysis function, which is only one component or step in the overall change impact analysis process.
This is perhaps the most critical and the most difficult step in the change analysis process. Unless you can clearly identify the assets that are the focus of a change request, your analysis results will be less useful in managing scope and risk. It requires some level of knowledge about the applications being analyzed and a methodical approach to identifying the set of assets that must be explored. We start with two assumptions:
- You have "subject matter expert" who knows some of the characteristics of the applications
to be analyzed and the data requiring changes. These characteristics might include:
- Name or name pattern
- Physical length
- Logical length
- Initialization value
- Data elements and columns are the focus for this scenario, although there are other assets that might be the focus for change projects.
The first step in identifying the set of data that is subject to changes is to use the Rational Asset Analyzer search capabilities. Examples included here are based on the Installation Verification data included in Rational Asset Analyzer and based on the assumption that data has already been added to the Rational Asset Analyzer inventory.
Searching with a name pattern
It is useful to understand any naming conventions or best practices in place in the environment and to rely on those in starting your search. When you know a naming pattern to search on, you can use Rational Asset Analyzer to perform those searches:
- Launch Rational Asset Analyzer in your browser either by selecting Start > All Programs > IBM Rational Asset Analyzer > IBM Rational Asset Analyzer V6.0 > IBM Rational Asset Analyzer or by entering the URL. The home page is displayed in your browser.
- Select Explore > MVS assets to go to the MVS Assets count page (see Figure 3).
- On the Explore MVS assets count page, perform a search using
*PART?NO*as the search pattern by entering that search pattern in the Search MVS asset names entry field (Figure 4), and then clicking Go.
The count of assets matching this name pattern is displayed for each asset type.
- Click on the count (results) for Data elements (Figure 5) to go to the "Data element summary" page (Figure 6).
- The "Data element summary" page displays the set of data elements that match the name search pattern. Bookmark this page for later access by using the Actions drop-down menu and selecting Bookmark this page.
- Enter a name and details for the bookmark in the Bookmark dialog window (Figure 7) to create a bookmark that references these data element search results.
- Return to the MVS asset count page with the search results, and repeat this process for the matching DB2 columns.
You have performed a search using a name pattern and bookmarked search results for both data elements and DB2 columns.
Searching by name and data characteristics
In the absence of a rigorous naming scheme, or to refine your search further, you can search based on data characteristics, as well. In this next exercise, you refine your search to include data characteristics.
- On the Explore MVS assets count page, select the count (total) for data elements to go to the Data element summary page shown in Figure 8.
- Enter the search pattern from the previous exercise,
*PART?NO*, in the Search data element name entry field.
- Click the Advanced search hyperlink to expand the set of search criteria.
- Select CHAR – Alphanumeric Data Elements for data type,
4for the Physical length, and click Go.
The results for data elements that match the search name and are of CHAR type with length 4 are displayed.
- Bookmark this page for later by using the Actions drop-down menu and selecting Bookmark this page:
- Enter a name and details for the bookmark in the Bookmark wizard.
You have performed a search using a name pattern, as well as data characteristics, and bookmarked search results for data elements.
Other actions on data elements and columns
After you have established a starting point for your analysis, you can proceed to explore the details about those assets. From your search results, you can click on the asset name and look at a variety of information on that asset's details page. For example, on the Data element details page:
- You can use the View other same name definitions action to see other data definitions of the same name.
- If the data element declaration is in a copybook, you can view all source programs that include this same copybook with this data definition.
For DB2 columns, you can:
- See data elements modified by this column
- See data elements that modify this column
As a result of this step and the included exercises, you now have a better understanding of the data that you will be using for change impact analysis. You also have a list of data elements and DB2 columns for the next step. By bookmarking the search results, you can easily return to them later, as can anyone with access to this Rational Asset Analyzer instance.
- Explore the Rational Asset Analyzer page on developerWorks, and learn more about its features and benefits.
- Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, any time, and many of the "Getting Started" ones are free.
Get products and technologies
- Download a free trial version of Rational Asset Analyzer.
- Evaluate other IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Join the Rational Asset Analyzer forum to ask questions and participate in discussions.
- Rate or review Rational software. It's quick and easy. Really.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.
- Get social about thought leadership. Join the Rational community to share your Rational software expertise and get connected with your peers.