Lean thinking is a process focused on increasing the value added to products and services and reducing waste.
Lean is based on a series of principles focused on eliminating those tasks that add no value to what we are doing, while agile entails early deliveries and flexibility to change the product or service.
Considering these definitions, we can say that using agile techniques in the production of software such as scrum, kanban, scrumban, and xp, results in customer satisfaction.
ALM is the implementation, coordination, and monitoring of software solution creation activities, from the need to production readiness and subsequent maintenance. It aims at streamlining IT efforts in order to reduce the development cycle while improving quality and productivity and speeding up application time-to-market.
Adopting ALM practices is vital for those organizations that are subject to normative provisions and regulatory standards and/or develop custom-made software and need to professionalize or industrialize their practices.