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

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

Pragmatic Business Analysis: Let's Start Calling Ourselves Product Managers. Seriously.

If you are a current or recovering Business Analyst, you may remember Scott Ambler's assertion in his essay " Rethinking the Role of Business Analyst :" A business analyst (BA) is a poor substitute for developers who have both ready access to actual stakeholders and agile modeling skills.   Remember, BA is also the abbreviation for band-aid. Image courtesy of target.com I have friends who switched to Curad for their fabric bandage needs, they were so annoyed by Ambler's witticism, even though Curad never had the mysterious tiny round bandages that don't do anything, but you feel incomplete without them. In the past, business analysts were always first to go, when a company decided to institute an "agile" policy where everyone on all teams would get called a "developer," supposedly because everyone on the team could do everything needed, but generally because everyone on the team was, in fact, a developer. Often times, the next step

Requirements Traceability in Agile Software Development

One of the grim proving grounds for the would-be agile business analyst (henceforth "WBABA")  is the "traceability conversation."  Eventually, you will have to have one.  You may have seen one already.  If you haven't, you may want to half-avert your eyes as you read further.  It gets a little brutal.  But if you close them all the way, you can't read. From:  http://www.highestfive.com/mind/how-to-perform-a-successful-interrogation/ Dialogue: WBABA :   ...so in summary, we complete analysis on each story card, and then we support the developers as they build it that same iteration! Corporate Standards Guy:   but how do you do traceability in agile?  You have to have traceability.  It's broadly recognized as an important factor in building rigorous software systems. These software systems permeate our society and we must entrust them with lives of everyday people on a daily basis. [The last two sentences are an actual quotation from the Cente