If Agile is going to make a difference to an organization, it must accomplish two things. First, it must assist us in being driven by business needs—not the development organization. Second, it must help us with the entire value stream—not merely part of it. Lean-agile practices presents us with an opportunity to reunite the business and software development organizations so our Application Lifecycle Management (ALM) can focus on value, not merely delivered software.
Agile and ALM are two terms that you don’t often see side by side. To most developers, agile means team interaction, customer collaboration, dynamism, and responsiveness to change. In contrast, ALM seems to imply the opposite of agile, with echoes of rigid procedures, inflexibility, and top-down process control. But are the agile and ALM approaches as contradictory as they first appear to be?