Now-a-days Agile methodology is gaining a lot of popularity in Software Development. Even Large Banks are following Agile methodology for their IT Projects. For StartUp companies more than 90% of development are happening in Agile Methodology. Also one inevitable fact is that contractual staff will be required in most of the Software Projects because of Skills and other restrictions. So now the challenge is “How to Manage the Agile methodology in Software Development with Contractual Staff?”
The basic principal of Agile states that the team should be collocated, Multi-Functional, Flexible and ready to put up extra efforts as and when needed. Most of the above traits is difficult to achieve in Contractual staff – who may be working for the specified hours only as mentioned in his contract and also in the specified Job Domain. So in order to achieve the same one needs to draft the Contract with the Contract Staff Suppliers in such a way that these aspects are taken care of. Traditionally most of these contracts are written in the backdrop of Waterfall model of development.
The biggest challenge one will face in drafting a Contract for Agile is lack of clarity on scope and time. Agile involve developer(Contractor) and customer being on a long journey together, where the overall goal is broken down into small parts that are individually developed in short periods of time – called sprints – typically for two weeks, before the next stage is started. This can lead to friction when it comes to defining the services needed from a supplier when negotiating a contract. Very aptly stated that Agile believes in “Customer Collaboration over Contract Negotiation”. So this needs a change in the mindset before anything else.
The Contracting Project Manager should realize that he needs to be more involved in Negotiations and convincing people and Supplier based on the ground situations rather than just following a Contract. The Contract should be left flexible enough for on the Fly changes and more authority should be given to the Contracting PM and Supplier contact point to take decisions on such changes. The Supplier should also understand that the stakes will be higher for him in an Agile contract and so is the Risk. Also it will need much higher degree of cohesiveness between the Supplier and the Contracting Manager so that at each stage a collective decision can be made on the future of the Contract. Also both the parties need to assimilate the Agile philosophy well.
Another important aspect of such Contract is “No Fault” termination at the end of each sprint. This will empower the supplier or the contracting PM to terminate the contract without paying much of termination Fee, when it can be seen and agreed that the desired objective cannot be achieved. This is in line with the principle of “Fail Faster” This will relieve the supplier from the concern of financial losses in case the project is leading in a totally different direction as compared to what was perceived at the beginning. Also this will enforce the need for a common understanding of the project, philosophy and a single point of reference for managing disagreement.
Having said all these one needs to understand and appreciate the fact that a Fixed Price Contract will still be very difficult to achieve in Agile methodology. So a Contract with Risk Sharing objective needs to be drafted. There might be success based delivery and incentive fees. The successes might be attached to the User Stories or Epics and then the payment might be structured based on that. For changes in the backlog and corresponding updates in contract the Product Manager should be given the ultimate authority which will reduce the disputes. One advantage on User Story or Epic based pricing model is that the failures can be sighted early and proper step can be taken to protect the Contract.
Above all to ensure that an Agile Project succeeds with Contractual staff the following need to adhere to:
There should be full commitment from all stakeholders for the Contract
Full involvement of the senior Management is mandatory
Everyone should understand and abide by the terms of the Contract
There should a change in mindset to share the risk and benefits equally
Main objective should be the overall success of the project and not the realization of benefits only.
Waterfall contracts should not be rechristened into Agile in the last minute to cover for excessive changes.
Decision to terminate the contract should be an unanimous decision based on the ground situation.