Well I can’t believe I’m saying this but those happy clappers of the software development world, the proponents of Agile, Scrum and the like might (grits teeth), actually, have a point. At least when it comes to the development of novel software systems in circumstances of uncertainty, and possibly even for high assurance systems. Are you insane I hear you ask!? Well quite possibly, my mother never had me tested, but leaving that aside we should always take the opportunity to look carefully at what are the un-questioned certitudes of the discipline when a fresh perspective arises.
And in this case the Agile crowd take aim and attempt to skewer one of the central tenets of software engineering, that plans (and documents) are inherently good. So let’s stop and ask ourselves why do we think that this is so? Certainly you might need some sort of plan for the delivery of a +10 million lines of code on the JSF, but do we really think that a vision of the final product was visited upon the management team day zero, and the rest was filling in the gaps?
If the honest answer is ‘no’ to that question on day one, followed by a ‘we really don’t know’ on day two then perhaps the wisest thing is not to sit down and write a 200 page software plan that is based on the lessons of the past, but instead focus upon what Karl Weick called the process of organisational sense-making, and mindfulness. In this Agile, which espouses collaboration, communication and responsiveness to change within a framework of small builds may have a significant advantage over traditional grand strategies in situations of FUD (Fear, Uncertainty and Doubt). When you don’t know what to do, don’t sit down and plan what you don’t know, get people moving, talking, collaborating and making stuff. Then out of that activity you’ll find the information will emerge that will allow you to make decisions.
As Tom Peters points out we need to understand whether our methodologies have an inherent bias for action or a bias for planning, and then whether the situation is complex (but understood and stable) where planning will pay off or uncertain (with high novelty and volatility) where talking, thinking and looking at the small grain issues to build a picture of where we are is what we ought to be doing.
So for that insight at least, the Agile community gets two hallelujah testify moments out of five…