Application Portfolio Assessment This paper aims to discuss and briefly explain the benefits of Trinity’s Application Portfolio Assessment. Organizations today face a variety of challenges that lead them to assess and modernize their legacy and outdated applications. They may be forced into attempts at modernization due to old hardware losing vendor support that often fail, face increasing licensing costs and growing costs of maintaining and operating existing technologies, be impacted by the diminishing availability of human resources familiar with the legacy software application and impending technological obsolescence. Understanding these business reasons is critical for making use of the results of the Application Portfolio Assessment, and for identifying options for moving forward to create a roadmap and target environment. Many older legacy applications are inflexible and unable to adapt quickly enough to changing business conditions. Business users are dependent on the functional quality - how well is each application meeting the business needs for a particular business process. IT technical staff is concerned with how well each application meets expectations for technical standards and practices. Application Portfolio Assessment follows a disciplined, scientific process and emphasizes extracting the knowledge contained within legacy applications to develop a systematic plan for moving forward with your technology goals. Trinity’s core competencies are shown at the right; the first and most critical step is the Application Portfolio Assessment. Trinity is the recognized industry leader in Application Portfolio Assessment. The value elements of Application Portfolio Assessment are as follows: Provides the analytics and documentation necessary to develop a modernization strategy Proven process of scoping, discovery and analysis to optimize cost and timelines Evaluate and measure Critical to Quality elements Scalability, Availability, Reliability, Reusability, Extensibility, and Security Identify risks and complexity early in the process to rework All rights reserved © Trinity Millennium Group, Inc. www.tringroup.com Figure 1 – Trinity Core Competencies of Performance, Supportability, avoid delays and Page 1 iSAT™ Core deliverables generated from the Application Portfolio Assessment are delivered as the Interactive Software Analysis Tool (iSAT™). Fundamentally, the iSAT™ is an HTML webpage with links to libraries of key artifacts and various elements of information and/or images. The iSAT™ can be viewed with any regular web browser. Figure 2 – Interactive Software Analysis Tool Application Analytics Trinity’s Application Analytics is a powerful solution that delivers a comprehensive inventory of all applications in your IT portfolio. It provides a mutual understanding of size, technical make-up, and complexity of the applications - and reveals the breadth, depth and scope of modernization requirements. Application Scoping captures the volume of the base source code exactly as it was received from the client. Frequently, the client has a much larger code base than what they were aware of. The iSAT Delta Report is a detailed document showing changes in the code base, down to the character level, between two selected codebase versions (for example, codebases provided on different All rights reserved © Trinity Millennium Group, Inc. www.tringroup.com Page 2 dates). Depending on the goals of the client, Delta Reports can be used to enable clients to make any required modifications to a production codebase in order to avoid code freezes during Trinity analysis. Delta Reports are also helpful to legacy developers in identifying either intended or unintended changes present in the source code since the last code drop delivered to Trinity. Application Analytics determines the general character and culture of the application(s). The primary goals are to understand the size, complexity, and quality of the software application, with a view toward determining how best to move forward with this application. With this information possible risks are identified early in the process to avoid delays and rework when planning for a transformation or migration to COTS. Understanding the complexity of the code has a great impact whether there is a migration or not; key elements are measured in the Analytics phase with the goal of improving the ratings in the following Critical to Quality Dimensions: Scalability – The ability to support a certain number of simultaneous users and a growing database while continuing to meet performance expectations Availability – Operational accessibility of an application. No production system crashes/outages. Minimal downtime for maintenance Reliability – Integrity and consistency of application data and transactions. No lost or duplicated transactions Reusability – Code is completely or partially reusable in another system Supportability – Ease of repairing defects (average time to repair) Extensibility – Ease of providing new functionality or expanding existing functionality Performance – Average response time for a typical screen transaction or online report Security – Detection and prevention of unauthorized access (accidental or deliberate to programs or data. Change management tractability Application Analytics delivers several useful and meaningful artifacts. Some examples are the following: Verb Frequency Report - this is generated from ASTs originating from the source code and reflects how often a verb is used in the legacy source code. This information is pertinent, especially when there are external calls, links, transfer control, invokes and other verbs that join one module to another – showing that dependency. Also, the number of conditionals, such as If, When, Evaluate, Case, etc., indicate how many candidate rules exist in the code. These candidate rules can be processed to extract business rules, technical rules, data access objects, etc. All rights reserved © Trinity Millennium Group, Inc. www.tringroup.com Page 3 Complexity - The effort required to understand, evaluate and navigate a legacy application depends on more than just the size of the application (that is, more than just the number of lines of source code). The effort is also dependent on how complex and convoluted the code is. Trinity uses industry-standard methods to measure complexity of computer programs, including the Halstead complexity metric. Trinity looks for operators, operands, decision points, decision depth, # of unit test injection, and the level of effort to transform. Business Characterization - A printable document, the Business Characterization Report describes in detail the scope of the client source code base and provides an analysis of these categories: Overview of Applications, Business Drivers, Application Size, Program Statistics (number of internal calls, external calls, loops, go-to’s, classes, etc.), Organization of the code, Interfaces that exist within the application(s), Organization of databases, Complexity, Documentation levels, Databases and Tables, and Recommendations. The discovery of the interfaces and their description and architecture is a valuable part of this report. Business Alignment - The Business Alignment report identifies the entry points (online or batch) for Business Requirements, Business Functions and Business Activities. When these are identified, programs and jobs that are no longer in use can be removed from the repository to save costs. Trinity collaborates with the client to identify the Business Requirements (BRs) of the firm, those essential enterprise functions that the application must support. The Business Functions (BFs) and the Business Activities (BAs) of those requirements are captured and documented. A Business Alignment Document or BADOC is developed, depicting supporting code elements in outline form including “Entry Points” for each Business Function or Activity. The Topology process analyzes the IT Application and can be used to align code elements with the functional organizational departments that they support. The artifacts in Application Analytics provide the support needed to identify risks, prevent delays, reduce costs and define the roadmap for the client’s business needs. Application Forensics All rights reserved © Trinity Millennium Group, Inc. www.tringroup.com Page 4 Application Forensics identifies and extracts all essential or critical knowledge from the applications that support your business. It is important for the client to truly understand the culture and nature of the application legacy source code. The primary objective is to extract and capture critical knowledge contained within the source codebase in order to fully understand the source code, its core logic and to conduct detailed analysis. Application Forensics also reveals: Knowledge and Understanding of the complex business rules activities being performed by the legacy application code Legacy coding practices that restrict maintenance or enhancement. Development environment constraints that require specialized, expensive, and/or hard to find skill sets or licenses. Database access performance, flexibility, and cleanliness. Identification of various types of functionality - within the legacy software and the context of this approach, known as aspects. To identify all of the code within a program related to a given aspect, one must typically locate code based on several patterns. Each aspect normally has several associated slices, so an aspect can be regarded as a collection of slices. For example, error handling is one aspect. Several types of “slices” are necessary for identifying all of the various portions of code related to error handling in a given program. Application Forensics delivers the following artifacts, among others to assess the current state of the legacy application: Data Dictionary File Comparison Report Block Comparison Report CRUD Report Dead Code/JCL Report Application Overview Map (AOM) Flowcharts Business Rules Catalog (optional) The Application Forensics solution provides your business and technical staff valuable insight into application design flow and the use of business rules, All rights reserved © Trinity Millennium Group, Inc. www.tringroup.com Page 5 without interrupting focus on production support and ongoing development requirements. Conclusion The Application Portfolio Assessment provides a rapid, cost-effective, low-risk way to leverage the tremendous investment your legacy IT assets represent and report on those results. Document Contributors Laurie K. Wells (Author & Concept Graphics). Director, Analysis & Delivery, Trinity Millennium Group Inc. All rights reserved © Trinity Millennium Group, Inc. www.tringroup.com Page 6