I’ve been working with Boston University and a number of other universities on developing an Agile Project Management curriculum. In developing a curriculum like this, there are two aspects of the work to be done:
- Synthesizing or developing the body of knowledge that you need to communicate, and
- Designing the course materials to teach that body of knowledge
If the body of knowledge associated with Agile Project Management were available in some well-documented form like PMBOK(R) that integrated both traditional plan-driven project management knowledge with Agile, the task of developing a course to teach that body of knowledge would be much easier, but I’m not sure if the body of knowledge associated with Agile Project Management will ever exist in that form.
Some books have attempted to map PMBOK(R) to Agile principles and practices (Michelle Sliger’s Book, “The Software Manager’s Bridge to Agility” is an example). Although you can make some general comparisons, it’s like comparing apples and oranges, in my opinion – there may be some similarities, but the whole philosophy behind PMBOK(R) is very different from the philosophy behind an Agile approach which makes it very difficult, if not impossible, to combine the two. Here’s why:
The Difference Between Explicit and Tacit Knowledge
PMBOK and Agile are based on two very different approaches to knowledge management:
- Explicit Knowledge – is “codified knowledge found in documents, databases, etc.”
- Tacit Knowledge – is “intuitive knowledge and know-how, which is:
- “Rooted in context, experience, practice, and values”
- “Hard to communicate – it resides in the mind of the practitioner”
- “The best source of long-term competitive advantage and innovation”
- “Is passed on through socialization, mentoring, etc.” – it is not handled well by systems that try to document and codify that knowledge.
Agile takes a very different approach which is more consistent with tacit knowledge – instead of providing a detailed comprehensive checklist of things to consider in a broad range of different situations, Agile provides some general, higher level principles and values that need to be interpreted in the context of the situation.
PMBOK relies very heavily on explicit knowledge – it attempts to codify a checklist of things to consider in almost every conceivable project management situation
“Source: KMT – An Educational KM Site, http://www.knowledge-management-tools.net/different-types-of-knowledge.html
The Difference Between a Defined Process Model and an Empirical Process Model
That doesn’t mean that PMBOK is bad and Agile is good which is an inference that many people might jump to. That’s like saying “a car is better than a boat”. Neither one is inherently good or bad and each has advantages and disadvantages depending on the environment you’re in. An explicit knowledge approach such as PMBOK is very consistent with a “defined process model”. A “defined process model” looks something like this:
The characteristics of a defined process are:
- The process is repeatable and doesn’t change from one project to the next
- The process is predictable – given a similar set of inputs, it should produce a predictable set of outputs
Agile is based on more of a tacit knowledge approach which is more consistent with an empirical process model which looks something like this:
The process is intended to be adaptive to fit the situation based on continuous improvement and learning. Scrum is a good example of an empirical process model.
Can PMBOK Be Modified to Integrate Agile Thinking?
There have been some attempts recently to make PMBOK(R) more compatible with adaptive project management approaches:
- PMBOK(R) version 5 which has been released incorporates some more inclusion of adaptive thinking but it is still heavily oriented around a plan-driven approach
- PMI(R) has introduced the “Software Extensions to the PMBOK(R) Guide” which has a little bit more mention of Agile but is still limited
I participated in a LinkedIn discussion group some time ago where someone made the comment that PMBOK was very adaptive to an agile approach and challenged me to defend why that was not so. My response was that almost anything can be adapted to a different purpose but that doesn’t mean it is really optimized for that purpose. I could say a piece of sheet metal is adaptable to be used for writing a book because I can write on it like a piece of paper but is it really optimized for that purpose? (I don’t think so) Extending PMBOK to be a single knowledge base to cover both Agile and traditional plan-driven project management would be like modifying a car so that it could also be used as a speed boat. You might be able to do it, but the results are not likely to be very optimal.
Patching up PMBOK(R) to make it more “Agile” is likely to have significant limits for that reason. Agile is a different way of thinking, in my opinion – it acknowledges that we don’t know everything we need to know and puts an emphasis on rapid and adaptive learning.