sluggish thoughts on software development

PM Pairing... Why Not?

...

What if the benefits of pair programming could be applied to project management, too?

Anyone who's been in software for a while will undoubtedly have heard the term "Pair Programming." For those of you who haven't, pair programming is where 2 software developers work together simultaneously on the same piece of code. This is usually accomplished through pairing software or a pairing station (single terminal with 2 keyboards). It's been shown in many cases that working together, 2 developers working together can create better code, in less time, and with fewer errors than 2 working individually. Working in both individual-focused as well as pair-programming-centric development shops, I've seen the benefits first hand with pair programming. Even for the staunchest of critics I've encountered, there is still the acknowledgment that in certain instances pair programming is beneficial (a mentor-mentee scenario, is one example).

Lately I've been experimenting with taking the idea of pair programming, and applying it to project management. What if for each major project, a pair of PMs teamed up to manage it? Could the benefits of pair programming materialize with PMing too?

I floated this idea out to a PM friend of mine who immediately responded "but we're already overhead!!". Maybe so, but that doesn't mean the theory would be total bunk.

On a few recent projects, I've teamed up with another PM to see how it would go. Typically, the other PM is a systems manager, or someone else with domain specific knowledge that can compliment my generic Technical Project Manager role. Immediately what I found was that the projects were not only more enjoyable to work on, things like schedules, plans, training, and other artifacts were much easier to create and we could do it at a much higher speed than if I would do it alone. There's also a level of redundancy built in that is nice in case someone has a sick kid or gets stuck on the train.

These observations are of course initial and anecdotal, however it is interesting to think about. I'd like to work on a way to quantify the costs/benefits of having 2 PMs instead of one. My initial hypothesis is that it would be a wash, where 2 PMs could work on 2 projects together in about the same amount of time and effort as 2 PMs could work on 2 projects individually. The time and quality of the work would be higher, and would have the added benefit of knowledge sharing.