Pleasure in the job puts perfection in the work.

Aristotle

Contracts can present an exhaustive and time-consuming obstacle—one that often bars a truly efficient transaction between a business and their customer. Typically services rendered by a software company are features: sets of behaviors that are deliverable and contain value for the customer. Too often, though, these features are measured solely by lines of code, hours spent on development, or the number of developers working. In this common model, the exchange is purely a financial one—money for features—making it difficult for an agile company such as ours, 8th Light, to accurately structure our contracts with clients in order to reflect the true value and flow of our features.

Traditionally, there are two methods of contract development: fixed bid and hourly rates. Both of these methods fail with an agile process. Fixed bid will put the pressure on finishing the minimal acceptance criteria for the contract rather than providing the highest business value during any given iteration. Hourly, rate contracting has the inverse problem—there is no pressure to produce any business value; the pressure is on keeping the hours high and consistent. Of course, not every business abuses these contract methods, but when the situation does go awry, either the business or the customer inevitably lose time and money. The ethos of the contract as it is traditionally understood doesn't set up a mutual pressure. Instead, at 8th Light we believe that incentive should exist for both parties to produce continuous business value.

One way that 8th Light has re-invented contract strategy has been to bill based on velocity, or, the amount of story points signed off on by the customer (passing acceptance tests). This method causes acceptance tests to have fiduciary value—as opposed to being used for just a communication and regression tool. The customer will own the acceptance test and know for certain that they are the specification of the feature that they are paying for. The scope and priority the customer chooses will be linked to the amount they pay, producing a necessary pressure for simple and fruitful stories.

Another important aspect of 8th Light’s plan is that when a development team over performs, they get compensated for the extra velocity achieved. When they under perform, compensation is taken away. Over the course of a large amount of time the rise and fall in payment will naturally level out, and the total amount received will turn out higher or lower depending on performance during certain iterations. This creates pressure on each iteration to produce as much as possible—and not at the cost of future iterations, as payment has the logical effect of “cutting the fat off”. 8th Light has determined that billing based on velocity is the greatest and most efficient way to create the contract “pressure” that results in our ability to deliver business value. Using this model, both the software company and customer benefit—or else the relationship will naturally dissolve.

A complication to the method described above is employing a tangible measurement. Finding an accurate measurement of velocity can be difficult, as the value of story points are not scientific or quantifiable (which is why most companies stick to billing—which is quantifiable and strict). Because of this complication, the 8th Light method takes a sincere amount of dialogue, interaction, and faith in integrity from both the customer and the development team. Both sides must be actively involved in the process, and agree to a relationship that is open and honest.

Another thing to watch out for is when the rollercoaster of story points prohibits the flow of money for value between the two parties. One way to solve this problem is to normalize the story points from peaking and dropping every iteration by averaging the near past into the equation. Here is a successful formula we have used before:


Actual Velocity = (Last iterations velocity + current iteration achieved velocity) / 2


At 8th Light we believe that it is important to build a relationship between two companies that benefits both parties when they do well, and causes a necessary dip or need for dialogue between both parties when they under perform. We believe there is no greater motivation for an team than earning and deserving the pay they receive.