How to contract for outsourcing agile development

The buttoned-up contracting approaches used for traditional software won’t work for outsourced agile projects. Here’s how to implement different protections for agile development agreements.

1 2 Page 2
Page 2 of 2

An agile software development agreement should also define the iteration process, including the duration of each iteration (usually not to be extended; unfinished work rolls into the product backlog and is prioritized), the meeting cadence, and the process the parties will use to determine when the work in an iteration is done. Note that rolling unfinished work into a subsequent iteration may have a price impact though. How can customer mitigate the risk of employee turnover on these projects, which depend on more continuity? 

Shaffner: While the iteration approach provides a client the ability to easily terminate a project, [providers] may be less likely to commit developer resources on a long-term basis unless the client makes a financial commitment to use those resources. TO mitigate this risk and the subsequent loss of project knowledge, the client should name a few key developer personnel whose commitment to the project is memorialized in the agreement with assurances from the [provider] that these resources will not be moved off the project without approval from the client.

The agreement should also contain assurances that the developer will provide all the resources necessary to complete the tasks in a given iteration, thereby removing the potential excuse that an iteration could not be finished due to lack of resources. Finally, the contract should specify that knowledge transfer activities among developer personnel are not chargeable. In traditional application development outsourcing, the provider warranties that the product meets specifications and that it will remediate any failure to perform in accordance with those specifications for a period of time. Can you do that with agile-developed software?

Schaffner: Offering a warranty like this is a bit problematic, but the developer could warrant that the working code produced during each iteration meets the specifications for that iteration. As more working code is built in subsequent iterations, the client should seek a warranty from the developer that the integrated pieces will work together, and that the final product will perform in accordance with the summation of the specifications from each iteration. The client should also evaluate whether or not there is some seasonality associated with the product and ensure that the warranty sufficiently covers periods of high demand or use. How should IP rights be handled in what is a more collaborative process between client and provider?

Shaffner: An agile software development agreement should clarify which party owns the intellectual property rights in the developed product and whether the other party has a license to use and/or create derivative works of the developed product. If the [provider] insists on owning the intellectual property rights, the client should have an unrestricted license to the developed product and potentially seek restrictions on the developer’s use of the product within the client’s line of business. The situation is further complicated if either party brings pre-existing code to the project, which may require case-by-case negotiations. If a client is struggling too much trying to write a satisfacotry agile development agreement, might it be a sign that outsourced agile isn’t right for them?

Schaffner: Contracting for agile software development requires a client to give up a certain amount of control and contractual remedies to enforce if the project goes astray. The challenge involves contracting for trust, which many organizations — and lawyers — struggle with. Until clients are more comfortable with the lack of control and price variability, the traditional approach be better for the development of mission-critical applications.

This story, "How to contract for outsourcing agile development" was originally published by CIO.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2016 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
SD-WAN buyers guide: Key questions to ask vendors (and yourself)