Wednesday, June 18, 2003

death march

Google AdSense went live this morning. Basically, it's a program that lets web site publishers sign up, and in exchange for displaying content-targeted Google Ads on your website, you get a cut of the ad revenue. Once AdSense was launched, people started using it immediately, and hopefully it will do well over the next couple of months.

One of my friends was an engineer on the product, and he did a 2 day marathon coding session in order to get it out the door. I kept telling him to go home, but the pressures of shipping AdSense outweighed my concerns for his health. In any case, his entire team also stayed late into the night to get the product shipped, and it would have been ackward had he left his colleagues to go sleep.

When I was a release program manager at Microsoft, I remember working hard trying to motivate the many thousands of engineers on the Windows 2000 project to stay nights and weekends to get their pieces of the operating system written, tested, and integrated into the build. It was particularly painful on the last month before the end of any major milestones (beta releases, etc.), as we'd move to a 7-day a week, 12-16 hr/day schedule.

We called this painful drive to shipping a "death march" (in fact, there's even a book written about such things). Death marches aren't healthy, and it caused a ton of engineers to quit the Windows group and move to something much less intense after Windows 2000 shipped.

Anyhow, after what I went through at Microsoft, I try to ensure that the engineers that work on projects I'm involved with don't have to go through a death march (or at least, not one that requires multiple-day marathon coding sessions). Mainly, this comes from not setting arbitary ship deadlines that an understaffed team doesn't have any chance of meeting, and to priortize bugs in such a way that the team isn't fixing frivolous ones that few people will encounter. There are things you can't plan for--like last minute security bugs or website crashes--but for the most part, careful planning goes a long way to avoiding unhealthy last-minute, late-night marathon coding sessions.

Avoiding death marches is an art, and one that I'm still trying to master.