Application Lifecycle Management (ALM) is crucial to maintaining a healthy IT landscape. By monitoring the different phases applications go through during their lifecycle, you can easily model and understand what value they bring to your organization and why that is important.
Table of Contents:
What is Application Lifecycle Management?
Application Lifecycle Management (ALM) is the supervision of an application from its initial planning until its retirement.
Oftentimes ALM is confused with the software development lifecycle (SDLC). They both deal with the development process of an application, but SDLC is limited to the development phases, such as design, coding, testing. Application Lifecycle Management, however, has a broader scope that includes the conceptualization, development or acquisition of an application, plus the monitoring of it until it is phased out.
Why Application Lifecycle Management Is Important for Organizations
Application Lifecycle Management is intended to increase the overall quality and efficiency of your IT landscape. It provides a clear direction for your applications by defining their business case and requirements before implementation. ALM enables organizations to avoid security risks, cost risks, and technology risks through continuous maintenance after deployment.
Applications are constantly evolving. If left unmaintained, organizations can quickly become vulnerable to cyber or hardware attacks as they continue operating with legacy technologies. ALM empowers key stakeholders and IT teams to forecast and avoid security threats by identifying which applications require an update or elimination, looking for a replacement, and planning the next steps for upgrade or migration.
It is tempting to avoid upgrade or migration costs, but the true cost of legacy applications far outweighs the initial investment. Legacy applications expose organizations to data breaches that cost large amounts of money every year to fix. Moreover, they can cause reputational damage, which also translates into financial losses as the company loses business to competitors. According to the Cost of Data Breach Report 2020 by the Ponemon Institute, data breaches can cost these organizations USD 3.86 million annually on average.
Another aspect to consider is the cost of hours spent on maintenance for legacy applications. Legacy applications require more time from your IT department as they suffer a higher failure rate. Your IT personnel are then forced to focus on responding to bugs, troubleshooting, integrating changes, or tracking down rare replacement parts that may even be discontinued, instead of concentrating on projects that increase business growth and operational efficiency.
In essence, ALM helps organizations to prevent attacks, and saves resources, costs, time, and reputation.
Ideally, when an application has reached its end-of-life, a successor should already be in place. Poor application lifecycle management can hinder this from happening and even make your applications unusable. This represents a huge risk for organizations, as it can impact entire departments whose day-to-day operations are dependent upon those applications.
The Phases of Application Lifecycle Management
The Application Lifecycle Management phases have traditionally been requirements specification, development, testing, deployment, and maintenance.
We recommend using more efficient phases that are the most relevant from an Enterprise Architecture point of view, and that work for your different component types. These phases are:
Use this data field on applications that have pending implementation agreements. In this phase, key stakeholders assess if they have a use for the application and if it’s a good idea to develop it or invest in it.
Use this field to label those applications that are currently being developed or implemented.
Use this field to identify those applications that are deployed and live. When applications reach this phase, maintenance work becomes a priority.
Use this field on applications that will soon be retired but are still live on production.
Use this field on applications that have already been removed.
If you find your organization needing different or more specific phases, you can absolutely create more fields. Ardoq’s flexibility allows you to add custom fields to capture different types of data, such as lists and date ranges, which can later be used to create roadmaps, filter your data, and visualize it in different ways.
How to Get Started with Application Lifecycle Management
1. Create a list of all applications deployed on your system
To start with Application Lifecycle Management you first need to have all your applications, their dependent components, and their references in Ardoq.
There are several ways to bring your data into Ardoq. You can manually add your components and references by using the Grid Editor, or you can easily import them using any of the following integration methods:
Upload your application data using Ardoq’s Excel importer
Upload your application data using Ardoq’s ServiceNow integration
Upload your application data using Ardoq’s REST API
Take advantage of our Excel import templates to streamline data entry and speed up the process:
The Excel importer integration is a one-time import way to bring your data into Ardoq. That being said, you can re-upload your data whenever you need to update it. With the ServiceNow Integration, you can easily synchronize your data with Ardoq and you can use the REST-API to automate documentation.
You can use Surveys and Broadcasts to canvass key stakeholders across your entire organization about unmapped applications they might be using. Surveys are a fast and easy way to gather any kind of application data, while Broadcasts enables you to reach the right people at the right time by using powerful event-driven automation.
2. Prioritize your portfolio
As a next step, you will want to prioritize your application portfolio so it’s easier to tackle the most important applications first and drive value as fast as possible. You could for example segment and prioritize your portfolio to sort the applications that are most critical to your business strategy by creating a filter or perspective. This approach allows you to focus on small parts of the portfolio. Another important thing to do is to set your completeness criteria for each segment. It’s important that you have 100% data completeness for your most critical applications, but you don’t need to apply that same standard to non-critical applications.
3. Gather lifecycle data
Next is identifying the lifecycle phase of your applications. In Ardoq, create a Lifecycle Phase list field to define the different lifecycle phases you’ve previously outlined. We recommend creating a Live date range field as well to document the start/end dates of your live applications, and run a light version of lifecycle management.
To create more detail, document the start/end dates for all other phases. More insight on exact dates for each lifecycle phase helps to plan more accurately for what is to come next. A date range will enable you to have a clearer understanding of your IT landscape needs in the future, which will make it easy to implement the changes needed or mitigate any potential risk to the change. We suggest setting the end date of one phase to match the start date of another. This is to avoid having a break in continuity, but it is not a requirement as you may certainly have gaps in handovers.
Now you are ready to assign the relevant phase to your applications. It can be a challenge to know the phase each item is in and where you can refer to to get this data. Fortunately, you can also easily gather this information with Ardoq’s Surveys and Broadcasts. A simple survey gathers the name of the application, the application’s lifecycle phase, start and end dates. Broadcasts reaches out to key stakeholders or application owners.
4. Visualize your portfolio
Now that you’ve brought lifecycles and time into perspective, you can visualize and analyze your architecture in the Timeline view. The Timeline view is perfect for planning your application lifecycles and projects. It enables you to easily communicate your application roadmap, project roll-outs, or capability maturing. Our versatile grouping lets you visualize dependencies across domains, how your projects affect your capabilities, and how much your applications rely on technology that is being phased out.
Here you can see the applications that are reaching end-of-life or other important milestone dates, such as automatic license renewals, or the release of a new version that will demand upgrade work. You can filter your application portfolio by Lifecycle Phase = Phasing out, for example, to have a better understanding of which applications you have to come up with a migration plan for.
To gain the contextual understanding and impact of the applications that are being phased out, use the Block Diagram, Component Matrix, or the Dependency Map to work out the details of the application in question.
Up-to-date data on the lifecycle of your applications enables you to prevent the risk of technology from becoming obsolete without having a backup plan. Ardoq can help you create an overview of your application portfolio. By facilitating the supervision of your applications, you can therefore avoid cyber attacks.
From here, a natural next step is to manage the impact the introduction of new technologies, or the retirement of others would cause in your IT ecosystem. Check out our article Scenarios: Model Alternative Futures And Analyze The Impact Of Change: How to analyze the impact of change to learn how to design alternate futures and evaluate their impact before implementing any changes.