Application Lifecycle Management refers to the capability to integrate, coordinate and manage the different phases of the software development and delivery process. ALM is a set of defined process and tools that include definition, design, development, testing, deployment and management and it covers from the development to the deployment. Throughout the ALM process, each of these steps are monitored and controlled.
ALM includes all the phases of the software lifecycle: requirements management, software architecture, computer programming, software testing, software maintenance, change management, continuous integration, project management, and release management
ALM is a broader perspective than the Software Development Life Cycle (SDLC), which is limited to the phases of software development such as requirements, design, coding, testing, configuration, project management, and change management. ALM continues after development.
The ALM process involves managing the application lifecycle through governance, development and operations. It covers all the processes and procedures of a software application: from the idea to the design, from the development to the deployment and the maintanance and upgrades until the end of life when the software products loses its business value.
ALM advantages are as follows:
ALM disadvantages are as follows: