Friday, July 28, 2006

 

Multi-Phase Projects

Iterative development is generally a good thing. However, it is important to recognize that things don't really happen sequentially.

I was recently involved in a project that had three phases. The idea was that the developers would create the Phase 1 software, then that would go into testing and later production, while the developers started working on Phase 2. Then when Phase 2 went into testing, the developers would start Phase 3. The intended timeline looked something like this:

Developers Develop Phase 1 Develop Phase 2 Develop Phase 3 Get some sleep
Testers Prepare for testing Test Phase 1 Test Phase 2 Test Phase 3 Get some sleep
Operations Prepare for Deployment Deploy Phase 1 Deploy Phase 2 Deploy Phase 3 Take turns getting some sleep

Looks good on paper, right? I saw the Gantt chart, and it looked very simple.

Here's what really happened: Developers worked on Phase 1, and met a tight deadline. So they started on Phase 2. But of course, the testers found some problems and had some questions about Phase 1, so developers kept getting pulled away from Phase 2 to support Phase 1.

Even with those distractions, the developers met their second deadline. Here's where the real fun started. Now the developers were expected to develop the Phase 3 software, while supporting deployment of Phase 1, and supporting testing of Phase 2. For a team of a half-dozen members, this was spreading things thin.

Rather than being a three-phase project, it was really more like working on three projects simultaneously. There were no breaks for people to rest. Once the system went into production, everybody was on call 24 hours a day to deal with whatever fires broke out. There were all-night teleconferences. The developers were still expected to make progress on Phase 3.

How did it end? Thankfully, a project manager realized that there was no way for the developers to meet the Phase 3 schedule, and convinced the higher powers that Phase 3 needed to be postponed. And so all the developers got to take vacations (except for those who had already quit).

Lessons:


Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?