TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPassBlogs
Home  >  Detail: Relating PMBOK Practices to Agile Practices - Part 2 of 4



A StickyMinds.com Original
Article Picture
Relating PMBOK Practices to Agile Practices - Part 2 of 4

By Michele Sliger

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: Been there, done that--Michele Sliger understands the turmoil traditional project management practitioners go through as they make the transition from plan-driven approaches to the newer agile methodologies. This week, she offers more insight as she continues her four-part series on relating Project Management Institute (PMI) best practices--as identified in the Project Management Body of Knowledge (PMBOK)--to agile practices. In this column, Michele discusses scope management and time management.


Infosys
"Scope creep" has always been the bane of traditional project managers. Requirements constantly change in response to customer business needs, shifts in the industry, advances in technology, and things that were learned during the development process. Scope planning, definition, verification, and control are all knowledge areas that are given a great deal of attention in the PMBOK. These areas garner great attention in agile methodologies as well, but the philosophy on managing scope is completely different. Plan-driven approaches work hard to prevent changes in scope, whereas agile approaches expect and embrace scope change. The agile strategy is to fix cost and schedule and then work to implement the highest value features as defined by the customer, so that scope remains flexible. This is contrasted against a typical waterfall approach as illustrated in Figure 1, where features (scope) first are defined in detail, driving the cost and schedule estimates. Agile has simply flipped the triangle.


Figure 1: Waterfall versus agile: the paradigm shift

The project "box" used is one of time. However, instead of stuffing more feature "bricks" into a single flimsy box until the timebox explodes, we use multiple timeboxes made of steel and stop adding bricks when the box is full. Then the box is "padlocked" for that iteration and only the features in that box (iteration) are worked through to acceptance. But because we're doing this box loading and padlocking one iteration at a time, it's difficult to understand how much work will be completed in a longer timeframe. Agile uses techniques such as release planning to estimate what that longer timeframe might look like.

The PMBOK practices of scope definition, work breakdown structure (WBS) creation, and scope verification occur iteratively in agile. During release planning, the features are defined at a very high level and placed into iterations in priority order. At this point the WBS only has deliverables, not work packages. These features, or deliverables, can be estimated at a gross level only. Once the iteration begins, the features slated for that iteration--and only that iteration--are elaborated. Think of it as just-in-time elaboration that prevents a wasteful buildup of requirements inventory that may never be processed. At the end of release planning, the agile equivalent of a WBS would look like the release plan in Figure 2.


Figure 2: Release Plan


Figure 3: Partial Iteration Plan

Scope definition and many of the practices defined in the PMBOK knowledge area of Project Time Management are done as part of iteration planning, where features are elaborated (creating PMBOK work packages or agile user stories), tasked out, estimated, and assigned (see Figure 3). Again, planning and design work is done only for the features in that iteration, not on the entire system. Duration is no longer of interest in an agile project, because it is always the length of the iteration--the steel box that we're putting our features into, which won't change. Estimations are now based on the amount of work effort needed for each of the tasks, and it's the entire team--not just the project manager--that does the estimating. Team members sign up for the tasks instead of simply being assigned to them. This gives the team an opportunity to commit to the schedule and take ownership of the work.

The critical path is no longer identified. Project managers instead focus on impediments to completing the work by using Dr. Eli Goldratt's "Theory of Constraints" and critical chain method. Think of the constraints in your project as kinks in a garden hose. It's your job to make the project flow, which you do by eliminating one kink at a time. The highest priority features then can be worked through to acceptance, by completing chunks small enough to have potentially shippable software ready for use at the end of each iteration.

Scope verification is accomplished within each iteration, as customers get to review, test, and accept the implemented features. Ideally this happens throughout the iteration, but it can also happen at the end of the iteration during the demo of the working code. Those features that were not accepted (either because they weren't ready or weren't right) move into the backlog or into the next iteration. The management of this backlog addresses scope change control, as discussed in Part 1 of this series of articles.

You can see that PMBOK best practices aren't really that different from agile methods; they're simply done more often, iteratively and incrementally, with the attention to detail that's appropriate for the timeframe. This means that scope has the potential to change at the end of every iteration, as new information is learned about the technology and the customer’s preferences. And because it's the customer who’s deciding what the team should work on next, satisfaction rates rise with every iteration.

In my next article, the third in this four-part series, I'll discuss quality management and risk management in agile projects.

Click Here to Read Relating PMBOK Practices to Agile Practices Part 1 of 4
Click Here to Read Relating PMBOK Practices to Agile Practices Part 3 of 4
Click Here to Read Relating PMBOK Practices to Agile Practices Part 4 of 4


About the Author
Michele Sliger has worked in software development for over fifteen years. She currently works as an agile coach for Rally Software Development, where she trains software development teams in agile methodologies. Sliger has served as a project manager at Qwest Communications, a consultant for Fortune 500 companies, and was a founding member of the engineering teams at two biotech start-ups. She is a certified Project Management Professional (PMP) and a certified Scrum Master. In addition to her service at Rally, Sliger is also an adjunct faculty member of the University of Colorado, where she teaches software project management to graduate engineering students.

Back to Top
 

StickyMinds.com Weekly Column From 04/17/2006 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Sheryl Glass 7/26/2008

Can you share how the critical path method CPM is used in an Agile, Waterfall,and COTS environment?

Author's Response:
7/27/2008    
You can read more about the Theory of Constraints (critical chain, not critical path) by reading material written by Eli Goldratt. Start here at wikipedia's site: http://en.wikipedia.org/wiki/Critical_Chain_(novel)

Agile approaches focus on eliminating waste and removing bottlenecks, in order to increase throughput. Therefore agile ascribes to the TOC rather than to a critical path analysis.

 
 
Comment:    
by Catherine Wright 10/19/2007

Great articles. As a project manager using Agile for the last 2 years, I struggle to keep the requirements up to date so testers know what to test against. We are very flexible and respond to our client's requirements changes very quickly during development. Our client is very happy but our QA people are really struggling. Any suggestions??

Author's Response:
10/24/2007    
Sounds like you're missing one of the key elements that make up an agile team--cross-functional members. An agile team is made up of coders, testers, tech writers, etc., who all participate in planning. So there's no hand-off to QA.

Also, requirements are locked down during the iteration, and change occurs in between iterations (and your testers should be attending those planning meetings where they learn about the changes).

You may want to pick up James Shore's new book, "The Art of Agile Development," or Ken Schwaber and Mike Beedle's "Agile Software Development and Scrum". Both should help answer your questions in more detail.

Good luck!

 
 
Comment:    
by Glen Alleman 1/15/2007

Michele,

Interesting article. The one thing though is the try not to mix up "plan driven" with Waterfall. There are many "plan driven" approaches to project management. There are "NO" official waterfall approaches to project management. The federal government replaced the traditional linear project life cycle with a spiral approached many years ago.

PMBOK does not define the project life cycle it only defines process groups and knowledge area. To suggest otherwise is to misrepresent the PMBOK.

As a practitioner of agile in high ceremony environments, it's troubling to see simple mistakes in understanding on...Read On

Author's Response:
1/15/2007    
Thanks for your comments, Glen. You're right about my needing to be careful using the term "plan-driven". In the agile community it has come to mean any waterfall-type approach, but waterfall is a methodology for software development and not, as you pointed out, a project management approach.

PMBOK does however discuss the project life cycle (Chapter 2, pgs. 19-24) so I'm not sure I understand how I've misrepresented that. I am reinterpreting the PMBOK given my agile perspective - perhaps you feel my interpretation is off-base? You may be right.

This series of articles is based on my experience in working in both arenas, agile and "high ceremony," and how I made the connections that helped me transition to agile. While they certainly are broad statements, they are not without foundation. It's my hope that by sharing my experiences I can help others who find themselves on the same path.


 
 
Comment:    
by Joe Rancourt 6/21/2006

Excellent stuff. Trying to introduce scheduling thoughts to our client, whose PM has interest in Agile.



Anxiously awaiting article 3 (1 was 2/17) (2 was 4/17) (3 is ????, I've been looking everyday since 6/17)

Author's Response:
6/21/2006    
The publication date for parts three and four are scheduled for 8/21 and 11/13 respectively. (I'm writing as fast as I can! All this thinking is hard.) Be sure to check out the July/Aug edition of the magazine - they're publishing an article I wrote on agile teams in waterfall enterprises. It's my hope that those who've found this series of interest will also enjoy the magazine article. Thanks for your comments Joe!

 
 
Comment:    
by Bruce Rennie 4/23/2006

These articles are timely as I'm working on my PMP certification as we speak. I come from an agile background, being a ScrumMaster and working as an Extreme Programming coach for the past four years. Someone used to agile practices might be tempted to pooh-pooh the PMBOK as too heavy. As you've shown, the tools are still valuable, even if we apply them differently. Great articles.

 
 
Comment:    
by Sharan Karekatte 4/19/2006

I really liked that example of the inverted triangle. Though I had a rough idea about the differences in scope definition between the conventional and agile processes that diagram just nailed it, as they say a picture is worth a thousand words. In response to Tuesday Frase's questions, I'm the only QA person on a newly formed Agile team and I am involved in each iteration from the very beginning (as Michele stated) so when the developers are busy researching/developing the application for the current iteration I'm concurrently working on test cases and automated test approaches. As soon as I get a test build I start testing the feature...Read On

Author's Response:
4/19/2006    
This is great, Sharan, thanks so much for sharing!

 
 
Comment:    
by jeroen houkes 4/19/2006

One question wrt to the iterative design. In case you only design you solution in detail in the iterations, does this not pose the risk that new functionality in future iterations are limited by desiign choices made in previous iterations? In other words, do you not need to make one overall design, before entering the detailed design phase?

Author's Response:
4/19/2006    
Thanks for your question, this is an issue that many people ask about. Yes, we do present an overall design during release planning - but it is very high-level. And documentation of this design may be as simple as a photo of the whiteboard that the architect was using to illustrate the concepts to the team. By developing incremental chunks of functionality, we're able to reduce risk by essentially delivering proof of the viability of the design every iteration. And when we're wrong (which we'll discover early due to the nature of agile practices), we refactor. Better Software (the print edition) has a nice article on refactoring, and I'd encourage everyone to read it!

 
 
Comment:    
by Paul Courtney 4/17/2006

Michelle- Thanks for this tidbit of relating the classic development priorities to the Agile ones. I've been holding back from the Agile "movement" since I just did not understand what the value was. I even heard someone speak in out department who uses Agile methods and has his "scrum" every day, but I still did not really understand the basic value that agile methods were supposed to give to a developer. It never worked for me to see Waterfall vs Agile methods compared, since I don't know anyone who uses classic waterfall methods anymore; if anything I've used subsets of the RUP with it's iterative methodology to my...Read On

Author's Response:
4/19/2006    
My pleasure, Paul. I hope you get the opportunity to give agile a try - I think you'll be amazed at how well it works!

 
 
Comment:    
by Jim Bernstein 4/17/2006

More frequents release mean more testing earlier in the development lifecycle. How have companies addressed this challenge?

Author's Response:
4/17/2006    
Testers are embedded in the team, so they hear first-hand with everyone else about changes and how the application is supposed to operate. They then create automated tests, including full regression suites, that are run on every build. Documentation is reduced, so testers can spend more time focusing on the tests themselves. Developers also help, by setting up test harnesses and doing unit testing. Quality becomes a team effort.

 
 
Comment:    
by Tuesday Frase 4/17/2006

Here's a follow-up question - perhaps the author can shed some light on this. I manage the software quality assurance group at a barely mid-sized dot-com firm. We recently launched an initiative to move to Agile development. The problem is, now projects seem to be flying fast and furiously at my team. What's the secret to balancing Agile processes with proper planning? It seems that Quality Assurance is now being perceived as a bottleneck for Development - when the real issue seems to be that we simply aren't involved in time to follow true Agile development. We're left with little time to create Test Approach docs or granular test tasks -...Read On

Author's Response:
4/17/2006    
Hi Tuesday, Your situation sounds really frustrating! Unfortunately it is common in new agile teams who haven't fully made the transition to iterative and incremental development. Testers need to become part of the development team, and be involved in the process from the very beginning. Then while programmers are writing code, testers are preparing in parallel by creating automated tests for that code. (I'll write about quality in the next article in this series.) Are you part of the team? Are you attending the planning meetings, including the daily stand-ups? Are you doing automated testing? Are you delivering an incremental chunk of fully tested and accepted functionality each iteration? When you can answer "yes" to these four questions, your QA staff will really be doing agile! Good luck! -Michele

 
Back to Top



 
Ads By Google
What's This?
 
 



Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2010 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


Infosys

TechExcel, Inc.




STAREAST 


Better Software Conference