Software Best Practices

Voices on Software Development Best Practices
Welcome to Software Best Practices Sign in | Join | Help
in Search

CCPM & Agile: A marriage made in heaven or divorce waiting to happen?

Last post 02-16-2008 4:26 AM by Nick. 2 replies.
Page 1 of 1 (3 items)
Sort Posts: Previous Next
  • 02-15-2008 10:22 AM

    • Nick
    • Top 75 Contributor
    • Joined on 02-08-2008
    • Indianapolis
    • Posts 2

    CCPM & Agile: A marriage made in heaven or divorce waiting to happen?

    Our IT group supports a large research and development organization.  We have 100+ active projects now, many of which are package implementations (given the amount of configuration & interfaces, these are non-trivial development projects).  We also have many pure software development projects where we utilize agile methods such as eXtreme Programming and Scrum. Part of our organization has benefited from the use of Critical Chain Project Management (CCPM).  I’ve been rummaging the internet to find information regarding the combination of these on a project - specifically, the use of XP with CCPM.

    I’m still searching for answers, but one thing is clear to me at this point.  The opinions range from, “they mix like oil and water” to “a perfect combination.”   Others suggested that if you do really great requirements up front, followed by some good design work, you can use CCPM with XP (sounds like a CCPM person who recommends a waterfall called XP).   Still others suggest that you can utilize CCPM by only applying some of the principles (focus on task at hand), and that buffer isn’t really that important.  (sounds like an XP person trying to check the CCPM box).  

  • 02-15-2008 12:09 PM In reply to

    Re: CCPM & Agile: A marriage made in heaven or divorce waiting to happen?

    Technically, no you cannot apply CCPM on an agile practice. CCPM is built on an activity network that you add feeder and project buffers. The underlying assumption is you can define all the work and their dependencies. This is counter to the underlying agile assumption that the end state keeps changing.

    Recently agile proponents have been starting to add agile release planning practices to their projects. This is in a response to customers who need visibility into large initiatives or those organizations that cannot absorb change every sprint (e.g. every 3rd sprint goes to production). In theses case, some of the key CCPM principles and concepts can and should apply. Specifically:

    • Identify your bottlenecks. As you build an agile release plan, you need to know and base your decisions around your bottlenecks. For example, if your Product Owners and SMEs cannot resolve issues around a business process, you cannot include it in a sprint backlog even if it is the highest value item.
    • Eliminate buffers from task estimates. Agile practices already do this.
    • Use Feeder and Project Buffers. Teams often add a stabilization sprint in cases where there are multiple sprints per release. This is a form of project buffer. I know of other teams who schedule the demo a few days before the end of the sprint. This is a form of feeder buffer. I've also seen a team build a release roadmap that intentionally undersized every 3rd sprint (e.g. a catch-up sprint). This allowed them to absorb changes without changing the external stakeholder's overall expectations.

     To summarize, the techniques used on CCPM projects do not work on agile; but the CCPM concepts lead to a better release plan.

    Jerry Deville
  • 02-16-2008 4:26 AM In reply to

    • Nick
    • Top 75 Contributor
    • Joined on 02-08-2008
    • Indianapolis
    • Posts 2

    Re: CCPM & Agile: A marriage made in heaven or divorce waiting to happen?

    This is about where we got to in a conversation with one of leading CCPM vendors.  I like to keep iteration cycles at 2-3 weeks and I also like to keep a regular cycle (ie. I've seen significant benefit at keeping to a regular schedule of a 2 or 3 week iteration/sprint).  With that in mind, it doesn't make sense to define a chain for the iteration with a buffer which would make the iterations variable in duration. 

    I am entertaining the thought of some kind of a project buffer.  By the nature of our business (R&D), it can be difficult to predict how long the overall project will take to meet the objectives of our internal customer.  Something like COCOMO 2 can help but it is a top down (parametric) estimating technique, so there is more variability.  We can define some overall project buffer and consume (or give back) at the end of each iteration in evaluating how much was done (or, more likely, what new learnings created more stories/backlog).

    So I'm thinking the value of CCPM may come in our ability to communicate when we think we'll meet the project objectives (and when those developers can be assigned work from a different project).  

     

     

     

Page 1 of 1 (3 items)
Seminars           www.Construx.com           Consulting