Fix price project in trouble…

Yesterday I receive this e-mail:

Dear friends,

Sorry to bother you, but I’m asking for your advice on the following
matter.  My company is engaged in a project that is losing money.
It’s a fixed-scope, fixed-money and we’ve badly underestimated the
effort required.  For the record, we started in May last year, and we
estimated it would be over in a year.  My current estimate for
completion is around March-June 2010, depending on how many people we
leave on the team.  Currently we are staffing 6 people, but the
original plan called for 4 people.

Yet the customer insists on paying us the fixed amount, and we’re
losing money badly.  The people on the team is discouraged; there is
no end in sight.  Our customer’s customer is also angry because of the
delays.  The only good thing is that we managed to keep the developers
working regular hours.

On Monday I’m going to have a Difficult Conversation with the
customer.  I’m going to ask them to convert the current fixed-scope
project into a variable-scope one.  I will tell them:

“Dear customer, the amount of money that you are still to give to us,
according to the plan, will allow us to keep this team going for about
15 weeks, working barely above cost.  We’ll do everything you need on
this project, for this time, so that we reach most of your major
business objectives.  After those 15 weeks, we’re even, and any
remaining scope will have to be done with a new contract, or possibly
with a new supplier.”

I’m going to list the following advantages:

* No more bickering about change requests; we’ll do everything you
need, in priority order.
* We’ll start splitting stories aggressively so that we can get the
most important functionality working, cherry-picking it from the whole
remaining scope.
* Working in a more focused way we can probably obtain most of the
business value you expected, since 15 weeks is a lot of time.
* Therefore, we’ll give you the maximum possible value for the money
that you originally intended to spend.

They are not going to like this; they are very much of the mind that
“it was your estimation error, so you must pay for your errors.”  My
view is that we’re working full time, with competent people, dedicated
full time to the project, so if we’re taking so long it’s mostly
because the project is complex.  It’s their product we’re building
after all; when all is said and done, they will have a product, and
we’ll only have the loss.

What I’m not comfortable with is, what to do if they refuse to see it
this way.  I’m thinking along the lines of,

“I’m sorry; if you refuse to cooperate, and bind us to this contract,
we’ll stick to the letter of the contract.  We’ll keep no more than 4
people on the project, we’ll take as much time as it takes, we’ll pay
our penalties and not worry anymore about your deadlines.  Also, we’ll
start doing things strictly according to the spec, and we’ll refuse to
do anything that is not in the spec.  If what we build is not what
your customer needs, then we’re sorry but it’s not our problem.”

I’m not comfortable with that, because it will be hell for the
developers, and it will possibly lead to the customer dumping us and
not pay us anyway.  And I don’t like to threaten anyone.  This course
will probably lead to great losses for both parties.

The other option would be to threaten to walk away from the project
right now; this would also lead to litigation and great losses for
both parties.  My boss does not approve of this possibility.

So I’m asking; what would you do in my place?  What would you say
when/if the customer refuses to agree to put a cap on our losses and
accept a variable scope project?



My scariest idea :

– Ask for help from the customer.

My less scary idea:

I guess that this team got into this trouble because they have created and delivered functionality that was not initially agreed upon. That in itself is normal. It is actually good to give the customer what he wants. I’s my guess that the problem in this situation is that the team did not remove other functionality. So now they deliver new stuff and the originally requested functionality. And then they go over budget.

So I advised this person to get a list of things they have added based on customer demand.

With that list they could now negotiate:

1 The customer pays extra for these extra features
2 Remove other initially features that are not yet developed.
3 Remove the extra features (not interesting for both parties)

These idea’s about fixed time and budget agile projects are based on two articles from Pascal Van Cauwenberghe. If you do fix price projecs, make sure you read these:

That are my idea’s. As this is a very tricky situation and I’m pretty sure some of my readers are smarter then me, feel free to e-mail me or post a comment with your idea’s.

I  am Yves Hanoulle, your virtual Project coach and you can mail me: blog at my training company  .net



6 Responses

  1. yves – thank you for sharing this.

    Firstly, If your team (or the company) can afford to take the hit (sure they will make a loss) , then I would suggest they do this – it will be a costly (but hopefully acceptable) lesson but a very worthwhile one. But they will perhaps save the customer (and their customer). Perhaps invite the customer to a project retro afterwards to find out how to improve for both parties.

    If they can’t take the hit, then the only thing to do is ask the customer for help NOW – in a collaborative way. Your approach seems the right one – so do it soon! If you are an external to this, the customer (and their customer) might listen to you a bit more than the dev company. If not , perhaps try and find someone who is recognised as a mediator by the customer.

    If they choose not to be collaborative etc, then it can only go the way you predicted (I feel) and then contract negotiations wins over collaboration 😦 – at which point it really doesnt matter whether its walking away or bickering about the letter of the law – it all ends badly from that point.


  2. I don’t understand your analysis. You guess the problems are caused by delivering not agreed upon functionality? The mail clearly states: “we’ve badly underestimated the
    effort required”.
    They have a contract with the customer, and are not delivering on what they agreed upon. If they are lucky, and have a nice customer, they can renegotiate, otherwise they’ll probably need to pull out and pay a penalty, or just take the loss.

    • @Andrej,

      I made that analysis because in all causes that I know a project that was that much over budget, the developers delivered features not requested in the initial scope.
      Sometimes it was hidden, sometimes it was not requested by the customer, most of the times it was open and clear that exra stuff was created, but the customers did not realize the cost of it.

  3. Hi Yves, thanks for sharing!

    I actually find your “less scary” idea to be quite scary – it can easily be (mis?)understood as finger pointing: “it isn’t our fault, we just did what you asked us to do. Now you have to suck it up.”

    What I would like to have the courage to do in such a situation is go to the customer and say something along the lines of:

    “We screwed up. And we are sorry that we did. We understand that you must be angry, and that you want us to deliver what was agreed upon, to the agreed upon price. At the same time, we do have obligations towards our company and our colleagues. We feel that we can’t live up to those obligations if we just continue the project as is, finishing it to the existing contract. This puts us in a difficult position.

    We still very much want to make this project a success for you. We need your help in finding a way to do that that is responsible both regarding your business and our business. Will you help us?”

    • @ilja with scary I mean that it takes courage to say that.
      Now I realize the second one takes less courage to say, because of the fingerpointing.

      From what I understand from my friend he said something in between my first sugggestion and yours:
      He presented his problems to the customer and asked them for a solution. Then he proposed his solution, which is to convert the project to variable scope. he had a bit of
      explaining to do, but there were no hard feelings. In the end they told him they will think about it. he said he could not hope for more for the first day.

  4. Hi Yves. I won’t duplicate Ilja’s response, but will add to it. Here’s my response to the proposal made in the note you received:

    If your team said “yes” to stuff not on the backlog, hopefully it was done in the spirit of “collaboration over contract negotiation” and that’s good. If not, if this stuff just snuck in, then the fault lies with your team, not with the client, who’s not responsible for how your team follows their own process. This topic, then, should be something to clarify and perhaps apologize for, not to charge the customer for. Starting this conversation with a request for money would lead the interaction down the path of “negotiation” pretty fast, I think. Find the real value of the project (is it the end customer’s happiness? What would that take?) and ask the client to work with you to make it happen, in stages. I mean – the contract is blown, so any pretense of meeting it is an illusion, right? (That would be another thing to reallhy get out of the open. Your client probably really wants software more than litigation.)

    Sounds like you’ve unfortunately got a real-life case of the CSM course’s “Ernie” exercise. Perhaps worse, as the date has already passed. Sorry to hear it – and looking for support from peers was a great idea!

    Let CARE guide your choices. Do you care about this customer? Not just as a business but as individual, whole people? If you can find your care, it will communicate itself as you speak to them. It will put your care for your own people in context (not caring for them more than the client, but as well as the client). And find out what your client cares about – don’t guess. ASK them! It can change the whole tone of subsequent conversations.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: