Top 10 Tips for Agile Outsourcing
Does Agile work with outsourcing?
Yes! – I have helped teams to scale up, scale up Agile Team from 0 to 150 development team members for multiple products in short period of time, but we have to do things very differently
1. Accept that there would be lots of changes to the requirement, at the beginning, we tried to put Product Backlog (or Minimum Viable Product) as part of the contract, but it is not helping as we change the order and details of product backlog too often. I would advise not to mention the scope at all in the contract or just mention the high-level ones, due to this one, we changed contract from Statement of Work (SOW) to Work Order (WO)
2. The WO is by sprint, we specified the name of people in the team (or else a certain vendor would quite often change the developer without telling us), their standard daily rate, with different roles like Mobile Developer, Senior Mobile Developer for different rates, usually we have one WO for 4~6 sprints , but sometimes we have like 6 month to one year for established product teams.
3. We internal staff interviewed all developers / Scrum Master before on-boarding them to Scrum teams, quite often the vendor themselves have no idea what Agile / Scrum is and they may do something that is not exactly "Agile/ Scrum" like having a two-day pre-planning workshop before Sprint Planning
4. We have a clause that we can end the contract with 1-month notice, and we have the right to request replacement of Developer and Vendor must get new developers within 1-month time, this is the extreme case that thing do not work out
5. We have a weekly catch up with vendor to discuss latest status and issues like we need to get more developers or even we ask vendors to get fastest PC per developers request
6. We usually inject our own internal Scrum Master or developer as part of Development Team if possible, for both scrum adoption, and retaining the domain knowledge, as our internal team has much better Scrum experience (the ratio is about 1 internal developer vs 6 vendor developers)
7. We treat the vendor members as part of the team, they have same say of the way how the team works, architecture/ technical design, they can equal say in the sprint retro, they have our company email, we sit together as a team, and they would have the same equipment / tools as internal team, besides contract, there is almost no difference to the internal developer, quite often the Product Owner / Business side has no idea which developer is from the vendor, we also engaged all developers to internal Town Hall / team meeting / lunch gathering / etc…
8. One of the important things is that we keep stressing is that vendors need to provide training for their team, either Scrum or technical or soft skills like Communication / Presentation, quite often we request one month training before getting any new joiners started, we tried to rush, and let new developers jump on project after 2 weeks, the experience is really painful for both parties, we learnt a lot from these mistakes
9. It is true that is quite difficult to get vendors to work in the above way, so far we have more success with one of the vendors only, other vendors keep trying to say they want to operate the same way but they have some major issues on-boarding the team like the way requested
10. Internal staff would take ultimate take responsibility/ accountability, we never blame the vendors for anything, the whole Development team and some case even the whole Scrum Team take responsibility together