There’s a non-obvious way in which an Agile methodology, particularly one that includes pair programming among its practices, can be an unhealthy way to develop software.
Achoo.
I just sprayed a several million germs or viruses on the keyboard we’re sharing. In short order, while we continue to crank out code at an impressive rate, any bug I have will be yours to have and to pass on.
This isn’t a theoretical concern. For the last year and a half I’ve been working with a small XP team (6 people growing to 9). We work in close contact in an open office. We sit together. We share keyboards. In that time one cold or flu after another has arrived and made the rounds. Sometimes the cold ping-pongs. Other times it knocks people down like dominos. Isolation is nearly impossible, even when one declares “quarantine!” and works singleton for a day. I just shook off a lingering mild fever that hung on for nearly a week (after a shorter, meaner flu last month). The fellow who sites next to me is on antibiotics after a bad secondary. Even one of the guys who never gets sick was just out for a day. Kleenex is an office supply.
We didn’t make the keyboard connection until today. One of my teamates, who did a stint as a lab technician in the Army, pointed out how unsanity keyboards are. They sit there collecting every cough and sneeze. Doubt it’s a problem? Try turning your keyboard over and shaking. Icky, and that’s just the visible stuff.
Coincidentally, we’ve starting using extra USB keyboards and mice so that each member of a pair can type without having to share a single keyboard and mouse. (Having a second mouse makes it very easy to point to a piece of code while your teamate is typing.) I’m wondering if this, coupled with more hand washing and some way to clean keyboards and mice, will help cut back the cross-infection rate.
Sickness aside, this team is the most productive team I’ve worked with, due both to the people and to our using eXtreme Programming. Take away XP or most of its practices, though, and I’m sure we’d start regressing towards the mean, albeit with less coughing.
Updated to point to an interesting suggestion for cleaning stubborn keyboards.