Insights on Application Lifecycle Management - Make it visible and manageable
Application Lifecycle Management (ALM) is a method for overseeing an application's entire journey from creation to design, development, and retirement. ALM is crucial because each company has applications with different states in their lifecycle. Neglecting to manage technical debt and platform/framework updates can lead to severe problems in the long run. It's good to remember that, on average, 60% of software lifecycle costs come from maintenance and 40% from development.
Effective ALM is key for anchoring ownership, maintaining a consistent technology stack, staying informed about application technologies, and managing maintenance costs. It's a key pillar of the success of your software and teams.
This blog post outlines tools and methods I've used with my colleagues to track the application lifecycle, state, and consistency. Sustainable and fostered applications are crucial for the success of the business. By developing a strategy for a consistent tech stack and continuous improvement, we can ensure sustainable development of the applications.
Technology Direction & Strategy and Alignment
Below triangle illustrates the alignment of technology strategy from the broad organizational level down to application development level, emphasizing the importance of coherence and feedback across all levels. This blog post focuses mostly on Product & Service Strategy and Application Development levels.
Organization's Tech Direction & Strategy is the foundation which encompasses the high-level goals, vision, and strategic initiatives that guide the organization's technological advancements. This is where overall high-level tech direction is made. Product & Service Strategy and Application Development are highly impacted by the overarching technology direction.

This blog post introduces the Tech Radar and Heat Map tools which are created to ensure consistency in our technology stack, align with the organization's tech direction, and promote sustainable applications. Let's take a closer look at the tools.
Tech Radar
The Tech Radar aligns and prioritizes technology choices, tools, platforms, programming languages in a detail manner to consolidate the tech stack effectively. The purpose of alignment is to guide teams/squads to use certain technologies instead of allowing everyone to decide. Consolidated and smaller tech stack is more manageable. Tech Radar provides a view of the technologies being evaluated, maintained, invested, or phased out.
The Tech Radar is aligned with the overarching Technology Direction and Strategy established at the company level (triangle above). Technology Direction & Strategy provides high-level steering. For example, a direction can be: "Microsoft Azure is our selected public cloud." At a more operational level (Product & Service Strategy), this guidance needs to be more precise, and detailed. For example, Azure Container Apps Environment is the preferred choice for application hosting in Azure.
The purpose of the Tech Radar is not to limit innovation and possibilities. It's a commonly agreed-upon stack of technologies and tools where we are committed to for certain time. All developers are encouraged to follow, test, and evaluate other technologies outside the agreed Tech Radar. Tech Radar will be updated yearly with input from developers, allowing us to add new technologies.
All major new additions to the Tech Radar must be documented as Architecture Decision Records (ADRs). ADR captures information about the background, alternatives, consequences, and the actual decision. The main driver is to document why we decided on a certain technological decision.
We have used the Tech Radar tool created by Zalando and Thoughworks. It's basically a simple static JavaScript and HTML application that renders the following quadrant. We have decided to divide quadrants into Data, Integrations, Infrastructure, and Application Development.

👉 Consolidated and smaller tech stack is more manageable.
👉 Foster team/squad collaboration.
👉 Purpose is not to limit innovation.
👉 Document changes using ADR documents.
Application Heat Map
The Application Heat Map is a tool for visualizing and communicating the application's status in various categories at a glance. Color-coding of the Heat Map helps stakeholders easily identify the applications and certain categories which will need more attention. The tool effectively highlights the main challenges and issues in the application portfolio and provides actionable insights. We have stated the power of the tool in decision-making, prioritization, and also in long-term road mapping.
Maintain the tool's simplicity. We have used three main categories in the Application Heat Map: Frontend, Backend, and DevOps. Each of these main categories has its own subcategories with more detailed abstraction. The purpose is to evaluate each application against these categories. The state of each category is a relative estimation made by the team/squad owning the application. Any additional detailed information on what should be considered in each subcategory is not provided. It's the team/squad's relative insight into the state.

👉 Instant visual feedback, actionable insights. Works both for business and tech.
👉 Effectively highlights the challenges in the application portfolio.
👉 Unified way to visualize the state across applications.
👉 It's team/squad's relative insight of the state.
👉 Enabler for long-term road mapping and continuous improvement.
Comments