This post looks at Agile Project Management as a Strategy Pattern and the transition from predictive strategies.
Agile Project Management is like Lean Product development with its emphasis on feedback and learning. Traditional Waterfall project development works much like Phase Gate: Specify, Design, Implement, Test, Deliver. One of the problems with the traditional method is that feedback comes late in the process. This means that mistakes made early in the process are revealed late where they are more costly to fix. Agile slices the development into features, iterations, and releases. A set of features are taken all the way to a releasable product, and then feedback is obtained. Even if the product is not officially deployed, an iteration is deployment ready. Feedback allows prioritization of features, learning, and the ability to track a moving target.
The Agile life cycle is:
The names are chosen to suggest flexibility. Iterations can include Speculate, Explore, Launch, or Speculate, Explore, etc. Loops are created where they are needed on a project by project basis. Speculate, Explore, and Launch form the core of adaptability. A pure Agile culture might look like the following Strategy Pattern:
At the highest level the pattern is about beginning with a Visionary Strategy and then moving to an Adaptive Strategy. The loop in Visionary accounts for what Jim Highsmith (Agile Project Management) calls Iteration 0. Iteration 0 is the minimal amount of work required to build a feature set capable of generating feedback. This is where initial platform and architecture development occur. The loop in Adaptive reflects iterating with the customer in the loop.
Much of the difficultly Agile teams face stems from executive management operating in the Planning quadrant. Managers want predictability of schedules, cost, value delivered, and all the things found in a typical business case. Agile teams tend to disconnect from the Planning quadrant. Highsmith makes a strong argument for balance: that structure and flexibility must coexist in a healthy way, much like bones and muscles.
Where does this pattern apply best? Malleable Technologies. The most obvious is software development, which has near infinite malleability. Where does it apply least? Perhaps building an oil tanker. One cannot implement a subset of an oil tanker and expect a customer to test it. However, what if you can take a rigid technology and make it malleable? Modeling and Simulation are tools that make a technology malleable, and so are prototyping tools. One can make a 3D model and construct a prototype with lasers and plastic powder that a end user can play with it. Tools can be an enabler of this Strategy Pattern.
Whether tools enable this shift or not, the real challenge is the cultural shift which requires a flexible mindset and balancing it with a prediction based mindset. Perhaps the best advice I can give about making this transition is take baby steps, say product enhancements followed by simple products. Work your way up to larger projects learning at each step along the way. But if you can make the transition, you can gain an competitive edge over your competition that is hard to copy. It is much harder to copy cultural changes than technologies.