Easing into XP - for the Harried and Stressed
Gaillot describes a familiar vicious circle:
The more pressure you're under to deliver, the less you care about the quality of the software you're releasing. Unfortunately, the less the quality is, the more rework you'll have to do. And of course, more rework means more schedule slippage, ergo more pressure to deliver the next bit.Gaillot's approach involves "borrowing" a small amount of time to make initial improvements, and "paying it back" later when the team is performing better. Here is a summary, you can read the full story on Gaillot's blog.
What are your choices, really? Be cool, and take the time to experiment, learn, train, and share with your team? Or be in a hurry, accept your miserable fate and polish your resume for your next project? There must be a better alternative. Here's what I propose -- no matter how bad your current project seems to be, there's something you can do to improve its process, gradually up to the point where you may officially say you're fully agile
- Realize that your accepting pressure is a choice.
- Don't try to resolve all the pressure at once ... [but do] give yourself the permission to improve the situation. And -- most importantly -- keep track of the time you're borrowing.
- Watch for improvement. The point isn't to win big, it is to repay your debt before the project is cancelled.
- Use that extra time you've gained and reinvest it. This is the crucial point. Now you have time to improve.
- If you keep spiraling up, there's going to be a point where your managers will start noticing ... and will want to know what you've done differently. Don't tell them yet. Instead, negociate.
- When your process is stable enough or the client happy enough, celebrate again. This is the time you may start disclosing what it is you're doing.