Greg has an opinion on Fixed Price Bids over on Code Better. I agree
with his concerns. They are definitely important. Agile
methodologies are all about trust and contracts are all about protection.
I think Greg is using the wrong analogy and asking the wrong questions.
“an you imagine for a minute going to a builder in a new development around
the corner from your house and signing a $300,000 contract for them build you
a house without a floor plan or other specifications being included in the
No, I can’t. But, consider that as detailed as a home
plan is, it is often not followed very closely. Ask some friends who have
built homes and they will describe where the contractor messed up, or places
were things are different than the plans, sometimes significantly
different. Further, I propose that the complexity of most software
projects are far more complex than building a house. Instead I compare it to building a highway and including large
bridges over waterways.
The highway part is the part of the software that is pretty common and you as
the developer have no worries and can see the outcome already. The bridge
part is the complex part and the part that you know may have to be modified some
part way into the project. Medium to Large software applications aren’t
written nearly as often as houses are built. The process is not as nearly
as refined. If it were, many of these methodologies which are discussed and being adopted right now would
have long been adopted and there would be no question.
The point is, that the contractors who build huge bridges and highways are
often off the mark, and often enough sometimes 40-50% off the mark on
costs. I’m not sure what the contractual and legal deals look like in
projects of this nature, but my gut tells me that they have more in common with
a large software project than does the construction of a house.