DevOps and agile development are two ways to prepare for digital transformation. Both methods speed up times to market, change company culture, and enable continuous delivery. However, agile development can bring added complexity to an already intricate application landscape.
DevOps teams, although bringing beneficial speed and agility, also have the tendency to develop applications that are poorly architected. This can lead to excessive technical debt from one sprint to another. Larger legacy companies that have been formed through mergers and acquisitions typically deal with redundant applications producing superfluous information. These companies have an excessive amount of applications deployed, which place a large strain on the IT budget and make it explicitly harder to implement successful DevOps programs.
To have the best outcome from implementing agile development methods, it is important that an Enterprise Architect integrates application portfolio management. When carried out correctly, application portfolio management helps departments map, outline, streamline, and control their application landscape.
What is application portfolio management?
Application portfolio rationalization is the act of streamlining the existing application portfolio with an explicit goal of improving efficiency, reducing complexity, and lowering TCO through a myriad of processes. Application rationalization can be the basis for other cost-saving endeavours, including software license optimization, application retirement, server optimization, project rationalization and data storage optimization.
Application rationalization also helps organizations streamline processes, reduce maintenance cost, enhance overall quality, improve overall efficiency, lower Total Cost of Ownership (TCO), lower IT spend, ensure compliance, increase agility, and freeing up the time, money, and personnel to take proper use of innovations.
Steps to application portfolio management.
Step 1: Inventory phase
In this phase, we capture key information about current IT landscape and gain insights about applications and their business relevancy to improve business support and plan the roadmap to the future state. Gather all information of each application deployed, paying close attention to the functionality.
Rather than get lost in the details of business processes, a target business capability model helps structure the APM process. From this model, it can be decided which applications are vital, which are not useful, and which should be decommissioned. Business capabilities can serve as the structuring element to uncover redundancies in IT but discussing the areas of strategic investing or divesting.
Step 2: Assessment phase
The level of evaluation done depends on the needs of the organization. At LeanIX, we use the TIME strategy. Load your applications in the LeanIX dashboard and tag applications with the labels: “Tolerate,” “Invest,” “Migrate,” and “Eliminate” (TIME) on their internal application Fact Sheets. Based on this information, the EA team can generate live reports, detailing information about which applications are widely used, which applications are unnecessary duplicates, and which applications will be selected as the global standard application for a specific capability.
In order to classify applications, ask the following questions:
- How does the application fit with technical standards?
- Does staff have the necessary skill set to use it to best advantage?
- Are users satisfied with its performance and benefits?
- Are there better alternatives?
- What is the TCO
- What are the maintenance costs?
+ Any other questions relevant to your organization.
Be sure to pay attention to the lifecycle of each application in order to make future changes in the application portfolio.
Step 3: Define a future state
DevOps and Agile development help companies produce products quickly, but should not be at the expense of the operational quality. It is possible to architect DevOps projects in a way that improves overall quality and reliability. It is imperative in this step to realign IT transformation process with business goals by connecting applications to their appropriate business capability.
Figure 1 - Business capability map for Pharmaceutical Companies.
In this business climate, having an agile landscape is key. The goal of application rationalization is to eliminate redundant applications, free up space for more beneficial tools, uncover overspent budget to invest in business-critical innovative projects and enable agility.
Application portfolio management approach can help path the way to a smooth DevOps implementation.