How to Make a Fixed-Scope Contract More Agile
Establishing a contract that genuinely supports agile methods can be a significant challenge for your organization. By its very nature, a contract that specifies detailed, upfront deliverables contravenes the principles of flexibility and adaptation that are at the heart of agile.
However, the actual problem is not the detail in a contract; it is the unspoken reason why the detail is there in the first place.
Although the detail in a contract is often mandated by compliance requirements, organizational standards, and legal imperatives, underpinning this detail is a lack of trust in the relationship between the vendor and the client. By putting extensive detail into a software development agreement, the client is seeking protection from the risk of insufficient outcomes (or non-delivery of outcomes), budget overruns, and missed deadlines. The more this risk is perceived by the client, the more the contract will endeavor to mitigate the risk through an abundance of clauses to account for every possible contingency.
Agile takes a very different approach to working arrangements with clients. Instead of focusing on faults and liabilities, agile methods focus on collaboration, transparency, and trust. The relationship between the client and the vendor is based on shared goals, shared knowledge, shared risks, and shared benefits.
Here are some general guidelines for establishing a mutually agreeable contract that supports agile methods:
- Define deliverables as business objectives that are measurable, instead of detailed requirements
- Detail the process, not the solution
- Structure pricing by iteration
- Incorporate clauses for flexibility where possible—including variations on deliverables, costs, delivery dates, and status reporting mechanisms—so that the agreed agile method is not unduly constrained by predefined contract terms that contravene the process.
It is important to note that having an agile contract structure does not negate the need for organizations to apply due diligence in their agreements by including standard contract terms and conditions. Termination clauses, payment terms, confidentiality, and intellectual property clauses are all necessary to protect the interest of the involved parties, regardless of the agreed delivery method.
The primary difference between a traditional contract and an agile one is that the agile contract stipulates a process for achieving successful outcomes, whereas the traditional contract handcuffs the parties to a level of predetermined detail that virtually assures that the eventual outcomes will be inadequate or obsolete.
It is possible to adapt your fixed-scope contracts to align with agile methods. It starts when both parties stop seeing the contract as a rigid, unyielding certainty and start seeing it as an agile platform for delivering the highest value.
Jamie Lynn Cooke is presenting the session Delivering Agile Results on a Fixed-Scope Contract at the entirely remote Agile + DevOps Virtual conference, June 8–11, 2020.