Chinese government has enacted preferential policies to support the development of software outsourcing industry in the coming ten years. For most of the software outsourcing companies, the typical business model is providing offshore software engineering services, like offshore software development, software quality assurance, product management, BPO, etc. Project management on the offshore project is the key competency to produce good quality delivery for the client.
Project starts right after you sign the contract with your client. The paper below will tell the author’s management and operation experiences in some areas of offshore software project management.
Ramp up planning
Congratulations! You got a new project. Now you will be busy on talking with all stakeholders, learning your contract, setting your delivery roadmap, creating project charter. With all around of those activities, you will know your project goal, your budget and your project period. But this is not the end of your starting phase; you forgot a ramp up plan. There is an old Chinese saying: ‘Good start is a half success.’ It is especially the truth to offshore project because if you delivered an excellent starting, it would set up a belief at your client side when your client is at another end of the ocean. In your ramp up plan, it should include:
· Your traveling schedule to visit client; (To build good relationship with the client)
· Team building schedule and plan; (It has to be in days, not general timeline)
· How to get team starts working;
· Project’s first goal;
Build the right team
People are the team. You should hire the right people, not always the most talented people. To build a right team, you should consider about project nature, budget, work load and team stability. For most of outsourcing companies, HR recruiter selects resumes firstly and gets the scope of candidates. As project manager, you should communicate with HR while the ideal model is you could provide a proper JD. When interview with candidates, you should keep in mind to select the people with sufficient technical skills, competent communication ability and proper character. Don’t absorb the person who is over qualified, because he or she might leave the team after finds that the project can’t provide career development opportunity.
Work for the pilot delivery
You have to exceed your client’s expectation with the first delivery! Yes, not just reaching client’s expectation, but over it! The project pilot phase is the honeymoon of your team and client stakeholders, the way to make your bride delight is to give her unexpected surprise. During the pilot phase, as project manager, you should pay attention to:
Team training
Get the team sufficient knowledge to let the team run with full speed. The team should know project background, domain knowledge, project charter, project delivery roadmap, project process, team member responsibility, etc. This period of time is the golden time in terms of team morale, so let the team know everything that they should know.
Keep client updated
Make necessary communication mechanism. You should appoint with your client with regular weekly meeting time to keep client in loop. There are many meeting ways, telephone meeting, online video conference and IM meeting. Choose a model that is acceptable to both you and your client. During the meetings, you should update your team’s progress, is there any blocking issue at your end, what is the plan before next meeting. The meeting time should be controlled within 15 minutes. If you think you can’t finish it, prepare well before the meeting.
Demo periodically
Through displaying demos to your client periodically, you could get feedback about your deliverable components so that you will be able to keep your project going with client expected result.
Operation of the long-term project
If your client were satisfied with your pilot project, then congratulations! Now your honeymoon ends, long-term cooperation steps in. The project needs carefully operation in many aspects.
Track and measure on productivity
You should make metrics to measure the team’s productivity. The metrics should be easily collected and monitored. It is not wise to make very complicated metrics, although they might looks more reasonable or completely, it isn’t feasible usually while implementation.
Before implementing the metrics, you should educate the team how to use it, why to use it to make the team willing to log data to the metrics. If possible, you could also tell your client the metrics which could also be a communication media for the client to know the project status.
Production and domain knowledge are very important
If your project were production engineering, then the team’s production and domain knowledge would be very important in terms of the improvement of project satisfaction. It is very common for a team to get a high appraisal by the client at beginning phase, because the training is enough for the team to finish starting tasks. But as the project goes deeper, the client will expect the team to achieve more. Many projects failed to satisfy client requirement are due to not having enough production and domain knowledge. The production and domain knowledge can include: your client business, technologies they use, what are the similar technologies, target end users, target industries, other players in competition.
Take the team’s ownership
Many Chinese engineers lack of the responsibility of more ownership. It is a typical scenario that the team member complains to the project manager: it is not my business; he should do it instead of me; I don’t know how to…; my experiences of working with American client tell me they regard the team ownership highly valued. I often tell my team to think ourselves as one part of the client company so that you would think were you client, when you faced technical problem, you should try to find a solution, not staying away. Also, were you client, how would you extend your business is the key to help us provide better services.
Maintain team morale
If your project went over a year and the team kept doing repetitive tasks, you should take care of your team morale. Some outsourcing project nature determines the tasks assigned to the team are boring through team members’ angle. Everyone in your team should get improved by working for the project; otherwise the team is not stable or with a low productivity. In this situation, you should know each team member’s wanted thing. You could arrange task switch, mutual training, technical discussion or transfer talented person to other projects, promote people with leadership. To let the team see hope is the best medicine to keep the team morale.
Challenges come: Keep calm
Within any project, change is inevitable. Change will bring risks and challenges. For most of the offshore projects, typically challenges are:
Communication barrier
Since your team is located different with your client, the location is the objective barrier to effective communication. You have less opportunity to talk with client face to face so that many communications that are easy for the teams at same location would be your big trouble. A proper solution is to use technical tools to help communication: IM, email, video conference, desktop sharing, remote access, video demo, etc. And if possible, the team members should be onsite to client location to absorb latest domain and product knowledge.