Extreme Programming for Web Projects

I l @ ve RuBoard

During seven years of building Web sites, we have tried many techniques to improve the accuracy of our estimates. One reason we were attracted to XP in the first place was the concept of breaking down the work so that estimates could be based on smaller iterations. After all, the reason you can't quote a project accurately is that you have no idea what it will be until you are done.

So how does XP improve project cost estimation? It reduces the risk of fixed-price quotes, and it provides better track of man hours required for project tasks .

Less Risk on Fixed-Price Quotes

XP takes much of the risk out of fixed-price quoting. As we have seen, most customers require a fixed-price quote and are unhappy with anything more open ended. You will usually have no choice but to go this route. However, XP shares the risk by making the customer commit to paying for the man hours used but only one iteration at a time. Other contractual arrangements may be made to ensure the customer's commitment to the project, but in essence the customer is on the hook for the iteration although he can leave at any time.

Better Time Tracking

XP relies on estimating using "yesterday's weather"; that is, if it was 75 F yesterday , it will probably be 75 F today. With subtle adjustments for variance, this method will produce a relaxed curve from summer to winter. The same is true of projects. If a graphical designer can cut up to 20 buttons in an hour one day, he can most likely do the same number the next day.

The best way to improve this is to track how long it actually takes to complete a task. For each task an estimate is collected, for which you need to record

  • Who estimated the hours

  • What they estimated

  • How long the task really took

When similar tasks come up, remind the development team of their previous estimates. This will help them see trends in their estimates and improve them. When you compare the work actually done in a day to the estimate for it, the estimates for the next day become better. It's that easy.

You can see that the use of XP in project cost estimation can favorably affect a developer's bottom line. There will be much less risk of poor estimates that result in little or no profit or, worse , a loss. The advantage for customers lies is that they know exactly what they will get for what cost. Better estimation increases customer trust.

I l @ ve RuBoard

Категории