Key elements of an effective Agile Software Development Contract
Anirban Majumdar
Head - CBO Contract Management (Sales) at Tata Consultancy Services (MBA, IACCM certified)
Agile software development methods are now being widely used in the IT sector and they are preferred than traditional waterfall development model. But our traditional IT contracts are primarily designed keeping in mind of waterfall development model. Using such traditional contracts for Agile software development projects can put the project in huge risk, and can lead to a complete failure.?
So, we should draft Agile project specific contract addressing the key issues and operational challenges of Agile software development projects. However, contracting for Agile software development projects remains a challenge. In this article, I would like to discuss about a few key elements of an Agile software development contract and how some of the key issues can be addressed through the proper contract drafting. Though Scrum methodology has been considered here, many of the principles discussed below will also be relevant to other Agile development models.
A)???Product Vision Product Vision is the starting point of a Scrum project. It sets out the goals of the project and the high-level benefits that the project is intended to deliver. Product Vision should be developed before the commencement of the contract negotiation to help the negotiation team understand the intended outcome of the project.
The Product Vision should be included in an appendix to the contract as a reference point for the development of the Product Backlog and the project.
B)???Key Roles There are 3 fundamental roles within the Scrum model: the Product Owner, the Development Team and the Scrum Master.
i) Product Owner The Product Owner is the key representative of the Customer. He or she is responsible for communicating the Customer’s vision of, and requirements for, the project to the Development Team.
Key issues to be addressed in the contract:
-?the initial development and prioritization of the Product Backlog; - the ongoing revision and re-prioritization of the Product Backlog as the project develops; and - participation, on behalf of the Customer, in the relevant Scrum planning and review meetings.
-?spends a reasonable amount of time and efforts to the above activities; - responds to questions from the Development Team as soon as possible; and - is retained in the project until its completion unless otherwise agreed by the contracting parties
ii) Development Team The Development Team is responsible for the actual development activities within each Sprint. It is important that the Development Team are experienced in Scrum development projects.
Key issues to be addressed in the contract:
-?the parties should use reasonable endeavors to agree the composition of the Development Team; and - if the parties are unable to agree the Development Team within a specified period, then either party should be able to terminate the contract without liability.
- is dedicated to the project during the development period (unless otherwise agreed); and - is not re-assigned from the project without the prior written consent of the Customer.
领英推荐
iii) Scrum Master Scrum Master is the facilitator for an agile development team. The Scrum Master’s role is similar to that of a coach or a mentor – ensuring that the Development Team and the Product Owner are working co-operatively and following the Scrum processes. ??
Key issues to be addressed in the contract:
- is dedicated to the project during the project term (unless otherwise agreed); and - is not re-assigned from the project without the prior written consent of the Customer.
C)???Product Backlog Product Backlog is a prioritized list of all of the items that are to be developed during the course of the project. It is the Agile equivalent of a “statement of requirements”. It is based on the Product Vision and may contain new features, changes to existing features, bug fixes, infrastructure changes or other activities.
Key issues to be addressed in the contract:
?-?the Product Owner cannot unilaterally change the estimates of effort received from the Development Team; and - the scope or priority of items cannot be changed once they are under development as part of a Sprint.
?D)???Sprint Process The Sprint Process should be specified in the contract which includes but not limited to duration of each Sprint, meetings to be scheduled (e.g. Sprint planning meetings, daily stand up meetings, Sprint review meetings etc.), definition of Done or acceptance criteria, project completion timeline etc.????
?E)???Pricing Some potential pricing models are:
a) Fixed price per iteration (calculated by reference to the amount of work required for that iteration or the business value of the relevant development items); b) Fixed price per user story (this may be difficult if the user stories have a different scope or value); c) Fixed price for an agreed number of user stories d)?Time & Material (“T&M”) - Customer continues to pay as per agreed T&M rate card during an agreed-upon time period.? e)?T&M capped —a limit is set, and have the team manage scope to that overall budget target f) Incremental Delivery Contracts - this model allows Customer to inspect at regular pre-agreed points throughout the project lifecycle. At each of these points, the Customer may choose to continue with the project or take what has been developed thus far and terminate.
Key issues to be addressed in the contract
- a description of the pricing methodology (e.g. fixed price per iteration); - when fees can be invoiced; - who bears the costs for items which have not been completed during an iteration (or which have not met the acceptance criteria); and - the impact of scope reductions or early termination.
Other standard clauses like liability. indemnity, warranties, intellectual property rights, penalties, service levels, audit rights, benchmarking, non-solicitation etc. should also be part of any Agile software development contract.
The key to the success of an Agile Software Development contract is building a trust between the contracting parties by increasing the collaboration between the Customer and the Development Team and addressing key contractual elements in the contracts.
Business Delivery Manager at AI.Cloud Unit Of TCS | Executive MBA in Marketing & Operations at Xavier Institute of Management University / Agile Transformation Coach / PSM1 Certified Scrum Master
1 年Very much insightful ... kudos to your effort !!
Senior Contract Manager at Tata Consultancy Services
3 年Thanks for sharing. Very helpful.
Senior Contract Manager at Tata Consultancy Services
3 年Nice article, well thought out and drafted....
JGM Contracts
3 年Great insight
Director of Delivery | Data & AI | ML & MLOps, LLMOps | Scalable Solutions | Cloud & Data Platforms | Driving Business Impact
3 年Excellent Anirban Majumdar