On Agile, PMBoK, and CMMI

The project manager doesn’t talk, he acts.
When his work is done,
the team members say, “Amazing:
we did it, all by ourselves!”

Tomorrow is the last day of fiscal year 2009, and you know what that means to a government contractor, don’t you. It means that you have to have all your plans in place for next year, even though the dollars haven’t shown up yet, you don’t have the staff, and the sponsor is continuing to shape the SOW. I’ve been a PMP for a number of years and while I find value in the PMBoK discipline and the common language that it provides, there’s a lot to be said for the agilist point of view. There are a slew of articles on the internet about integrating Agile with high ceremony approaches to software development. Two of the groups that I belong to on LinkedIn are the Agile CMMI (3,788 members) and the Agile Project Management Group (4,048 members). Some would say that they can’t be integrated, and others are trying to develop hybrids, but who says you can’t have both? Now I know that “Truth by analogy is fraud.” (Stroustrup) but isn’t this a bit like having an argument about whether Newtonian Mechanics or Quantum Mechanics is correct. It seems to me that Agile is just a better approach to running a software development team of skilled practitioners, and that high ceremony approaches (PMBoK, CMMI) are better at providing accountability to the customer. Agile works in short sprints, and although they may be the same length, the character of the sprint can change from the beginning of the project when you’re trying to figure out what to build, to the end of the project when you’re trying to tie all the loose pieces together and ship the product. Projects have a longer view – at least they do around here – and cover a lot more ground than just software. The unifying feature is that both sprints and projects deliver something of actual value to the customer for an expenditure of effort over a period of time, and both have measures. Agile has its burn-down charts and project velocity, and PMBoK has its EVM. Now if I can just figure out how to derive one from the other without increasing my workload, I’ll be happy. And that’s my next project.