Story Points are Unsuitable for Outsourced Development
Story points have no place in outsourced development contracts. For example, you cannot have a contract to deliver 100 story points, because there is no absolute consistent understanding of the magnitude of a story point. The result of this is that the customer has no visibility of value for money nor any way of controlling it.
Agile contracts tend be characterised by uncertainty and a lack of detail on requirements, prior to engaging a development contractor. As a result most contracts for developing software are essentially time and materials based. In a T&M contract it is hard to negotiate a price for functionality at a given quality for a given cost. Many vendors will agree to stand up a team that will deliver whatever functionality the customer asks. In many circumstances that the author has seen, the development organisation is also entitled to charge for the effort to fix bugs in the software they have delivered. They can make as much as money for fixing their own bugs as developing the functionality in the first place. To address this problem. we propose contracts based on firm fixed price per function point with quality constraints based on defects discovered per function point.
Story Points Can Inflate Costs
On an outsourced development contract we often see delays and cost overruns caused by poor quality work. Often the quality problems are caused by the customer who has provided poor quality requirements. It may not be in the commercial interest of the development organisation to challenge the quality of the requirements or to even point out the dangers of continuing. Irrespective of which party is at fault for creating the extra work, it is often in the development organisation’s commercial interest to allow the quality problems to cause the delay, and then get paid extra to do the repair work. How is this the fault of story points, you ask? Story points perpetuate ambiguity, and that ambiguity leads to T&M contracts instead of a contract based on a firm unit price for delivered functionality.