Okay…
let's get back to our discussion on how to look at the PMI knowledge
areas from a more Agile point of view. Last time we tackled Cost
Management, this post let's look at Scope Management
According
to the third edition of the Project Management Body of Knowledge, Scope
Management includes the processes required to ensure that the project
includes all the work required, and only the work required, to complete
the project successfully. PMI states that project scope management is
primarily concerned with defining and controlling what is and is not
included in the project.
I find it a little entertaining how
these statements seem to be universally interpreted as "define
everything you are going to do up front and make sure you deliver what
was originally defined". While that may have been the intent of the
PMBOK Guide, some projects don't lend themselves to that kind of up
front planning. Some projects must allow for discovery. Some projects
must adapt to changing markets, or at the very least, adapt based on
the teams understanding of the emerging product.
For some of us
working in more dynamic problem domains, ensuring that "the project
includes all the work required", is a process of discovery. Controlling
what is included, and what is not included, is an ongoing concern
rather than something done once for the entire project. We need a
project management framework that embraces this uncertainty rather than
wishing it away or pretending it doesn't exist.
I am becoming
convinced that Project Managers default to this static point of view
because we have never been taught another way of managing projects. We
just don't have the tools to deliver projects any other way. So… that
said, let's take a moment to look at the PMI Scope Management processes
from a more Agile point of view. I bet we find another way of
approaching Scope Management that does not involve defining everything
up front and then locking it down for the duration of the project.
Scope Planning
PMI Definition: Creating
a project scope management plan that documents how the scope will be
defined, verified, controlled, and how the Work Breakdown Structure
will be created and defined
Agile project management
practices are really the embodiment of a scope planning approach. As a
project manager, especially a traditional project manager making the
switch to Agile, I have no problem documenting this for my
organization. An Agile Scope Management Plan is going to address things
like creating the backlog, characteristics of a good backlog item, how
we are going to establish velocity or throughput, how we are going to
measure burndown against the backlog, and how we are going to deal with
changes to the backlog.
Scope Definition
PMI Definition: Developing a detailed project scope statement as the basis for future project discussions
Scope
on an Agile project is defined in the product backlog. The backlog is a
listing of the features that your product owner would like to have
included in their project. One of the most important considerations to
keep in mind is that every item in the backlog should be independent of
each other. This is the secret sauce that makes it possible to
reprioritize and make changes on the fly. Bill Wake has a great
explanation of what makes a good backlog item on his website: http://xp123.com/xplor/xp0308/index.shtml.
Rather
than looking at the product backlog as a static indicator of what WILL
be built, look at it as the baseline for further adaptation. It is
expected to change as we learn more about the emerging product.
Create WBS
PMI Definition: Subdividing the major project deliverables and project work into smaller, more manageable components
This
is one of the toughest things for traditional project managers to get
their heads around. There is no WBS on an Agile project, at least not
one in the traditional sense. From the Scope Definition section, we
learned that our backlog represents the scope of the project and that
each of the backlog items should be independent of each other.
Independence is key because it allows us to do just in time scheduling.
Agile
projects are broken down into smaller projects called releases. Project
releases are broken down into smaller time-boxes called iterations.
Content is pulled into a release just prior to its start, and only as
the previous release is winding down. Likewise, content is only pulled
into the upcoming iteration as the previous iteration is coming to a
close. The idea here is that we are going to review what the team was
able to complete and make decisions about the next increment based on
what we learned from delivering the previous increment.
As an
Agile Project Manager, I am generally comfortable laying out a high
level plan to understand where I expect to be at certain points in the
project. I am also comfortable keeping a chart of external and internal
dependencies to help manage commitments. The key is to use these as
guidance for decision making and indicators of progress. Problems arise
when these tools restrict our ability to learn and adapt to the
realities of our projects.
Scope Verification
PMI Definition: Formalizing acceptance of the completed project deliverables
Each
iteration we will decide the next best increment to build and then
review the outcome once we are complete. The stakeholders either accept
or reject the outcome of the iteration and work with the team to decide
the next best set of features to build.
Because we want to
maintain the ability to adjust the product as we learn more about the
emerging solution, we focus on making and meeting commitments in
smaller increments. Scope verification is done based on the outcome of
these small increments of product and how they align with the product
vision and the goals of the release.
Scope Control
PMI Definition: Controlling changes to project scope
Agile
teams take a value driven approach to delivery rather than an activity
based, or even deliverables based, approach to delivering projects. The
product owner can change the scope of the product at will, but is
always focused on delivering the most value possible given the
available times and resources.
Agile teams give the product
owner a tremendous amount of discretion over how the system is
constructed and even accommodate changes even late into the life of the
project. It is understood by Agile teams that changing scope involves
tradeoffs. The product owner is substituting features that add greater
value for those that provide less. To add one thing, something often
has to be taken away.
Next Up… Communications Management
This series continues to be a very well thought out and in depth look at good project management from a PMI -> Agile view. When it is complete, I nominate that you take this content (and possibly the more insightful comments) and create a white paper pdf to offer to the public. It will help agilistas more easily translate their message and find common ground with PMI organizations.
For someone like me, it helps me not forget that there is a lot behind PMI and being reminded by that forces me to continue to mature my agile approaches.
Posted by: Kevin E. Schlabach | Thursday, July 10, 2008 at 08:26 AM
Thanks Kevin for the kind comment.
I don't think the VersionOne marketing department will let me get away with anything less than a whitepaper, a podcast, a video podcast, and several talks ;-)
I appreciate your suggestion!
Posted by: Mike Cottmeyer | Thursday, July 10, 2008 at 08:49 AM