Contract is something common that happen on a project. Ideally contract will cover resources, budget, and time constraint. It covers the features, the time, and the budget is needed. Contract is fragile on a project. Sometime, client want a new feature, a team has limitation to solve problem, or even client can pay the cost on time.
On ALM minimalist there are two type of contract which are
- Optional Scope. Optional scope means the scope will flexible with fixed developer resources and fixed developer time
- Cost Scope. Cost scope means the scope will fix on cost and time. This contract will good for a specific deliverable date and fix time but flexible resources.
The contract should be prepared on initial planning before the iteration. It covers several points such as
- Project background. The background problem of project (Why)
- Mission Statement. It should clear show what to do on the project. It inspires to stakeholder and inspires a framework to make decission making. (What)
- Methaphor. It should show a simple analogy of the project features. (How with ‘Simplicity’ on mind)
- The time boxed. The time needed to implement the features. (When)
On DSDM (Dynamic Software Development Model) the good way to validate contract with customer is through a term called Blitz Planning. Blitz Planning is rapid planning to propose the non technical aspect of the project like Resources, Budget, and Time
Good Book to Read