February 6, 2009
Tips to manage your offshore project
There will be a situation when as a Project Manager / Technical Architect / Developer you will be asked to manage an offshore team.
How do you ensure that your project is taken care of with an offshore team ?
Management – Typically projects are outsourced in different capacities. Those who have worked with outsourcing earlier and have developed a relationship with the offshore company, do not need to micro manage a project. They define the general goals and milestones and track the process at regular intervals. For the first timers there is always a risk behind the entire process.
Some things to look out for before selecting the offshore company-
- Is the offshore company reliable? Have you checked their credentials?
- Have you checked their previous work – is it satisfactory?
- What kind of management are you looking for?
- Is the company willing to provide the kind of management of resources you are looking for?
- Even if the company is certified with different certificates/processes are you sure the team that will work on your project has enough knowledge of processes and will follow the right methodology?
It works in different ways – you as the company manager / chief have various options in front of you
- You are an established firm and have an IT manager to handle the offshoring work.
- You are a relatively new entity and have no team with you onsite to work on the project.
Let’s discuss Case 1 first.
- Keep a project manager at your end to track the project initially to ensure that all the business logic has been clearly transferred to the development team.
- Keep the project manager to ensure that the timelines and goals that have been chalked out cover the risk averse tasks towards the end. All tasks that involve high risks are completed during the phase your project manager is actively involved in the project
- Does your project require the offshore team to design the graphics or will it be designed by your own web designer ? If so please ensure that at least 80% of the design is provided to the offshore team before they start development – especially if it is a web based application. This will avoid a lot of rework and hassles at a later stage. Be clear with the browsers that need to be supported during the initial rollout of the project.
- Once a relationship has been developed between your project manager and the offshore team – start reducing the time of your project manager on the day to day management of the project. He / She can be utilized more on the business front to define further goals and milestones. In addition he has a fairly good idea of the team’s strengths and weaknesses and will keep that in mind during future phases.
- Involve your graphics designer intensely during the first phase of the project. Ensure that proper guidelines are communicated with the development team so that there are no surprises later.
- Always maintain a common place for all communication to happen between the team members – resolving issues , doubts , bugs etc. TRAC in my opinion is very convenient since it is tied to SVN and is very stable. Ensure that a secure connection is used as well.
Signs to look for that convey the project is not going the right way –
- Development team does not regularly communicate with the project manager onsite
- b. Development team does not follow the design guidelines specified by your designer
- c. Deadlines and milestones are missed
- d. Regular code is not committed to the repository (SVN / CVS – whatever maybe used).
What precautions you can take from your end to make the working / proceedings more efficient
- First – if you have selected your offshore partner after completing the due diligence – then TRUST them to complete your work. They will appreciate it and will prefer to communicate only when necessary – especially earlier on the project when they are still grasping the business knowledge and all the rules and guidelines you have set for them.
- Second – ensure that your project manager does not try to micro manage the project. This may backfire. Give enough space to the development team and try to accommodate their suggestions – they may have prior experience in working on a similar project earlier – and might be aware of the pitfalls.
- Third – refrain your project manager from providing suggestions at regular intervals with respect to coding standards and guidelines. Focus more on the business aspect while the development is under progress – if possible try to involve the development team in the business process.
- Fourth – Calling the offshore team daily hourly will not help – TRUST.
If you are fairly new to the business and do not have an onsite project manager then try to ensure that your requirements are clearly stated. Don’t rush into development – and allow some time to get the requirements clear. Ideal would be to get a prototype developed / or get the wireframes developed. Use these as the base to track further development as releases are rolled out. Refrain from hurrying – everyone wants their applications and ideas implemented at the earliest – but please remember that this may prove disastrous in the long run.
Ensure that you involve everyone in the mails / communications because it is quite possible that team members may leave projects mid way and new members may join in. This is unavoidable and can happen anywhere – you anyway cannot control this as you do not control the offshore company. So be diligent and get clear with everything.