Friday, 24 August 2012
Foundations of Agility
Being lightweight and low structure does not necessarily have anything to do with being Agile, although instances of the two characteristics do tend to be correlated in practice.
It is my strong belief that a humble approach to risk management is the distinguishing characteristic of agile processes.
Think about it like this: The term "Agile" deliberately evokes responsive, direction-changing imagery. Indeed, all four Values in the agile manifesto either talk about combating impediments to change, or supporting mechanisms for change. The only thing that is not explicitly stated is the reason why responsiveness and changeability is important, although it is (I think) pretty obvious.
We do not know the future, so we have to be prepared for the unexpected. We cannot plan for everything, but that should not stop us from doing the best that we can. It is not "be prepared" in the boy-scout sense of being prepared for the worst, but rather a more sophisticated combination of anticipating change and removing current impediments to possible future maneuvers.
Agile is the technological equivalent of maneuver warfare, excepting that the objective is to merely keep up with our interlocutors and partners changing needs, rather than to overtake them and seize the initiative.
Processes and tools that support and facilitate change can (and sometimes do) have tremendous utility. It is just that (in the past) processes have tended to create harmful institutional inertia. Likewise, documentation traditionally has proven difficult to keep up-to-date in the face of changing systems and requirements, but this is not necessarily the case with documentation that is generated automatically from source comments. Similarly, contracts can be handled in an agile manner, providing that there is a well established, fast and easy way to handle change notices. Finally, as Ike Eisenhower said, "Plans are worthless, but planning is everything". If the presence of a plan imparts inertia to a project, or if the process of planning takes anything other than an insignificant amount of time and resource away from execution, then it is clear that the activity is harmful; but to do away with planning altogether is folly.