You never believed in it. You wondered if it could ever have worked for anybody in past two decades. However, it has arrived. You are going to work Agile and worst still Distributed Agile Offshore. You were skeptical about this right from the beginning when it started in your company but no one would listen to you.
Here are 11 tips that will ensure early death of a Distributed Agile project:
[Though this blog has been written in negative tone, the objective is to make people working with offshore teams aware that they can contribute to the success by avoiding some common mistakes. It does not reflect practices observed in a particular project. It is just a collection of various observations that contributed to making offshore projects less successful. Please feel free to add more.]
See the positive spin on this list here
1. Involve offshore team in the project after couple of sprints once onsite team has understood the project vision, road map and made key technical choices.
2. After the involvement of offshore team, keep making all important design decisions with your small onsite team. Frequently communicate about when the offshore team makes mistakes because of lack of communication from your side about important design decisions.
3. Keep offshore team very small i.e. 2 persons or less. Keep onsite team at least 3 times bigger than the offshore team so that the real action can take place only onsite.
4. Blame every problem in a project which could be due to wrong specifications, technical debt, broken builds and wrong technical choices, on offshore team. You will be surprised to see how easy it is to convince your stakeholders that these problems are caused by working with a Distributed Agile Offshore team.
5. Never give honest feedback in the project retrospectives. Keep telling Agile Offshore team that they are doing pretty well so that their drive to improve their productivity and quality remains low.
6. Avoid collocation with offshore team at any cost. Keep offshore team always at a distance from the product owner, onsite developers, testers and other stakeholders as much as possible. You can use high travel cost as a good argument against travel which your manager will accept at ease.
7. Despite of your efforts if your collocation takes place then make sure that no onsite team members pair programs with offshore team member. If possible arrange separate desks for offshore team members.
8. In a sprint ask offshore team to handle simple tasks that nobody onsite would like to do. Grab the challenging user stories during the sprint planning for onsite team.
9. Keep refactoring the code during the weekends and in the evenings with very little communication about it with the offshore team.
10. Re-write a significant part of code delivered by the offshore team with out any communication to the offshore team. Tell your manager that you are too busy because of some problems in the code of offshore team that require urgent attention before a release can be made.
11. Never let offshore team fix the coding problems created by them. Do it yourself and communicate frequently about it to your onsite stakeholders.