Contracts are the basis for any relationship -- be it family, marriage, services, goods sold and bought, or our industry. The existence of realistic, well-written (though sometimes unwritten, in personal situations) contracts is the most important ingredient for sustainable and successful relationships. Moreover, in times of change it's even more important that these contracts be reviewed and revised periodically.
Contracts have deep consequences for every enterprise's budget. Therefore, it is a sad reality that every enterprise is forced to practice negotiating the contract to arrive at the utopian win-win norm. The underlying principle of every existing process or method is to provide another perspective to maximize ROI. The ROI will continue to be the basis upon which new methods, frameworks, or standards are founded.
Businesses are regularly evaluated and compared based on their financial results. This could be the reason behind their uncompromising focus on adhering to the forecasted numbers. For a business's sustained survival, the underlying processes, methods, practices, and all other enablers must align to predict and achieve these numbers. It is only logical, then, that the actual units that are predominantly used by the adopted method can be easily extrapolated to ROI. In an Agile business that uses Scrum implementation, this reasoning leads to using story points -- the principal metric of Scrum estimation in any contract. Story points are often considered to allude to the scope of work and its "big brother," velocity, for measuring the team's performance.
Contracts based on story points (money:story points ratio)
The ultimate goal of such contracts is to arrive at the magical number that defines the ratio of money to story points delivered. Even if story points are not absolute but relative, you should still be able to arrive at this measure for a small window of time (maybe a quarter) for a specific project or product a particular team is working on.
The underlying assumption is that there is little to no variance in any of the above in the time window considered. If you must account for variation, then you should accommodate for it in the contract, as appropriate. It's important to note that the attempt is not to seek a universal number applicable across all contracts but to arrive at numbers for each contract that are binding on the different teams or products (or projects), or at different times.
To construct a realistic contract, we make the following assumptions:
- The unit story point is well defined, understood, and agreed upon.
- Stories are estimated consistently, relative to the unit story.
- Team performance is consistent during the contract window.
- Skills that are required to deliver the project or product increments remain consistent.
Because the above assumptions are sometimes too good to be true in reality, we conclude that such a contract should be written often and changed when it no longer holds good.
For story point-based contracts that are specific to a team, the product or project should hold good for the short term.