Compuware Product Managers Jim Liebert and Mark Schettenhelm discuss how much easier working with complex and unfamiliar programs and data is when developers can see how the code and data fit together. Compuware Topaz makes this possible by providing instant visualizations of programs and data relationships across the enterprise, empowering even mainframe-inexperienced developers to improve application quality and speed of delivery.
What is a Picture Worth? Using Visualizations to Understand Your Applications
1. 1
What is a Picture Worth?
Using Visualizations to Understand Your Applications
Jim Liebert, Product Manager
Mark Schettenhelm, Product Manager
May 21, 2015
5. 5
*****************************************************************
* EDIT THE OPERATOR ENTERED MENU SELECTION *
*****************************************************************
PERFORM P03300-EDIT-SELECTION
THRU P03300-EDIT-SELECTION-EXIT.
IF ERROR-FOUND
GO TO P03100-EDIT-SCREEN-EXIT.
*****************************************************************
* IF NO ERRORS -- DETERMINE NEXT PROGRAM TO SCHEDULE BASED *
* ON THE MENU SELECTION *
*****************************************************************
IF SELECTION-IS-DATA-REFRESH
IF PC-CONFIRM = '7'
MOVE 'PDA013' TO PC-NEXT-PGRMID
ELSE
MOVE '7' TO PC-CONFIRM
MOVE -1 TO MENUSELL
MOVE SPACES TO MENUSELO
MOVE PM036-CONFIRM-REFRESH
TO PDAMSGO
END-IF
GO TO P03100-EDIT-SCREEN-EXIT
END-IF.
MOVE SPACES TO PC-CONFIRM.
IF SELECTION-IS-USER-ID-UTILITY
PERFORM P04000-USERID-UTIL
THRU P04000-USERID-UTIL-EXIT.
IF SELECTION-IS-SCENARIO-SELECT
MOVE 'PDA024' TO PC-NEXT-PGRMID
PERFORM P80300-XFER-CONTROL
THRU P80300-XFER-CONTROL-EXIT.
P03100-EDIT-SCREEN-EXIT.
EXIT.
EJECT
The same
is true for
mainframe
programs
and data.
Would
a picture
help you
understand
this?
6. 6
70%
of CIOs are
concerned
that lack of
mainframe
documentation
will hinder
knowledge
transfer and
create risk
2015 Vanson Bourne CIO Survey
7. 7
As a programmer or analyst, you need to
Produce:
• Change estimates
• Change specifications
Produce them:
• Quickly
• Accurately
Then…
• Change code
• Minimize increases in complexity
• Ensure that changes work
• Improve quality
But you are unfamiliar with the code and the platform!
9. 9
Digital Economy
Requirements
• Increased innovation velocity
and optimized performance
• Mobile, analytics, social, cloud
and Internet of Things
driving increased mainframe
demand
• Meet “Age of the Customer”
expectations
10. 10
But the Workforce
is Changing
• New workers are bringing new
expectations
• Shorter development cycles for
continuous delivery
• Need to safeguard the business
logic coded into your applications
Digital Economy
Requirements
• Increased innovation velocity
and optimized performance
• Mobile, analytics, social, cloud
and Internet of Things
driving increased mainframe
demand
• Meet “Age of the Customer”
expectations
12. 12
What Does a Solution Need to Provide?
Application Understanding
• Visualize your application portfolio
and how it’s utilized
• Understand application logic, data
and relationships
Elegant Simplicity in
Design and Usability
• Empower emerging workforce through
collaboration and communication
• Enable collaboration across platforms
and across Dev and Ops
Enable mainframe agility without compromising the virtues of the platform
13. 13
Introducing Topaz
Program Analysis
• Understand complex and
unfamiliar programs faster
Enterprise Data
• Discover, visualize and work
with both mainframe and
non-mainframe data in a
common, intuitive manner
Modern Interface
• IDE for essential mainframe
software development activities
19. 19
Benefits of Program Analysis
• Understand complex and
unfamiliar programs faster
• Improve application quality
and speed of delivery
20. 20
Benefits of Program Analysis
• Understand complex and
unfamiliar programs faster
• Improve application quality
and speed of delivery
• Maintain unfamiliar code
with confidence
21. 21
Benefits of Program Analysis
• Understand complex and
unfamiliar programs faster
• Improve application quality
and speed of delivery
• Maintain unfamiliar code
with confidence
• Transition next-generation to
unfamiliar platform and programs
30. 30
Benefits of Enterprise Data
• Understand complex
data relationships
• Improve test data quality
and speed of delivery
31. 31
Benefits of Enterprise Data
• Understand complex
data relationships
• Improve test data quality
and speed of delivery
• Create test data
with confidence
32. 32
Benefits of Enterprise Data
• Understand complex
data relationships
• Improve test data quality
and speed of delivery
• Create test data
with confidence
• Transition next-generation
to unfamiliar platform and data
Have you ever tried to build a piece of IKEA furniture?
It may look easy, but it’s really not.
Sometimes you are missing a piece and don’t realize it until you’re finished.
Other times there are too many parts and pieces to determine where things go and which piece fits with what. How do you even know where to start?
Those of you who have tried to build a piece of IKEA furniture know that it can be very overwhelming.
Having the instructions and a photo of the finished product helps you better understand how the furniture is put together; allows you to be more successful when you work with the individual pieces.
Having a photo of the finished product is also helpful for mainframe programmers, especially with all of the complexity inherent in mainframe programs and the new expectations and demands that are placed on them.
Imagine this:
You walk into your first day at a new job and you are shown 10,000 lines of code.
You’re asked to produce change specifications and estimates; implement changes quickly while reducing complexity and improving the quality of the code
The code is incredibly complex and you’ve never seen, let alone worked on, a mainframe before.
Plus, these programs don’t have any documentation and have been developed over 20, 30 or even 40 years.
All of the experience colleagues at your company have retired.
If you aren’t well-versed in the application or platform, this can be a very time-consuming task or lead to inaccurate estimates.
So you’ve inherited these programs and are expected to make them work, but you don’t understand how they are built.
This can be very daunting and overwhelming.
What do you do?
Now, as you take a look at these five value attributes, the last step of the whiteboard session that you want to conduct with a customer is to basically be able to cut this into two halves. And these two halves focus on what we call Value Today and what we call Essential Tomorrow.
The reason why we want to cut this picture in half is because when product management comes in to do a roadmap session with the customer, that roadmap will be broken up into a Value Today segment as well an Essential Tomorrow segment. So by conducting this whiteboard session what you’re going to do is draw a connection between the Mainframe Manifesto to the agreement on behalf of that customer to schedule and arrange a product roadmap session for us. The way you’ll make that connect is through these five value attributes for which product management will actually bring those to life as they actually go through our roadmap which scales the next 18 months.
Now, as you take a look at these five value attributes, the last step of the whiteboard session that you want to conduct with a customer is to basically be able to cut this into two halves. And these two halves focus on what we call Value Today and what we call Essential Tomorrow.
The reason why we want to cut this picture in half is because when product management comes in to do a roadmap session with the customer, that roadmap will be broken up into a Value Today segment as well an Essential Tomorrow segment. So by conducting this whiteboard session what you’re going to do is draw a connection between the Mainframe Manifesto to the agreement on behalf of that customer to schedule and arrange a product roadmap session for us. The way you’ll make that connect is through these five value attributes for which product management will actually bring those to life as they actually go through our roadmap which scales the next 18 months.
Speaking Points:
We are focused on 5 core attributes which drive our product strategy:
Application Understanding: which includes things like object visualization and the understanding of your application logic and how that applies to data relationship across your enterprise – a Data GPS if you will to view and understand where data goes to and comes from
IP Advancement: the investment you’ve made in Cobol, our support of Cobol 5.1 and enabling those Cobol calls into web services to be available for digital reuse so they are available in digital/mobile application – extending your current application to the new digital economy
IP Preservation: Continue to invest and protect your current IP portfolio. Things like inventory control logistics, inventory systems, core banking applications we will continue to keep costs down to preserve that investment
Cost/Performance Optimization: Maximizing the performance and the cost of the platform through methods to exploit the platform via specialty engines and reducing costs on workload placement for your 4 hour rolling averages. Enabling our technology with smart metrics that can measure your success in achieving your 4 hour rolling average goals.
Usability: Continue to innovate to help you manage the new demographics, skills, expertise and interests of your workforce. Today it may be eclipse, tomorrow it may be Siri….and then virtual reality…this allows you to unify people, systems of record, and overall enterprise business
Luckily for you, with the introduction of Topaz, Compuware provides a modern tool enabling analysts, programmers and testers to maintain and enhance applications on the mainframe as well as handle data across multiple platforms.
With Topaz it is not important to know the mainframe interface, just how to code and test.
This allows those working on the mainframe to work in an environment that is more familiar and comfortable to them.
Topaz allows you to:
Understand complex and unfamiliar programs faster
Don’t have to read through comments or outdated documentation
Don’t need to rely on experts who may no longer be available (retirement)
Can visually see how programs are designed and the application logic and dependencies that are inherent in the code
Ease the next-generation’s transition to the platform
Improve understanding of highly complex applications quickly and in an intuitive way
Provide elegant simplicity in design and usability
Give them programs that look and feel like the ones they are used to
Improve application quality and speed of delivery
Produce better change specifications
Speed up actual time to change programs
Maintain unfamiliar code with confidence
Topaz provides current information on a program that is updated based on changes made to the code
Extend each program’s value to the company
Further leverage mainframe assets
Easily identify and remove code flaws and dead code
Improve code reviews
Instantly see the impact your changes make on the program
Creating current documentation for other developers to take over seamlessly as needed
Topaz allows you to:
Understand complex and unfamiliar programs faster
Don’t have to read through comments or outdated documentation
Don’t need to rely on experts who may no longer be available (retirement)
Can visually see how programs are designed and the application logic and dependencies that are inherent in the code
Ease the next-generation’s transition to the platform
Improve understanding of highly complex applications quickly and in an intuitive way
Provide elegant simplicity in design and usability
Give them programs that look and feel like the ones they are used to
Improve application quality and speed of delivery
Produce better change specifications
Speed up actual time to change programs
Maintain unfamiliar code with confidence
Topaz provides current information on a program that is updated based on changes made to the code
Extend each program’s value to the company
Further leverage mainframe assets
Easily identify and remove code flaws and dead code
Improve code reviews
Instantly see the impact your changes make on the program
Creating current documentation for other developers to take over seamlessly as needed
Topaz allows you to:
Understand complex and unfamiliar programs faster
Don’t have to read through comments or outdated documentation
Don’t need to rely on experts who may no longer be available (retirement)
Can visually see how programs are designed and the application logic and dependencies that are inherent in the code
Ease the next-generation’s transition to the platform
Improve understanding of highly complex applications quickly and in an intuitive way
Provide elegant simplicity in design and usability
Give them programs that look and feel like the ones they are used to
Improve application quality and speed of delivery
Produce better change specifications
Speed up actual time to change programs
Maintain unfamiliar code with confidence
Topaz provides current information on a program that is updated based on changes made to the code
Extend each program’s value to the company
Further leverage mainframe assets
Easily identify and remove code flaws and dead code
Improve code reviews
Instantly see the impact your changes make on the program
Creating current documentation for other developers to take over seamlessly as needed
Topaz allows you to:
Understand complex and unfamiliar programs faster
Don’t have to read through comments or outdated documentation
Don’t need to rely on experts who may no longer be available (retirement)
Can visually see how programs are designed and the application logic and dependencies that are inherent in the code
Ease the next-generation’s transition to the platform
Improve understanding of highly complex applications quickly and in an intuitive way
Provide elegant simplicity in design and usability
Give them programs that look and feel like the ones they are used to
Improve application quality and speed of delivery
Produce better change specifications
Speed up actual time to change programs
Maintain unfamiliar code with confidence
Topaz provides current information on a program that is updated based on changes made to the code
Extend each program’s value to the company
Further leverage mainframe assets
Easily identify and remove code flaws and dead code
Improve code reviews
Instantly see the impact your changes make on the program
Creating current documentation for other developers to take over seamlessly as needed
So now that I’ve gone through my program to make changes, I need to test it.
To do so, you need to work with the data that drives the programs you manage.
But how do I know which data I need to test?
Topaz Enterprise Data allows you to visualize the relationships between data elements in your programs, allowing you to isolate and use the data you need for testing, without everything you don’t.
Imagine this:
You walk into your first day at a new job and you are shown 10,000 lines of code.
You’re asked to produce change specifications and estimates; implement changes quickly while reducing complexity and improving the quality of the code
The code is incredibly complex and you’ve never seen, let alone worked on, a mainframe before.
Plus, these programs don’t have any documentation and have been developed over 20, 30 or even 40 years.
All of the experience colleagues at your company have retired.
If you aren’t well-versed in the application or platform, this can be a very time-consuming task or lead to inaccurate estimates.
So you’ve inherited these programs and are expected to make them work, but you don’t understand how they are built.
This can be very daunting and overwhelming.
What do you do?
Imagine this:
You walk into your first day at a new job and you are shown 10,000 lines of code.
You’re asked to produce change specifications and estimates; implement changes quickly while reducing complexity and improving the quality of the code
The code is incredibly complex and you’ve never seen, let alone worked on, a mainframe before.
Plus, these programs don’t have any documentation and have been developed over 20, 30 or even 40 years.
All of the experience colleagues at your company have retired.
If you aren’t well-versed in the application or platform, this can be a very time-consuming task or lead to inaccurate estimates.
So you’ve inherited these programs and are expected to make them work, but you don’t understand how they are built.
This can be very daunting and overwhelming.
What do you do?
Imagine this:
You walk into your first day at a new job and you are shown 10,000 lines of code.
You’re asked to produce change specifications and estimates; implement changes quickly while reducing complexity and improving the quality of the code
The code is incredibly complex and you’ve never seen, let alone worked on, a mainframe before.
Plus, these programs don’t have any documentation and have been developed over 20, 30 or even 40 years.
All of the experience colleagues at your company have retired.
If you aren’t well-versed in the application or platform, this can be a very time-consuming task or lead to inaccurate estimates.
So you’ve inherited these programs and are expected to make them work, but you don’t understand how they are built.
This can be very daunting and overwhelming.
What do you do?
Imagine this:
You walk into your first day at a new job and you are shown 10,000 lines of code.
You’re asked to produce change specifications and estimates; implement changes quickly while reducing complexity and improving the quality of the code
The code is incredibly complex and you’ve never seen, let alone worked on, a mainframe before.
Plus, these programs don’t have any documentation and have been developed over 20, 30 or even 40 years.
All of the experience colleagues at your company have retired.
If you aren’t well-versed in the application or platform, this can be a very time-consuming task or lead to inaccurate estimates.
So you’ve inherited these programs and are expected to make them work, but you don’t understand how they are built.
This can be very daunting and overwhelming.
What do you do?
Imagine this:
You walk into your first day at a new job and you are shown 10,000 lines of code.
You’re asked to produce change specifications and estimates; implement changes quickly while reducing complexity and improving the quality of the code
The code is incredibly complex and you’ve never seen, let alone worked on, a mainframe before.
Plus, these programs don’t have any documentation and have been developed over 20, 30 or even 40 years.
All of the experience colleagues at your company have retired.
If you aren’t well-versed in the application or platform, this can be a very time-consuming task or lead to inaccurate estimates.
So you’ve inherited these programs and are expected to make them work, but you don’t understand how they are built.
This can be very daunting and overwhelming.
What do you do?
Imagine this:
You walk into your first day at a new job and you are shown 10,000 lines of code.
You’re asked to produce change specifications and estimates; implement changes quickly while reducing complexity and improving the quality of the code
The code is incredibly complex and you’ve never seen, let alone worked on, a mainframe before.
Plus, these programs don’t have any documentation and have been developed over 20, 30 or even 40 years.
All of the experience colleagues at your company have retired.
If you aren’t well-versed in the application or platform, this can be a very time-consuming task or lead to inaccurate estimates.
So you’ve inherited these programs and are expected to make them work, but you don’t understand how they are built.
This can be very daunting and overwhelming.
What do you do?
Improve code quality
Better testing scenarios
Simplify task of creating complete data extracts for testing purposes
Accurately identify impact of changing a piece of data
Reduce project timelines
Realize greater productivity from developers and testers who are now autonomous
Leverage data for strategic projects
Big Data
Other analytics projects
Less distractions for mainframe-skilled staff
Improve code quality
Better testing scenarios
Simplify task of creating complete data extracts for testing purposes
Accurately identify impact of changing a piece of data
Reduce project timelines
Realize greater productivity from developers and testers who are now autonomous
Leverage data for strategic projects
Big Data
Other analytics projects
Less distractions for mainframe-skilled staff
Improve code quality
Better testing scenarios
Simplify task of creating complete data extracts for testing purposes
Accurately identify impact of changing a piece of data
Reduce project timelines
Realize greater productivity from developers and testers who are now autonomous
Leverage data for strategic projects
Big Data
Other analytics projects
Less distractions for mainframe-skilled staff
Improve code quality
Better testing scenarios
Simplify task of creating complete data extracts for testing purposes
Accurately identify impact of changing a piece of data
Reduce project timelines
Realize greater productivity from developers and testers who are now autonomous
Leverage data for strategic projects
Big Data
Other analytics projects
Less distractions for mainframe-skilled staff
Photos provide a good roadmap for how to accomplish the things that we need to complete. Whether it be a complex mainframe program or a chair from IKEA.