Skip to main content

Fixed Bid Agile Without Cognitive Dissonance

I've been following a LinkedIn forum discussion with interest entitled "Could we use Agile methodology with a fixed bid contract."  There are some quick, snappy answers to the question which came up immediately which I will quickly put into two categories:
  • Straightforward:  NEVER NEVER NEVER.  Run away!  Screaming!  These people don't understand agile.  It's a smell.  It's a TRAP!   I'm embarrassed for you.
  • Nuanced:  If you must do this, here's how to make the best of a bad situation (offers advice with implied background nose holding).
Of course, there were also some really useful answers, pointing to blogs like this really nice one from codesqueeze, recommending "target scope" or "target cost" models rather than either "fixed bid" or "time and materials."

from http://www.cytrion.com/businessmodel
Let's talk about "fixed" things though.
 
I'm always intrigued by people who think a perfect stranger should hire them to build software on a "time and materials" basis, or on a retainer, or on salary, and be willing to wait and see whether they will eventually get some monetary benefit from the resultant software that meets or exceeds overall expenditures.  I suppose I shouldn't be surprised.  Sales is more often than not about emotion, gut feeling, and trust, and not about projected returns on investment.  And the decision to pay someone in particular to build software boils down to a sales proposition, one way or another.

Let's posit a world where software delivery team hiring and retention could be subject to financial projections justifying the cash outlay, and in which the hiring body would routinely compare money spent to software return on investment.  Crazy talk, I know, but humor me.

In such a world, the first thing we would want to do is push a little harder on definitions.

What do you mean by "fixed bid?"

Mary Poppendiek summed it up neatly in 2011 with her Agile Under Contract presentation:  agile software development lends itself extremely well to "Fixed Price" contracts, but agile does not lend itself well to contracts with "Fixed Scope."  One of the great advantages to an agile project is that you can stand up a team of people with a known run rate, agree to pay them for a certain time period, and then focus on questions around "what can I get for my money?"

So if we're talking about the simple question of "should you accept a fixed price contract" for agile, the answer is yes, certainly, so long as you make sure you set a protocol with the client for reviewing expected scope on a regular basis.

If you structure the engagement as a two-phase one, with the first as a workshop engagement to get consensus and structure around the functional details, and then move into a larger fixed price agreement, which includes an agreed-upon contingency for newly discovered functional needs, you are embarking on a project that will be much better than anything this client has seen before, and they will be a great reference for you.

But if we're talking about "fixed scope" projects, isn't that still really insane?  Agilists shouldn't do that!  It's evil!

Hold on a minute, there.  You're right.  That might be insane.  But let's say there's an insane person or company out there that wants to hire someone to do something for them, but only on the condition that the work must be done fixed price/fixed scope.  And they are willing to negotiate on the price up front.  Does Agile philosophy or methodology forbid you to bid on that project?

If they are an evil client planning to take advantage and act in bad faith, then of course you shouldn't agree to work for them, no matter what.  Some agile thinkers regard the fact that a potential client is insisting on a fixed bid as a strong indicator of underlying evil.  And perhaps it is.  Buyer beware.  But as you weigh your prospective clients, please make sure you understand when you have made a judgement call based on the implied trustworthiness of the client, and don't confuse that judgement with a theoretical rejection of their professionalism or intelligence.

For a moment, let's posit a good faith client who operates under old-fashioned methodology, not "a bad person."  Maybe they are working in a highly regulated industry.  Maybe their dad is making them do things this way.  Who knows.  Can you work with them?  This brings us to the final definitional question.

What does your client mean by "fixed scope?"

To me, this is the real crux of the matter.  No matter how you structure your contract, you're making a guess at the beginning about what the end-state scope is going to be.  The project is creating something that has never been created before.  All engagements, in fact, are the combination of an initial agreement and an ongoing professional interaction.

Most people can agree on the first three values of the agile manifesto:  focus on people, working software, and customer collaboration.  The sticking point for your fixed bid oriented clients is most likely on the final point:  with this kind of contract, how can you embrace change and avoid arguments about sticking to an original plan?

I think there's a simple answer to this:  spend some time in your fixed bid contract discussing the "change management" protocol.  Instead of getting all fussy about "that's not agile" or "I'm out of here," placidly agree to do a fixed bid contract, and put your energy into discussing:
  • how scope will be defined and enforced throughout the life cycle (pushing for lower granularity at the start, more defined granularity just before development,)
  • how progress will be reviewed (pushing for regular customer involvement and inspection), 
  • what the threshhold should be for discussing functional changes to the software (push for delegation to functional subject matter experts, except where some overall impact to timeline will be made)
By pushing a pragmatic change management protocol (along with a contingency built into the pricing), you can gain significant agile benefits for clients who wouldn't otherwise accept them.

Comments

  1. As always I am impressed by your pragmatic approach - your blog really deserves the title. Thanks for sharing

    ReplyDelete
  2. Elena,very nice post. From my little experience, when people say fixed price they usually mean fixed price, fixed scope, fixed time. The real trouble appears when the provider (read IT services) has signed this deal with 'Agile' as agreed execution approach. The team is left with only 2 option - either to quit the project OR surrender to conditions, deliver somehow by compromising on Quality. None of either is Agile!!

    ReplyDelete

Post a Comment

Popular posts from this blog

How Do You Vote Someone Off of Your Agile Team?

One of the conundrums of agile conversion is that although you are ordered by management to "self-organize," you don't get to pick your own team.  You may not have pictured it this way, but your agile team members are going to be the same people you worked with before, when you were all doing waterfall!   I know I wasn't picturing it that way for my first agile team, so I thought I should warn you.  (I thought I was going to get between six and eight original Agile Manifesto signers.  That didn't happen.). Why "warn" you (as opposed to "reassure" you, say)?  Because the agile process is going to reveal every wart, mole, quirk, goiter, and flatulence issue on the team within a few hours.  In the old days, you could all be eccentric or even unpleasant in your own cube, communicating only by document, wiki, email, and, in extreme situations, by phone.  Now you are suddenly forced to interact in real time, perhaps in person, with written messag

A Corporate Agile 10-point Checklist

I'm pretty sure my few remaining friends in the "small, collocated team agile" community are going to desert me after this, but I actually have a checklist of 10 things to think about if you're a product owner at a big company thinking of trying out some agile today.  Some of these might even apply to you if you're in a smaller place.  So at the risk of inciting an anti-checklist riot (I'm sorry, Pez!), I am putting this out there in case it is helpful to someone else. From http://www.yogawithjohn.com/tag/yoga-class/ Here's what you should think about: 1.        Your staffing pattern.  A full agile project requires that you have the full team engaged for the whole duration of the project at the right ratios.  So as you provision the project, check to see whether you can arrange this staffing pattern.  If not, you will encounter risks because of missing people.  Concretely it means that: a.        You need your user experience people (if a

Your Agile Transformation Needs to Start with a Quiet Phase

From a really great blog post on agile adoption:  http://smoovejazz.wordpress.com/2011/02/16/an-agile-approach-for-adopting-agile-practices/ I've observed some different agile transformation patterns, and maybe you have too: Just Do Standups   (Shoot, then Aim):   some people feel that since you're "agile," you should just start doing stuff, like daily standups, and then build more of the the plan as you go.  Find a team and start doing some agile with them!  Start a revolution one practice at a time, one team at a time. Pros:   you're very busy from the start. Cons:   what exactly are you doing and why? KPI-Driven Change (Aim, then Shoot) : some people who have worked in large corporations for a while will tell you that to get the respect of the people, you need to start with a plan, support the plan with awesome printed and online collateral.  Then you "kick off," tell teams what to do, and measure them using "Key Productivity Indica