Application Transformation

Size: px
Start display at page:

Download "Application Transformation"

Transcription

1 White Paper Application Transformation Custom Applications From Chaos to Harmony

2 TABLE OF CONTENTS Abstract 3 Managing Your Custom Applications 4 Step 1: Taking Control of Application Inventory and Business Owner Identification 5 Step 2: Knowledge Transition (KT) 5 Step 3: Continuous Improvement 6 Step 4: Managing Complexity 7 8 Case Study Shared Responsibility 10 Conclusion 11

3 Application Transformation Custom Applications From Chaos to Harmony Problems Associated with Custom Applications Managing custom applications such as web applications, mobile applications, and custom EDI web services is very complex. Typically these applications are custom built on different platforms and use a variety of programming languages. In many instances there is limited or no functional or technical documentation. Maintenance of these applications can be very complex and expensive. Custom applications may have been inherited from mergers and acquisitions; some may have been developed in old programming languages or on outdated platforms. Staff attrition may mean that an application s original programmer may no longer be with the organization and constantly evolving technology can create a chaotic situation for IT departments. Managing this variety of custom applications can be difficult for IT departments. Most IT organizations are responsible for at least an enterprise resource planning (ERP) system, some kind of customer relationship management (CRM) system, data centers and a network infrastructure. Most of the IT department s focus and resources are spent managing these systems and often they are outsourced to managed services providers. Custom applications are often overlooked even when many of them are customer centric and have an impact on the organization s revenue. This white paper describes how organizations can manage and support their home grown, custom applications. Custom applications are often overlooked even when many of them are customer centric and have an impact on the organization s revenue. Page 3

4 Managing Your Custom Applications Enterprises of every size need custom applications to meet their business needs. However, developing and managing custom applications has traditionally been expensive and time consuming due to the complexity of the underlying platforms and the programming skills needed. The following key steps can help you evaluate your approach to custom application management, drive significant cost reductions and improve your IT performance: Taking Control of Application Inventory and Business Owner Identification Knowledge Transition (KT) Continuous Improvement Managing Complexity Taking Control of Application Inventory and Business Owner Identification Knowledge Transition (KT) Continuous Improvement Managing Complexity Evaluate your approach to custom application management, drive significant cost reductions and improve your IT performance. Page 4

5 Step 1: Take Control Application Inventory and Business Owner Identification When there are multiple applications used by different departments across the organization it is important to have a high level understanding of each application, where it resides, who are the users, and who are the business owners. It s also vital to know the purpose of the application, safely store the application source code, and ensure that application platforms, databases and dependencies are understood. At a minimum an application inventory should include: Application name and brief description Application location Development, testing and production instances including Physical/Virtual server hardware, OS, base version etc. base location Development, testing and production instances Business owner and business users or groups Importance of the application to the operation of the organization Source code location Technology Platform e.g..net 3.5, SQL Server 2008 It is important to have a high level understanding of each application, where it resides, who are the users, and who are the business owners. Step 2: Knowledge Transition (KT) To effectively manage an application it s important to understand the function of the application and how it performs that function. When applications are inherited from acquisitions, or the application architects and developers who created an application are no longer with the organization application knowledge and expertise is often unavailable. This can be acceptable if the application continues to work but if it fails, or if business processes change and application modifications are required, then the organization s scarce IT resources have to scramble to make those changes. This situation is unsatisfactory and unsustainable especially when multiple applications are impacted or require changes to support evolving business needs. What s needed is an inventory that identifies existing documentation and highlights any gaps. Then additional documents can be created. A typical documentation review identifies for each application: The application architecture Application logic Source code Page 5

6 bases Stored procedures Exception handling Logging Third party tools that are used Physical infrastructure requirements for applications Authentication and authorization Security & compliance Knowledge transfer documentation should include brief user documentation, functional specifications and detailed technical specifications for each application. These detailed documents are extremely important for custom applications because they reduce the dependency on individual system architects and programmers and enable employee transitions without impacting application support. They also enable proactive application maintenance and help to avoid reactive application problem resolution. What s needed is an inventory that identifies existing documentation and highlights any gaps Knowledge transfer documentation should include brief user documentation, functional specifications and detailed technical specifications for each application. Step 3: Continuous Improvement Once the basic application documentation is in place applications can be improved by following industry best practices, including: Page 6 Design reviews, Code reviews, Code optimization, Implementing design patterns, Application blocks, Query optimization, Exception handling Implementing redundancy

7 Even though it s important to provide quick resolutions to any problems that arise, your goal is to address root causes and prevent reoccurrence of these issues. By working with cross functional teams including Infrastructure, Network and base administrators you can implement web farms, application server clustering and database clusters to ensure continuous availability and load balancing for optimum performance. Look for opportunities to consolidate applications especially after a company merger or acquisition. Following an acquisition ERP, CRM and Content Management Systems (CMS) are usually consolidated but custom applications are often left alone resulting in a continuing maintenance burden. Another important factor when developing or improving custom applications is user empowerment. If an application has any IT dependent activities they should be eliminated. For example if an application requires IT to populate a database with orderable part numbers when a new product is released, an alternative approach should be found. An application portal should enable users to be self-sufficient so they can perform various administrative tasks themselves without having to rely on IT. An application portal should enable users to be self-sufficient so they can perform various administrative tasks themselves without having to rely on IT. Step 4: Managing Complexity Custom applications offer a wide variety of platform, technology and programming language choices. Unfortunately in a large IT organization this results in fragmented, inconsistent applications built to serve the needs of a specific user group or customer. The following case study illustrates the resulting complexity. Page 7

8 Case Study: An organization had grown into a multinational computer software company mainly through a series of mergers and acquisitions. Naturally acquisition decisions were made based on product portfolios and growth prospects and not based on IT applications used by the target companies. Following the acquisitions the primary focus of the IT department was on consolidating ERP and CRM systems into one enterprise wide system. However, these mergers and acquisitions resulted in many custom applications quite a few of which were designed to serve the same purpose e.g. Customer registration. The following diagram shows a very high level abstract of the organization's application footprint. Managed Applications Internet Applications Intranet custom Applications Marketing Engineering Finance/Operations Forecasting Product Administration Invoicing Campaigns Product Testing Portal Administration Orders Product Maintenance Professional Tech support Customer Support Others Technical Customer Reporting Tech support Tools Customer Support Tools Employee Portal CRM Integration Tech Support CRM Integration Training Web /Interfaces Customer Applications External content repository Partner Applications Localized Applications Developer Network Custom Portals Document Repository Customer Portal SQL Server bases Intranet Web DMZ Web Custom Interfaces Windows ETL, SQL Server Integration and Reporting Enterprise Applications SFDC Page 8 Orace E-Business Suite Oracle CRM SharePoint

9 Apps Associates completed a comprehensive application inventory and found that some of these applications were very simple just one page forms allowing users to enter data and upload documents but a few applications were very complex deeply integrated with the company s ERP system and dependent on third party data feeds (EDI), or CRM systems. These applications were developed to meet the needs of a broad group of internal and external users including customers, marketing, finance and customer support. Some of these applications were critical for the business to function and application availability was absolutely essential. Different technology and programming languages included: ASP.Net with C# 1.1., 2.0, 3.5 ASP.Net with VB.NET 2.0 MVC Classic ASP with VB Scripts HTML, CSS, JavaScript PHP, Joomla Microsoft SQL Server 2000, 2005, 2008 IIS Server Administration/Application deployment Perl Scripts PL/SQL Oracle E-Business Suite Integration ETL with SQL DTS and SSIS Visual Studio 2005, 2008, 2010 JAVA SOAP Web Then we worked with our client to rationalize the applications that we d identified. A few applications were very complex deeply integrated with the company s ERP system and dependent on third party data feeds (EDI), or CRM systems. These applications were developed to meet the needs of a broad group of internal and external users including customers, marketing, finance and customer support. Page 9

10 Shared Responsibility We worked within our client s change management and compliance process for all support and development activities. The following diagram illustrates the governance process for application enhancement and development. Apps Associates typical Governance Process for Web Apps Development Client Team User enters a new enhancement ticket OR the support ticket is changed into an enhancement ticket PM / Release PM will assign the BA Good in QA?? Development Manager will assign the Tech Lead BA/Users Validate the test cases in QA and Approval of test cases in QA BA works with the users for requirement and Ticket Assigned prepares the functional Spec and gets the approval also YES Approval of test cases CCB reviews the production ready tickets and approves Tech Lead deploys to Staging Tech lead Deploys in PROD User approves to close the ticket. Tech Lead changes the status to COMPLETED BA/PM Create the CM Ticket Apps Onsite Work with the Tech Lead and development manager for design approval and code reviews Title Apps Lead responsible for technical design and assign development tasks to the Apps resource Unit Testing, Internal Code Reviews Clarifications NO Ticketying System Closes ticket in 48 hours Leads will review before the documentation goes to BA No problems in validation Apps Offshore Testing by Apps leads Resource will work with Apps Lead/ any clarifications Develop, Unit test the Fix in DEV instance Documentation Migration to QA / Prepare and assign the test cases in QA Prepare deployment instruction document for PROD Phase Validation in Staging The support governance process is similar to the development process except that it has limited or no involvement of Project Management and Business Analysts. Shared responsibilities demonstrated here are for illustration purpose only and differ from client to client based on unique needs, capacity and compliance requirements. Page 10

11 Conclusion For IT departments with limited resources, custom built applications become increasingly difficult to maintain, improve and build due to the complexity, variety and number of such applications. These applications are often customer facing, critical to vital business functions or revenue impacting. But as described in the preceding pages, by following these four steps you can regain control of your custom applications: Taking Control of Application Inventory and Business Owner Identification Knowledge Transition (KT) Continuous Improvement Managing Complexity ABOUT APPS ASSOCIATES Apps Associates is a global IT services company that enables organizations to implement, adopt and manage Oracle Applications, Cloud Infrastructure, Salesforce, Analytics and Integration solutions. We partner with our customers to enable their journey to the cloud and deliver continuous business improvement with our managed services. We differentiate through our relentless attention to delivery excellence and customer care. Apps Associates is an Oracle Platinum Partner, a Premier Consulting Partner with Amazon Web and a Salesforce Silver Consulting Partner. OUR STRATEGIC PARTNERS North America (HQ) Europe Copyright 2018, V , Apps Associates LLC. All rights reserved Asia