The two main types of ALM- Waterfall and Agile. Waterfall follows traditional systems development lifecycle from initiation to moving into design, building, and testing and at last deployment. Whereas Agile breaks software makes iterations. Each iteration provides that is software shippable. Types of Agile include scrum, Kanban, and Extreme Programming.