According to the PMBOK the primary output of the Planning Process Group is a Project Management Plan. However, there are multiple processes that can be used to support the Project Management Plan. Here they are in order from the 3rd Edition PMBOK:
|3.2.2 PMBOK Section ||Name ||Relevant Agile practice, process or activity |
|.1 ||Develop Project Management Plan ||Combination of Product Backlog, Release scope, use cases, etc. |
|.2 ||Scope Planning ||We plan scope be defining the features to be included in a release. |
|.3 ||Scope Definition ||Scope is defined as the Product Backlog Items(PBI) that are included in the release. |
|.4 ||Create WBS ||The Work Breakdown is done as part of the PBI to Sprint Backlog Item(SBI) decomposition. Again, we are aiming for SBIs that are no larger than 16 hours. |
|.5 ||Activity Definition ||Defined in the Product and Sprint Backlogs by User Stories and Use Cases. |
|.6 ||Activity Sequencing ||Activity is sequenced in terms of greatest business value coupled with greatest risk first. Priority should be set by dollar value as discussed here. |
|.7 ||Activity Resource Estimation ||In Agile we can add or remove resources to increase or decrease velocity. Depending upon the desired starting velocity (first few release) we can choose the team size based on estimates. |
|.8 ||Activity Duration Estimation ||Discussed in the posts here and here. |
|.9 ||Schedule Development ||Discussed in this post. |
|.10 ||Cost Estimation ||In an Agile environment we plan to deliver continuous value by way of release and iterations. As such, there is typically continuous cost. Based on the resource estimation we do in .7 and the purchases from .20 we can estimate cost. This has been a sub-topic of a number of my posts. |
|.11 ||Cost Budgeting ||This method not used heavily in Agile. Rely on Cost Estimation Schedule, CVE and CVP. While Throughput Accounting is preferred over Cost Accounting PV, EV and AC can be calculated based on current release. See PMBOK Chapter 7.2 for more information. More on this in future posts. |
|.12 ||Quality Planning ||Involve QA upfront. Need functional test for each PBI. Build release to QA plan. Quality sign off mechanism. |
|.13 ||Human Resource Planning ||Roles and responsibilities per Agile technique. See PMBOK Chapter 9.1 for more information. |
|.14 ||Communications Planning ||Should include a plan to update stakeholders with burndowns, impediments, roadmaps, etc. See PMBOK Chapter 10.1 for more information. |
|.15 ||Risk Management Planning ||Since risk is reduced in Agile, the planning process is highly simplified. I will discuss more in future posts. |
|.16 ||Risk Identification ||I will discuss in future posts. |
|.17 ||Qualitative Risk Analysis ||I will discuss in future posts. |
|.18 ||Quantitative Risk Analysis ||I will discuss in future posts. |
|.19 ||Risk Response Planning ||I will discuss in future posts. |
|.20 ||Plan Purchases and Acquisitions ||Plan for hardware, third-party software, tools, etc. |
|.21 ||Plan Contracting ||Obviously required if necessary. |
Now we can move on to the project execution part of this series…
The first thing I would like to look at is the concept of a "project" and its relationship to Agile. If we are to manage an Agile team using PMBOK base techniques we must first make sure we understand how a project is defined in Agile. The PMBOK defines projects as having the following characteristics:
- Unique Product, Services or Results
- Progressive Elaboration
We can look at how these characteristics line up with Agile one at a time.
We can think of the scope of the Agile release or iteration as the bounds of the temporary work which will be performed. In Scrum this is defined during the Release Planning session, in XP it is defined in the Planning Game and in FDD this is typically done in the Plan By Feature phase.
Unique Product, Services or Results
Of course the work that is being performed by an Agile team will be unique, if it weren't we wouldn't waste the time on it. This characteristic simply reinforces the fact that a project will produce something that the organization does not already have in its possession.
This characteristic is probably the most interesting and relevant to Agile as it is really what it is all about. The PMBOK says "Progressive elaboration means developing in steps, and continuing by increments." This definition is in direct alignment with the Sprints contained within Scrum, iterations in XP and weekly releases in FDD.
So it appears we may have a chance to align the PMBOK with Agile practices after all.