You adopted an agile method to expedite your development process. This first step is signing the contract. Your company and its lawyer may have a standard contract in place, but does it follow the methods and philosophy? The whole point of an agile method is to positively change the way developers and customers interact. Contract language and the expectations and goals that develop out of it should be consistent with an agile process.
Keep Contracts Goal-Oriented
Bringing together an agile software development method depends on open communication and collaboration between all members of your development team as well as the customer. Agile methods depend on this philosophy in order to promote interactions between team members over (sometimes arbitrary) processes and tools that too often interfere with building meaningful software.
When entering into an agile contract with your next customer, make sure everyone’s goals are clearly stated and understood by the development team as well as the client. An agile works best when everyone assumes ownership, sharing in the successes and acknowledging the speed bumps.
What does this look like in practice? After you assign specific deliverables to each goal, stay focused on the big picture. The ultimate goal is well-working software that meets, or exceeds, customer expectations. Again, looking at the overall methodology of an agile system, your development team and customer should always strive to place an end product over the individual pieces and comprehensive documentation required to get there.
Keep Contracts Contingent on Time and Resources
In other words, a fixed price model negates many on an agile method’s benefits. For customer’s this means goals that fall short or final products that are rushed or not to standard. A fixed price contract means so many hours allotted and so many resources used. Again, it places a greater value on following a set plan rather allowing both developer and customer to respond to change.
Instead of one, overarching price point, consider language that emphasizes every aspect of the development process. Set a price cap on each individual sprint or release. By doing so, customers will not have to worry about development teams maxing out on weekly or monthly time allocations. In turn, development managers won’t need to cut any corners. What you will see is a better final product that has received all the attention it deserves.
Take Time to Build Trust
While any contract represents an agreement between two parties, it does not automatically foster a two-way relationship of trust. A collaborative environment between developer and customer are necessary for an agile method. However, this can only be achieved after a two-way trust is established. There are obvious trust benchmarks to consider, such as the timeliness and quality as well as on-time payments and honest feedback. These take time to acquire, even when consistent.
This trust cannot be built overnight. In other words, a signed contract is not the culmination of the relationship between developer and customer. As that trust builds, the agile method flourishes and fosters those aforementioned concepts of interaction, collaboration, and adaptability. Be patient as it develops, knowing the end results are well worth this getting-to-know-you period.
Partner With the Experts at Aspirant
At Aspirant, we are experts in agile software development. We’ve seen first-hand how an agile approach can benefit businesses of all shapes and sizes. If this is a pain point for you,or your company, check out our technology page. We’d love to explore how we can help.
Phil is Aspirant's Technology Director with a focus on providing enterprise-grade solutions. His 30 years of experience have given him the opportunity to work across many markets, industries, and applications. Phil is leading a team of skilled web and mobile developers building strategic solutions for our customers.