Application lifecycle management is a set of pre-defined process and tools that include definition, design, development, testing, deployment and management to integrate, coordinate and manage the different phases of the software delivery process. It's not just writing code or a methodology to write better code and similar. It's just a continuous process of managing the life of a software application from concept to delivery throughout the entire development process.
By applying to ALM it's easy to coordinate the people, process and information in an iterative cycle of activities throughout the software-delivery supply chain. it help agile teams on making them to make better decision, manage costs and help them about the technical concerns. Throughout the ALM process, each of the software development processes could be easily monitored and controlled.
This first step in ALM is business case development analysis, it happens before the development process begins. Once the business case is approved, application development starts, and governance is now implemented through project portfolio management. The principal role of Application Lifecycle Management is to manage the life of a software application from concept to delivery throughout the entire development process. It provides visibility into product release readiness, automates development processes.
You can read more about ALM here as I did to learn and write this post: http://www.davidchappell.com/whatisalm--chappell.pdf