Structuring Software Development Relationships
The two parties in a new Software Development Relationship don't know each other, so what's the best way to structure their relationship?
We want the contract to be fair in distributing risk between the parties. We want to write the contract in such a way that neither side has an incentive to take advantage of the other. Finally, we want to write the rules of the game such that when things go awry, both sides have an incentive to fix the situation rather than descend into worse.
On the one hand, Early Stage IT does work for clients and that puts us in a "supplier" role. On the other hand, as virtual CIO for our clients, we play a "client" role vis-a-vis other suppliers. With both roles in mind, we did a survey of billing practices people employ. In this search, we favored billing practices that align with agile development. To cite some models:
- 10 Contracts for your next Agile Software Project by Peter Stevens. It's well written and concise, and a recommended reading for all. How many people's blog entries get translated into a half-dozen languages?
- A 5-part series by Chris Parsons of Eden Development.
- Parts 1, Part 2 and Part 3 argue that fixed price arrangements are inappropriate for software development because they’re implicitly set up to pit client and supplier against each other. This wastes valuable project budget and time on working out what to do when the project changes. I concur.
- Part 4, argues that time and materials types of arrangements shift the risk to the client but the adversarial nature of the relationship remains. It's not a good model for new relationships but can be OK once trust has been built up.
- Part 5 describes what they actually do. The elements we like are (a) giving clients an expectation of the budget, (b) weekly billing, (c) setting weekly expectations and "gently" exceeding them and (d) no-surprises billing — meaning that things like management fees, infrastructure usage fees are blended into the programmer rate.
- The Vertical Slice by Lars Thorup. It's beautiful in its simplicity and I like it. It ensures the supplier has a stake in the success of the client. The 50% number, however, does not fit the risk profile of Early Stage IT's typical clients.
- Peter Stevens' Money for Nothing, Changes for Free
- Chris Parsons' Billing with Integrity
- Peter Stevens' Time and Materials with Variable Scope and Cost Ceiling