Recently I posted a comment to an article talking about only billing hourly and not entering into fixed bid contracts.  I agree with the post (for the most part), but felt compelled to respond to one of the comments.  I thought I would include this in my blog because I think it is an interesting topic.

The focus here is not how we estimate from an Agile approach (read Agile Estimating and Planning if you are looking for that).  Here, I am addressing a specific argument that Agilists "can’t estimate how long a project will take, so you are not taking responsibility".  This could not be further from the truth.

We all have experience estimating how long it will take to complete a project.  Remember, these are estimates.  The accuracy of an estimate depends on a number of things including the level of detail at requirements gathering and how much things change before the final delivery.

Just because you are Agile doesn't mean you do not estimate.  From a long-term planning perspective you can still provide the customer with a time estimate.  However, it is generally recommended to broaden the estimate the larger a project becomes.  If it is a one year project, estimate that it will be completed Q3 2009.  As you get closer to the end of the project, you can refine the target, like Sept 2009 or as you get even closer, a real date like Sept 26, 2009.

With a high-level time estimate, the customer can still budget for the project.  You can give the customer a rate and a time estimate.  Let them do the math.  They will see that the project will cost them between $150,000 and $200,000.  If you feel compelled to do so, do the math for them.

One of the purposes of Agile is to give the customer what he wants, not what he wanted.  A waterfall approach without communication with the customer during development will lead to delivering a product the customer will not use.  With Agile, because you are in constant contact with the customer, providing regular updates on the product, you will be able to adapt to the customers changing needs.

The beauty of an Agile project is that the customer is able to provide feedback continuously.  Many times this means delivering a better product in less time.  The customer gets exactly what he wants and saves money at the same time.

All that said, if you are a company without a lot of credibility (like a start-up), many times you don't get to call all of the shots.  If the customer demands a fixed bid, perhaps you take it because you need the revenue.  However, you can still apply Agile principles within a fixed bid project.  Change management just becomes harder with a fixed bid.

So, can an Agilist estimate how long a project will take?  Definitively, yes.  Does and Agilist take responsibility for her estimates?  Again, yes.  However, she goes beyond that.  She takes on the responsibility of giving the customer what he really wants.

posted on Friday, August 29, 2008 12:26 PM
Filed Under [ Agile Customer Satisfaction ]


No comments posted yet.

Post A Comment