12 Key Knowledge Areas for Agile
I think this is going to be my last 12 point list for the week. It’s not like I’m out of time or anything… the snow melted a little yesterday… but we are still pretty much iced in. We are going to brave heading out to the grocery store this afternoon and maybe have lunch out again. Past that, we are all hunkered down hoping that the sun comes out and warms us up a bit. After this one, I’ve got one more piece I want to write, but then I’d like to put a wrapper around all of my content from this week, and then maybe dive deeper into each of the individual topics. I also need to think through the implication of my last post on untangling adoption and transformation. It might impact how I am thinking about some of this.
Okay… so today’s post we are going to talk about the knowledge areas, or schools of thought, we’re going to want to consider as we plan our adoption and transformation strategy (see… it’s easy to tangle the words up). When you look at these posts holistically, what I’ve really done is strung together a process for thinking through the attributes of our ideal agile enterprise, a means to challenge our unspoken assumptions, a way to face the risks we’ll see as we get started, and some filters for evaluating what to do. This post will present the palette of things you need to know about, and be able to apply… to make it all work together. Given our context, agile methods are clearly going to be our base of operations, but they are only that, the initial base.
1. Agile methods – Like I said, we are going to use agile principles and practices as the base of everything we are going to do. We want teams that stay together, work together, and deliver together. We want incremental delivery and attention to technical excellence. We’ll somewhat assume that we are going to use stuff like iteration planning meetings, reviews & retrospectives, TDD, continuous integration, and the like. We may need to extend our understanding of these approaches and we scale into more complex enterprises, but we are clearly standing on the shoulders of giants. We are going to borrow from Scrum, XP, Crystal, DSDM, and FDD.
2. Rational Unified Process – You might be surprised to see this on on my list. Personally I think we threw the baby out with the bathwater regarding RUP. I don’t ever use any of the heavyweight aspects of RUP, everything I use is really light. I do like the idea of vision documents, process tailoring, a broader delineation of roles and responsibilities, and especially the four RUP phases. If nothing else I am going to use the four RUP phases as a thinking tool for how to manage risk on an agile project. In any case, there is some value here, and I plan to borrow from it.
3. Lean – I don’t consider myself much of a lean expert, which is probably why I don’t submit to the LSSC conference, and have hesitated to speak too much in this space. I don’t want to water down the message for those that deeply understand the broader body of knowledge. What I want to borrow here is largely what I’ve learned from Mary and Tom Poppendieck. The ideas of building quality in, focusing on learning, creating pull and flow, relentless improvement, respecting people, and optimizing the system. We’ll see overlap between this and how I think about ‘Systems Thinking’ and ‘TOC’. These areas of thought are not totally independent and to some degree depend on each other. I just want the Lean stuff to be be explicit in our discussion about adoption and transformation.
4. Theory of Constraints – One of these days I am going to write a post giving David Anderson some serious props for leading this discussion in the agile community. Back in the day I took his book Agile Management and applied the TOC stuff to the program/portfolio management stuff we were doing at CheckFree. David’s contribution of Kanban [is to me] a more defined process instantiation of his earlier TOC work. When our value stream is bigger than the single team, as it almost always will be in larger enterprises, understanding the TOC stuff is going to be crucial for managing the bigger picture. Who knows, maybe we even go back to the source and talk some about Goldratt and his little buddy Herbie.
5. Traditional Project Management – I might have to have my agile card taken away for this one, but there is stuff we agilists need to learn here. Explicitly managing time, cost, scope, communication, quality, humans, risk, integration, and procurement are part of the conversation. How we start things up and manage them along the way are part of the discussion. Sometimes we need to build a Gantt chart, so let’s just get over it now. This is another example, just like RUP where we have rejected the message because of the inadequacy of the messenger. I believe that we ignore this body of knowledge at our own peril.
6. Capability Maturity Models – Not my core area of expertise here either, but I’ve got Dennis Stevens at my back to help where I fall short. I did a post a few weeks back about the role of documentation and checklists and how they are tools for disciplined thinking. To some degree I think there are some things we can take away from the detailed thought that is embodied in the CMMi and the OPM3 standards. We might use these models to help us understand more about our own agile maturity models and we might borrow some of this disciplined thinking to help craft our own situationally specific strategies.
7. Systems Thinking – We are going to draw from Peter Senge and others to encourage a holistic way of looking at our organization, looking at our entire organization as a system, that needs to be managed end-to-end to optimize the flow of value to our customers. One of the biggest barriers agile has had to date, is that it is a team development method, by developers for developers. We are just getting to the point where we have enough senior leadership attention to start having meaningful conversations about how agile can impact the world outside of software development. We need to take this opportunity to have that conversation.
8. Learning Organizations – Another nod to Senge here. We may never get to the point where we have a true learning organization, but we want to shoot toward an enterprise that develops this capability. We’ll build on the systems thinking, address personal mastery, we’ll identify and challenge our underlying assumptions, create a shared vision, and opportunities for team learning. By rationalizing our structures and creating safety for those involved, I think we might be able to effectively push in this direction. Either way, there is some stuff we want to draw from here.
9. Conversation Theory – Dennis has a talk proposed for Agile 2011 focused on who is Gordon Pask and why we should care about him. It’s kind of funny that this is our award for up and coming thought leaders, but most folks have no idea who he is. We are going to draw from Pask and some of Dennis’ work in this area to discuss how conversation happens within the team, across teams, and within the organization. We want to get explicit about what conversations need to happen, and when, so that we can all effectively deliver together.
10. Change Management – My favorite here is John Kotter and his whole thing around Leading Change. Regardless of who we pull from, I want to avoid getting into a situation where we are flipping some giant switch and trying to make this stuff happen over night. I’d like to have an explicit adoption & transformation change strategy. I think that if we give folks time to learn and absorb this information, to internalize it, we have a better chance of sustaining improvement after the coaches and consultants go home. We want to leverage some proven stuff here to maximize our chances of success.
11. Covey’s 7 Habits – I am a total Stephen Covey junkie. I intend to draw from his 7 habits material. The stuff about beginning with the end in mind, first things first, thinking win-win… all this is going to be essential for how we approach an agile change initiative. You might not be aware that Covey has another book out called the 8th Habit. I didn’t really understand it at first, it’s not nearly as accessible as his 7 Habits material, but after a few more readings, it is equally as brilliant. As agilists, we’d do well to read Covey’s perspectives here. The 8th Habit is all about respecting the entire person and tapping into their ‘whole selves’. Only by getting folks fully engaged and aligned with the organizations objectives, will we have any chance of being truly successful. Sounds pretty agile, huh?
12. System of Profound Knowledge - Closely related to the idea of systems thinking and learning organizations, we want to pull in some of Demming’s view here, adding to the systems thinking perspective with talk about variation, what we can know and what we can’t, as well as how human psychology plays into what we are trying to accomplish.
So… this is the stuff that I draw from as I think through these problems and try to untangle this a bit. I’m interested to know if you think anything else is meaningful or important I’ve left out of my list. Should we explicitly include any other thinkers or schools of thought? It’s going to fun putting this all together over the next few months. As always, interested in your comments and feedback.