Considerations for Agile Contracting
The development contracts of past were generally based on the waterfall model, the lawyer’s task in agile development contracting is usually to adapt or redraft contracts to account for agile development concepts.
Below are some key considerations when contracting for agile software development:
1. Define a “Minimum Viable Product” or “MVP”: Since agile development contracts generally do not contain a defined set of system requirements that the finished software product must meet, it is useful to define the “Minimum Viable Product” the customer will accept in satisfaction of the contract. This represents a compromise between the traditional list of system requirements from the waterfall context, and an expansive catalogue of user stories that might bog down completion of the project.
2. Define robust governance structures. The agile development model is heavily reliant on efficient collaboration between parties. Accordingly, it is important to clearly define the roles of key individuals ahead of time, as well as expectations for timely and productive communication and dispute resolution. Failure to do so may result in the project lagging or losing focus.
3. Rethink warranties. However, as explained above, the agile development model allows for targeted, intensive testing of software over the course of the project, which should allow diligent customers to discover defects. The rationale for including long warranty periods is therefore significantly attenuated in the agile context.
Additionally, if customers and developers are collaborating closely such that customer personnel are involved in development activities, developers will often resist providing warranties on the resulting work, because by doing so the developer may, in effect, be accepting responsibility for the work of the customer.
You can read the full article here: https://bit.ly/2TDlWmU