2.2. How Much Agility Is Realistic Today?
Having acknowledged that there are degrees of agility, the relevant questions change significantly. Instead of asking, "Are we agile?" the question becomes, "To what degree should we be agile?" Increasing an organization's agility requires an investment that may be non-trivial and brings a certain amount of risk. The cost of change must be weighed against the benefits, including any reduction in development risks, to ensure the long-term viability of the organization. It is only beneficial to pursue agility in cases where increasing agility increases the capabilities of the organization. These decisions will require that we define what is needed for long-term viability and specify how to measure our progress toward that goal.
Fully embracing an agile methodology requires changing the way engineers allocate their time and how they approach all software development activities.
The management mechanisms and the techniques and strategies for developing software differ dramatically from plan-driven mechanisms. Therefore, effectively using an agile methodology requires new skills for the engineers, project managers, and the organization as a whole. This means that we also need to consider our organization's ability to achieve agility given its current skill set. So we need to ask, "To what degree can we be agile?"