A post written in haste in order to capture some recent thoughts. Feel free to point out errors in my thinking or expression. Thanks.
I’ve never been able to embrace the Deming Plan-Do-Check-Act cycle (PDCA) as being especially suited to agile development. It was designed for a manufacturing process, and still has that air about it—very formal, and phase-like. Sure, a process like scrum has a planning phase, a doing phase and a checking phase, although it is much more than checking of course, as it involves acceptance, feedback, the generation of new ideas, and sometimes a reset of goals. It’s the “act” part of PDCA I’ve never liked. It’s all action, isn’t it? And the action that follows the review/retrospective (checking) in scrum feeds directly into the next iteration—the whole PDC part. It isn’t a separate thing. So much for Deming.
I used to teach the scrum process as being plan-execute-reflect, which for me is closer to what actually happens in scrum. Roughly, we meet with customers to talk about what we’re going to do, we go away and do it, and then we reflect (with customers) on what we’ve done. But this is also an inadequate description. Planning isn’t all done at the start, but is often ongoing. Both the Deming cycle, and my own simplified cycle infer that all planning is upfront. It isn’t.
Reading Mike Cohn’s review of Just Start, a new book by Schlesinger, Kiefer and Brown, I learned about a new cycle for creative work: Act-Learn-Build. Sounds cool. Get into action immediately, learn from what we’ve done, build on what we’ve learned, and do it all again. I haven’t read the book, only this review, but it seems as if something is awry. What action, and who selects it? There is surely some dialog before we go into action. I think the point the authors make is to keep the upfront dialog real short (good!) and focus on the doing and learning. This cycle seems an improvement on Deming and on my scrum plan-execute-reflect cycle, but it still isn’t intuitive to me. Dialog isn’t apparent. It may be implied, but it isn’t called out. The cycle seems to imply a closed system. It may be good for a researcher or scientist, spending months alone, learning as he goes. I’m not those things though. I want team work, and I want customer interaction. What else is out there?
Bob Marshall introduced me to LAMDA—Look-Ask-Model-Decide-Act, which is essentially a breakdown of the two parts of the Deming Cycle, i.e. 1. Plan-Do and 2. Check-Act, it’s inventor claiming the two parts each have these five components. Maybe so. It’s interesting, but more of a How to Deming’s What. It still doesn’t capture the essence of what we do in agile development.
What we do in agile development really comes down to two things. Here’s the pseudocode:
- Requesters engage in dialog with responders.
- Responders go off and do stuff.
- Goto 1.
This can be captured in a two word cycle: [Align-Act]*. Does this mean that all dialog is contained in the first phase, and all action in the second? No—and here’s the cool thing. This is a fractal model. At any time during Act, we can stop, have a short dialog, and act on that dialog, which will change the bigger Act we are engaged in. Likewise, at any time during the Alignment we can try stuff—model, prototype, test, etc. and those actions will inform the dialog, and generate a realignment based on the new knowledge/data. So breaking that down we might express this as:
[Align[act, align]*, Act[align, act]*]* with each word “act” and each word “align” having the same pattern ad infinitum (or at least to a sensible level of granularity). It can scale upwards in the same way, each [align, act] being contained in a larger Act and each [act, align] being contained in a larger Align.
This cycle describes the What of Agile. Anything else we do is really concerned with the How. Thoughts?
Update, 1/18/13: Following feedback on this article, I offered a second iteration of the model, described here: A Simple Cycle v2.