Summary: In Onsite/Offshore Delivery Model, the outsourcing work is distributed between the service provider’s onsite center and the offshore development center & thereby the client gets the advantage of both types of outsourcing models. It is one of the most successful and popular outsourcing models employed today by many companies. The distribution of work depends on the type of project. Usually 20-30% of the work is done by the onsite center and the rest is done by the offshore development center.
Core Methodology: The Core that we use currently is the “Agile” mode of the development. There might be some variations while we work on daily basis and continual improvement on the way up through the ladder.
Work Distribution: There are two broad level stake holders in this model
1. Onsite Team
2. Offshore Team
Responsibilties of Onsite Team:
1. Requirement gathering through interaction with client.
2. Clear understanding of what needs to be done.
3. Milestones identification for offshore team.
4. Progress tracking with offshore team lead.
5. Change management with respect to client feedback.
6. Most importantly dealing with client and maintaining parternership.
Responsibilities of Offsite Team:
1. Requirement understanding.
2. Design level discussion with onshore team.
3. Issues identification while understanding the requirements. (If there are no issues raised at this point, that means we have some problem!)
4. Incremental updates to onsite team with daily builds (if there can be)
5. Daily progress update with onsite team leader.
6. Continual check with onsite team for critical parts of the projects.
7. Development of contigunacy plans with respect to team and its resources for on going project with onsite.
8. Immediate communication of any issue that does not sound clear to onsite team.
While working with this model what we have expereienced is that problem arises when onsite/ offsite team does not communicate in time for any problems they face.
So, work with utmost uptime (99%) we need to consider following:
1. On time issue handling, this saves problems at end when you are delivering the final output.
2. There should be some online tracking system for each requirement and any issues related to it. So its visible at all stack holders in one place. With option to send emails to conerned stack holder when something changes in that requirement.
3. Better utilization of the time difference between offshore and onsite teams. For example, if at onsite there is some change in requirement or any issue related to delivered build it should be communicated the same day. So, when offshore team gets in they know what is going on.
4. Onsite team need to be one step a head ALWAYS to get things done.
5. Close monitoring of the project, but don’t over monitor it and waste time of resources. So that they work more and spend less on the status meetings.
6. Don’t Assume anything will work, CHECK IT (true for both onsite and offshore teams). So, overall it closed partnership between onsite/ offsite team and they both need to work together to get things done. Communication is MUST and it should be quite frequent.