How To Supervise Offshore Development?
It's time for a reader suggestion thread and today's question is:
What is the best advice you can give to project managers supervising offshore development projects?
Please place a comment with your tip on managing offshore development. It might be the importance of communication; it might be the need for bridging cultural differences. Don't hold back.
As a little incentive I will give an ebook version of my book "Surprise! Now You're A Software Project Manager" to the most original entry (so make sure you include your email address in the comment box - closing of entries is July 1st). Sorry, closed.

35 Comments so far
Leave a reply

Subscribe to my blog by email and you will receive bi-weekly a summary of my postings. As sign of my gratitude you receive the first part of my book "
Bas de Baar, blogging as "The Project Shrink", is taking his message to the International Project Management community with a vengeance: "Projects Are About Humans. Now Deal With That!" ...
It is very important to perform short iterative cycles. In that way both parties can evaluate quickly if the software is developed correctly.
I am about to manage a new offshore project! This article came to me just in time!
Thank You.
1) Have leads for development and testing. Basically clear define the roles and responsibilities of each team member.
2) Have the leads as a point of contact for updates. (Single Point of contact)
3) The code being developed needs to be deployed on a server which is visible to the PM (onshore). This is done based on some defined timeline i.e. weekly or fortnightly or monthly.
It's clear that to manage a project(offshore or onshore) communication plays a major role
>> Effective communication from both the parties
>Both the parties should take interest in understanding and closing communication or cultural gaps. It can be e-mails/telephone calls. Chat communication should be avoided.
>> Understanding each other
>At least one person from offshore project team (preferably lead) should visit to onsite before starting the project.
>At least one person from onsite/client (preferably a business analyst) should visit to offshore development center during project design/coding phase
>> Documentation, Reviews/Feedback
> Offshore team must use an effective tool (e.g. spreadsheet/document issue list) to raise any queries/questions/clarifications
> Onsite team must answer/acknowledge queries without ignoring single question with immediate response
>> Scheduled communication between leads
>For effective monitoring of activities, planned calls to discuss progress
> Track the critical issues till closure on priority basis
basically If you are about to manage a project offshore, you need to define the project scope in details, categorize it, brake it in small peaces and get them done one by one dont even think about getting the complete project at once it should be developed in steps with each code block tested sending back/forth the debug notes to project team monitoring it, and appreciate the good work by your team.
First and foremost thing a project manager managing offshore team is that he or she need to understand the local cultures of all the sites. This will help him or her to understand how the communication will affect the members. One needs to understand the importance of empathy here. Once I have come across a Manager fired a woman worker in an European country without understanding the labour law in that country. This lead to higher cost to the company. There were also instances of sexual harassment in other lands. For an example an accepted behaviour in a country is not accepted. This may lead to sexual harassment charges to the managers. It may even verbal or emails which can fetch charges.
with regards,
K.Srinivasan
After a day of hard work ,take the team to dinner; puf.Make sure they are relaxed.This will make them comfortable and will develop a sense of trust between them.
1. Understand the cultural differences in the offshoring country. For example in 3rd world countries, there is often a fear of challenging the status quo during planning or project reviews. You find developers saying 'Yes' to what seems like unrealistic timescales only to find themselves falling short during the delivery time cyles.
2. PM needs to hold regular checkpoints with Offshore Leads, be sensitive to warning signs of slippages and ask the questions identify pain points and work with the teams to find a resolution or possibly escalate.
3. Ensure that offshoring teams are committed to the project in terms of their time slice and what the translates to regarding days spent on your project and tie that into ensuring that the iteration phase will be completed.
4. Offshoring point of contact needs to be someone with influence to get the appropriate response from the team as required.
5. Where budget permits, the PM should make the odd trip to the offshoring site to understand the environment and put faces to names although this can be done via video conferencing where possible
1) Blended development process should be defined and signed off from both sides.
1.1) It should clearly define various activities to be performed during projects lifecycle
1.2) Owners and executers for each activity
1.3) Distinguish onsite and offshore activities
2) Communication protocol should be established that should define who should interact with whom.
3) Plan deliverables for each phase of the project
4) Daily huddle meeting with the team.
5) Sign-offs on each deliverable before moving on to the next phase.
6) Holiday lists of both side. Though its not very critical.
Outsource the operation but remain responsible for ensuring close comunication between the client and the offshore team of workers. You may alternatively let the client manage the offshore team though this will come at a cost as you may have to pay the offshore manager for services rendered.
Offshore project is definitely different to onshore project. The basic things to be taken care of in context of that country, management, users shall be:
Language: understand what their prime language is in day-to-day use. I went to a country where language was a big barrier and I was heading the project. Before going there, I learned few of the commonly used words, downloaded a dictionary to translate English to their language. Although few of my users were fluent in English, so I used them also as a medium to translate what I used to say in my training sessions. Also I learned before hand that they speak English very slowly and can understand only if spoken in their speed. Ascent was another criterion that I had to gradually master upon. This will also depend on deciding upon the pace of the project. I had to change my plan accordingly.
Culture: they will love if you talk about their country and culture, and that is the best way to make them your best friends. Then it was easier to understand them faster. Learn about their likings and disliking, what they don’t like is very important, or what annoys them easily, so avoid doing that or using those words. Don’t refuse to attend any of their customs when invited. After all it is the people that make any project success.
Be as them: don’t act as a foreigner. Act as one of them. Show the management that you are the part of this organization and it is not only their but your project also. Keep top management involved in all your decisions and actions. Seek their help where required.
Celebrate: celebrate any small success that will motivate them and speed up the implementation.
a. Requirements have to be crystal clear. The offshore PM needs to thoroughly clarify that these are the requirements and we need these, these and these for our client. A good requirements document means your project is half complete.
b. Operate in iterations. You dont want to surprise the client with the product at the end. So give large packet in bundles and avoid future shocks.
c. Communication skill is even more important. Good communication with all the stakeholders is must to ensure that the deliverables are provided in time.
d. As a PM, audit your product before being delivered to the client. This will be immensely helpful.
e. Have a weekly meeting with team leads. In such meetings, try to analyze the project from non-technical view points. Try to see whether your milestones are ready to be met. Analyze all aspects from risk till final delivery. Such a meeting will ensure that all the team members are on the same page and there are no discrepancies.
f. Team structure is another vital aspect here. Offshore PM should get in touch with each team lead stationed at different locations, if any.
well, as for an opinion not based on any previously read notes or comments about this matter, the best way to manage offshore business is through the following:
1- good email, tele communications,
2- make the client feel trusted,
3- always be ontime for delivery and products status,
4- keep the follow up even after receiving goods with the client…
and there are more and more to say but basicly that was general important notes to keep offshore businesses grawing into the right track…
regards,
In order to supervise any offshore project the following items should be kept in mind.
1. Make sure that all requirements are collected.
2. SRS Document is prepared and approved by the concerning authorities.
3. A Master project plan is created in which Project is divided into small iterations, for clients. A margin should be there to avoid any mishap.
4. Another Internal Project Plan be created with the help of development team without informing about the actual deadlines, local Project Manager should be responsible to meet its deadlines.
5. Arrange weekly meetings to track the progress of Internal Project Plan.
6. If everthing is going smoothly after development make sure to follow QA Plan with QA Manager.
7. Deliver the Project
communication is the number key. defining each players role is another.
Working with an off-shore team can be quite a challenge. First you have the time differences to consider. They are going to bed when you are getting to work. Secondly, the cultural differences. Research the country first and understadn the basics of the culture so you aren't offending them or doing something down right illegal in another country. Third, with India for instance, keep the pile of work large. Lots of small pieces to complete. I've managed 4 twams form there and notced over time, the more work they have to do, the more relaxed and efficient they are. They are expected to work and when the work is running low they get nervous. Just the opposite of a US team! Lastly, stay in touch at least weekly. Phones can be problematic - often delays in signal back and forth and the accent takes time to hear and understand. ASk for things to be repeated or documented in an email. I've gotten great results, but, like any other project, stay on top of it!
Ah, almost everything has been said about taking care of the off-shore team. Weekly meetings, phased in testing and rollout. But it's not out of site. DO NOT forget your local resources. If your infrastructure team is on-shore and they expect that project will be complete on date X, make sure they are aware of all the additional timelines when they have to provide you with testing environment and connectivity to offshore servers, not to mention lining up your local resources for testing. Make sure your business users at home are ready to test and maybe evaluate the application model, if you are doing prototyping. Prototyping is very useful for larger scale projects (even if frowned upon by some offshore project managers), but this will prove whether the offshore team actually understood what it is that has to be built and that users will see how their requirements have been translated. You can stop some major disasters at this point.
Team-work, Respect for others, Good and open communication and well set priority on safety is very important in Offshore project.
If you are new in the environment, you must seek the cooperation of your team members when carrying out activities.
Develop friendship with as many as you meet.
Humans like to be respected, to get their cooperation you must first give them desired respect whether they deserve it or not. Always get local approval for every major activities. Lack of respect always create trouble in communication.
Allow a certain significant level of local participation.
Make Safety your priority.
A single accident however minor may mar your projet success. Can create low morale, can sponsor litigation and halt the project.
You need to keep track of the project requirements. First you need to make sure that the requirement specification match what the users really need but you know that there will be changes, so you also need to make sure that these changes are communicated and understood by all team members and the client as the project develops.
To do this you need a good tool. Excel, Word and mail systems are just not made for this kind of complexity. You need clarity, traceability and data stored in one central repository. There are many good tools for this - my favorite is ReqMan from http://www.requirementone.com - a web-based free requirements platform.
You must choose the best country that fits within :). I just add 4 remarks:
a. The language must be at least the first foreign language and most of developers understand.
b. Time-lag is important, for example if You're in GMT and your offshore office is in GMT+5, it'll be difficult to synchronize.
c. Distance must not be a disadvantage, to ensure traveling in short duration.
d. Make sure transfer IP is done correctly. I mean the offshore team have receive knowledge.
I believe the following are key when dealing with offshore development -
1. Clear specs to the offshore development team and ensure there is proper understanding between the onsite and offshore teams.
2. Get the offshore teams buy-in on the project schedule before committing to the customer.
3. The other key element is communication - ensure there is proper communication between the teams and the project manager is tracking frequently and also getting proper updates from the offshore team.
4. Gain confidence and support of the offshore team and ensure that they show the courage to confide with you in case there are any issues/risks/delays etc. rather than trying to keep warnings to themselves till it is too late.
5. Ensure that all the templates and standards of the onsite is shared with the offshore team to ensure that the code is following a consistent standard.
6. Have more code reviews and testing at the onsite before handing over the code to the customer for UAT.
7. Till you get a confidence on the capabilities of the offshore team have more control on the project.
Monitoring is one of PM responsibilities…
I think the key is there is a new risk with monitoring. This can be covered by increasing the efforts for monitoring.
The best advice I would offer an offshore Project Manager is to take an active roll in regular status and reporting of the project plan and issues. Keeping track of the project plan in an organized fashion will allow the project manager to safely meet due dates, ensure all tasks and requirements are met, and provide accurate reporting. Regular status tracking of issues by the project manager provides clear communications between all involved parties such as the employees on site, the customer, and company management. The Project Manager acting as a liason between all involved parties to resolve any issues prevents incompletion of requirements by due dates, international customs and tax issues, and jeapordizing quality of project performance.
First and foremost is that you blend with the offshore team. Culture pays very important role in execution.
people are ready to work hard if and only if they feel connected to you. being a leader is easy but making others follow you and respect you is difficult.
Like in china people dont like Bossy boss, if you force them too much without respecting and knowing there needs they will quit or stop following you.
Earning trust and respect is important.All have PM processes but implementing is only possible if you know your team well and your team can trust you that what you are saying is good for the project.
Communicate as much as possible but only with valid points where your talks gives sense to them.Specially talking about new technology and methods gives good impression.specially conference rooms meeting with slides and ideas exchange helps,please welcome others ideas and appreciate it.
Motivation to the team in the form of appreciation.
Showing them that you are better than them and they can learn something from you which will help them improve there skills will make you and your project execution more easier rather than you depending on them for every answers.
You need to be fast thinker and learner while executing offshore projects so people with problems feel confidence in you that you are with them if any problems arises.
Also if you are good in reading people and there body language then it helps to understand people well.
I think communication important one. defining each players role is another good things and also monitoring helps the PM
1. Give sense of ownership to offshore proj lead / manager. Trust plays an important role
2. Set up transparent communication channels between onsite and offshore.
3. Onsite rotation plan to be in place.
4. Do not forget to motivate the team by having appreciation mails sent across for targets met/achieved
5. Understand the cultural differences and try to adapt the best offshore working model that will be productive. Do not expect the teams to work in your style. Concentrate more on delivery and quality apart from the daily execution style.
6. Frequent reviews and feedback systems to be in place (say one on one with managers/leads; team meetings)
WOW! These are GREAT suggestions everyone! Thanks. And keep them coming if you have any left … Not everyone drops a comments so here are two I got by mail:
Ben:
"The main thing that made it work was I first became friends with stakeholders in each country by visiting their country and learning their way of life. By doing this I displayed an interest in them as a person and not just some one I was going to be managing their project. It took me 2 months. I then built my team involving a person from each country, making them feel like they were as much a part of the project as I was. Once I built the project plan I made sure all approved. Through out the project I would visit from time to time. I never made them feel that the American was trying to tell them what to do and how to do it.
- Learn the cultures
- Understand their way of life
- Listen to their ideas
- Keep in touch."
Short and sweet by Ibbi:
"offshore projects- `less is more'…."
wonderfull!!!
please send me a copy of the "How To Supervise Offshore Development?"
Hi CP, I am not quite sure what you mean? THIS PAGE is what you are referring to. Let me know if I can help otherwise.
Last day, everyone
I loved Becky's quote: "Third, with India for instance, keep the pile of work large. Lots of small pieces to complete. Just the opposite of a US team!"
It illustrates perfectly that we have to challenge all our fundamental assumptions … that's what makes it fun also
Hi everyone! Thanks for all the great suggestions! LOVE THEM!
However, there can only one "winner": it's Becky's entry. Congrats!
Thanks again! And happy offshoring
Clear Design spec Document from on-site team, discussion with offshore team which conist of PL,team members and ask offshore team to elaborate the design by creating the Understanding document which can be review by on-site team. to ensure the offshore team is understood
Software Requirement Specifications should play an important role in this case.
Other than that, the manager onsite should communicate very well with the team offshore especially the lead of that team.
Also, 'sharing' tools(e.g. webex, version control tools) are absolutely neccessary.