Perverse Incentives of Fixed Cost Software Projects
Last 25 years I have seen many customers asking for Fixed Cost project bids. However, I have not seen a single ‘successful’ fixed cost project. When I say, 'successful' I mean a project where customer and developer company, both, are proud and happy about that project. I have not seen such a project. Main reason is ‘the concept of fixed cost’ results in perverse incentives to both customer and developer and invariably instead of ‘win-win’ the situation ends up ‘lose-lose’ with no possibility of recovery.
This how a typical fixed cost project evolves from start to end. (If your experience has a consistently different outcome, I certainly like to know about it)
Customer wants to get new software developed. He does not have an idea about what the total cost will be. Obviously, he wants to reduce/control his risk. He thinks that ‘fixed cost’ project will control his financial risk. He invites a ‘fixed cost bids’ to his project. Outsourcing companies know that fixed cost project doesn’t work. However, they want to gain a foothold. And they bid for it.
Customer selects an outsourcing company and then the real ‘horror show’ starts. There are lot of meetings to freeze the scope and finalize the specs.
First few months of ‘honey-moon’ period everything is going nicely, and customer is happy/outsourcing company is happy. After 3 to 6 months, first alpha release goes in customer’s hand. Once customer starts using it he realizes that ‘this not what he wanted’. So, he asks for ‘few small changes’. Initially outsourcing company accepts these changes and makes another release. Now customer has more small changes and outsourcing company realizes that their margins and profitability of the project is now getting seriously impacted. Outsourcing company starts pointing out that they have developed ‘exactly as per spec’ and now customer is saying ‘this is not what we wanted’. So customer is changing his mind. Now outsourcing company starts arguing that ‘it is a change request’. Customer argues that ‘it is not, and it is a basic expectation’. In short time, both customer representative and project manager are spending more time and money in negotiations of what is change request and how much it will be charged. A short 2-hour feature requires 20 hours of negotiations. And obviously customer will be charged for these 20 hours (directly or indirectly) along with 2 hours of implementation time.
It is customer’s interest to not pay for change requests and squeeze as much work out of the contract as possible. Obviously that it not in the interest of outsourcing company. Outsourcing company wants ‘as many chargeable change requests’ as possible. Hence outsourcing company may not even point any mistakes in the initial specifications. Outsourcing company will make more margin by forcing more paid change requests. Their interests are not aligned. They are ‘incentivised’ to ‘indirectly sabotage’ the project. Now everyone is thinking about ‘costs’ rather that ‘value’
Honeymoon period is over and now customer representative and project manager both start thinking each other as ‘kind of enemy’. Both think that ‘I am reasonable and other guy is not’. Every review meeting is now a battle of wits and negotiations. Project Team is fed up of constant bickering. They are not enjoying their work. They are now coming to office to ‘complete the time-sheet’ rather than for making customer happy and adding real value. Their productivity starts decreasing. Both Customer and Project Manager notice this and start threatening team. The productivity decreases even further. Now resignations and project change requests start happening and productivity slides even further. Quality issues increase. Releases start bombing.
It’s just a matter of time where your project joins a long list of failed (or nearly failed) projects.
If you have experienced this scenario, please leave a comment
Why does this nightmarish scenario repeat in every company?Problems start because seriously wrong assumptions by everyone involved
- Customers are focusing on controlling cost rather than how much value is realized compared to cost. When customer gets an alpha release after 3 to 6 months and if end users (at least a few end users) are not using this release, then value realized is ZERO.
- It is impossible to create a ‘frozen spec document’. If a customer is getting a first release after 3 to 6 months, in that time periods few requirements will definitely change. In some cases (especially for start-up products) many requirements may change. If your requirements are constantly changing and you want the service provider to adapt to these changes then “fixed cost” is not going to work. Outsourced Project company cannot work in lost they have to find some way to ‘recoup’ the losses. The fight on ‘change requests’ in now inevitable.
- "Change request price negotiations" mean spending more time and money on meetings rather than on actual development. In terms of Lean Process thinking, It’s a ‘muda’.
Is there a better way?I believe there is. However, it requires both customer and outsource project companies to change their way of thinking and project execution. It will reduce the financial risk for customer (like fixed cost project) and at the same time improve the chances of success and eliminate the ‘change request price negotiations’
For a development team, it is much more fun, delight and pride to surprise a customer by a delivering a feature on next day in production. And for a customer it will be a delight to work with such a team, where develop team is responding to end user needs without waiting for a ‘approval of price negotiation of change request’.
If you (customer) will like to be delighted and want to delight your users and want to work with a happy and productive team, then come and talk with us (D10X)
Website : http://d10x.io
Email : firstname.lastname@example.org