I had an epiphany today in the conversation on Agile Project Management. Agile Project Management is not about Project Management, it's about Agile Software development. Now software development an be part of a project. There are times, when the development of software "is" the project. But the development is software is not always about the project. The project may have many other aspects other than the software.
I've been on several software intensive projects in the past 4 years:
- Hubble Robotic Service Mission - fly to Hubble, rendezvous and dock without intervention of ground controls, hook up a new power source, change a camera and do no harm to the telescope.
- Crew Exploration Vehicle - move a crew of four from the Cape to the International Space Station using pretty much Commercial Off the Shelf guidance and navigation systems from Honeywell.
- Insurance claims processing - replace a large collection of legacy applications with a COTS product and a bunch of custom code
Each of these projects was heavily based on software development, software integration, and software features and functions. But they were not just software development projects.
The question is "when is the project just about developing software?" There are such projects. I've done a few. Operating systems, compilers. But beyond that the software always had some humans or another machine connected to it in some way. A radar system, an order processes system, a boiler, a missile. These "systems" were more than the software. The software was an important part, but it was just that a part.
All of this is important to make the point that agile software development is not the same as agile project management. Software is a component, a subsystem of the system. The project is to develop the system. The engineering aspects of the system are just one part of the project. I posted some time ago a matrix of the Knowledge Areas and Processes Groups of the practice of Project Management. This is one of many pictures of these processes, but a good starting point.
If we're developing software using one of the Agile Software Development methods (XP, SCRUM, Crystal, etc) where are the process groups and knowledge areas covered? If you don't like the ones posted in the picture above, there are many others to be found at any project management methodology site.
Is Agile software development the same as Agile Project Management? Is Agile Project Management related to Project Management in general? Not from what I can see. If so, then what is the map between the Agile Software Development process groups and knowledge areas to the Agile Practices?
And if there is no map, then what are the principles of Agile Project Management that provides alternatives to those found in the previous project management processes? If there are none, were they not needed? If not needed, then what are they replaced by?