Bedazzled?
Posted by posted by Francis @ 11/26/2003 11:41:00 PM
Software projects have a reputation for costing too much and generating very unpredictable results. In this age of cost-consciousness, the trend that I am seeing in my customers is to try to avoid that problem altogether trying to strike fixed-price arrangements with a contractor. From a business point of view, this just seems to make sense. To ensure that they get what they pay form, they will use contracts and a big specification document as a yardstick by which to measure the achievement of the objectives.
This is far from someone just asking a contractor:"How much is it to build me a software to track my sales?" but it reminds me of a movie called bedazzled. In that movie, a guy strikes a deal with the devil and gets a certain number of wishes. In the first wish, he wants to be rich. The wish is granted but he is now a Columbian drug lord with people trying to kill him. As the movie runs its course, the guy gets much more precise in his wishes but he consistently forgets a details and never gets what he wants.
Of course, in the movie, the devil tries to find the flaw on purpose and takes advantage of it (what do you expect... She is the devil). Assuming the contractor you choose is not trying to build something you don't want on purpose, the system described in the specifications might not be the system that you really want or need.
This being said, I will sometimes find myself on the contractor end of such a project. The customer realizes (often after discussing various alternatives with me) that the system that was described in the specification doesn't solve their particular problem. Because the budget is fixed, I find myself with few alternatives. I could finish building the original system and have an unsatisfied customer. I could agree to a change in the original plan. The problem there is that any change will have an impact on cost. That increase in cost will have to be spent either in actual dollars or by removing some functionality. This will no doubt be interpreted as a failure of the contractor to provide accurate estimates. I'm not sure what is worst.
I wonder about the feasibility of micro-engagements where the contractor and the customer would negotiate an arrangement on a feature-by-feature basis. Some sort of Extreme-Contracting where the contracts would be short enough (4-8 weeks) that the content of the deliverable would be unambiguous. If the requirements changes mid-stream... The work lost has already been accounted for and approved. I think that this is a model when the risk of going into a software project is more clearly spelled-out and is shared more equally between the contractor and the customer.
Labels: work

