Synopsis: Application Portfolio Management (APM) is a practice that attempts to justify and measure the financial benefits of each application in comparison to the costs of the application's maintenance and operations.
Tip: learn more about APM on Wikipedia.
If your organization uses multiple software systems, it becomes imperative to analyze their cost-effectiveness, quality characteristics, and business fit. These insights help when deciding where and how much to invest across your existing applications portfolio. Additionally, by analyzing the current state of the portfolio, you may sport cost-effectiveness and functional improvement opportunities within your enterprise.
Application Portfolio Management (APM) metamodel in Archipeg allows conducting related activities within a single project by capturing business capabilities, applications, components, providers, and technologies that will impact the investment decisions.
Below is a complete diagram of the APM metamodel. Please click on the picture to open it in a new window and examine its details.
Capability
Business capability of an enterprise or an organization. You can form capability maps by nesting or otherwise associating Capabilities with each other.
Application
A logical or conceptual solution that solves a specific business need. Application does not have to correspond to a software system, but rather it must be cohesively understood by the business. You can nest Applications for composition or link them for upstream-downstream relationships.
Data Object
Any cohesive piece of information that serves for communication, application integration, or data processing needs.
Application Component
A physical solution (e.g., software system, piece of code, server, or OS) that realizes Applications. You can nest Components for composition or tie them for dependency mapping.
Component Provider
A party that provides Application Component(s)
Component Technology
Digital product that enables building Application Components, typically developed or provided by the third party; e.g., framework or library.
Capability::Nested Capabilities <-> Capability::Parent Capability
Outgoing: Business Capabilities that are nested under this Capability.
Incoming: Business Capability that nests this Capability.
Capability::Depends on Capabilities <-> Capability::Dependent Capabilities
Outgoing: Business Capabilities on which this Capability depends.
Incoming: Business Capabilities that depend on this Capability.
Application::Fulfills Capabilities <-> Capability::Fulfilled by Applications
Outgoing: Business Capabilities that this Application Fulfills.
Incoming: Applications that fulfill this Capability.
Application::Nested Applications <-> Application::Parent Application
Outgoing: Applications that are nested under this Application.
Incoming: Application that nests this Application.
Application::Downstream Applications <-> Application::Upstream Applications
Outgoing: Downstream (affected, impacted, dependent) Applications of this Application.
Incoming: Upstream Applications of this Application.
Application::Handles Data Objects <-> Data Object::Handled by Applications
Outgoing: Data Objects that this Application handles, processes, or transmits.
Incoming: Applications that handle, process, or transmit this Data Object.
Application::Components <-> Application Component::Serves Applications
Outgoing: Application Components that realize or serve this Application.
Incoming: Applications that this Component realizes.
Component Provider::Provides Components <-> Application Component::Providers
Outgoing: Application Components that this Provider provides (e.g., through development, manufacturing, or support).
Incoming: Providers that provide this Component (e.g., through development, manufacturing, or support).
Application Component::Nested Components <-> Application Component::Parent Component
Outgoing: Application Components that are nested under this Component.
Incoming: Application Component that nests this Component.
Application Component::Depends on Components <-> Application Component::Dependent Components
Outgoing: Application Components on which this Component depends.
Incoming: Application Components that depend on this Component.
Application Component::Tech Stack <-> Component Technology::Used in Components
Outgoing: Technologies upon which this Component relies.
Incoming: Application Components that rely on this Technology.