Offshore software project management(离岸软件项目管理)

来源:互联网 发布:知乎性价比高椅子 编辑:程序博客网 时间:2024/04/30 03:13

Chinese government has enacted preferentialpolicies to support the development of software outsourcing industry in thecoming ten years. For most of the software outsourcing companies, the typicalbusiness model is providing offshore software engineering services, likeoffshore software development, software quality assurance, product management,BPO, etc. Project management on the offshore project is the key competency toproduce good quality delivery for the client.

Project starts right after you sign the contract withyour client. The paper below will tell the author’s management and operationexperiences in some areas of offshore software project management.

Ramp up planning

Congratulations! You got a new project. Now youwill be busy on talking with all stakeholders, learning your contract, settingyour delivery roadmap, creating project charter. With all around of thoseactivities, you will know your project goal, your budget and your projectperiod. But this is not the end of your starting phase; you forgot a ramp upplan. There is an old Chinese saying: ‘Good start is a half success.’ It isespecially the truth to offshore project because if you delivered an excellentstarting, it would set up a belief at your client side when your client is atanother end of the ocean. In your ramp up plan, it should include:

·       Your traveling schedule to visitclient; (To build good relationship with the client)

·       Team building schedule and plan; (Ithas 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 rightpeople, not always the most talented people. To build a right team, you shouldconsider about project nature, budget, work load and team stability. For mostof outsourcing companies, HR recruiter selects resumes firstly and gets thescope of candidates. As project manager, you should communicate with HR whilethe ideal model is you could provide a proper JD. When interview withcandidates, you should keep in mind to select the people with sufficienttechnical skills, competent communication ability and proper character. Don’tabsorb the person who is over qualified, because he or she might leave the teamafter finds that the project can’t provide career development opportunity.  

Work for the pilot delivery

 You have toexceed your client’s expectation with the first delivery! Yes, not just reachingclient’s expectation, but over it! The project pilot phase is the honeymoon ofyour team and client stakeholders, the way to make your bride delight is togive her unexpected surprise. During the pilot phase, as project manager, youshould pay attention to:

Team training

Get the team sufficient knowledge to let the teamrun with full speed. The team should know project background, domain knowledge,project charter, project delivery roadmap, project process, team memberresponsibility, 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 shouldappoint with your client with regular weekly meeting time to keep client inloop. There are many meeting ways, telephone meeting, online video conferenceand 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 anyblocking issue at your end, what is the plan before next meeting. The meeting timeshould 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 clientperiodically, you could get feedback about your deliverable components so thatyou 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 pilotproject, then congratulations! Now your honeymoon ends, long-term cooperationsteps in. The project needs carefully operation in many aspects.

Track and measure on productivity

You should make metrics to measure the team’sproductivity. The metrics should be easily collected and monitored. It is notwise to make very complicated metrics, although they might looks morereasonable or completely, it isn’t feasible usually while implementation.

Before implementing the metrics, you shouldeducate the team how to use it, why to use it to make the team willing to logdata to the metrics. If possible, you could also tell your client the metricswhich could also be a communication media for the client to know the projectstatus.

Production and domain knowledge are very important

If your project were production engineering, thenthe team’s production and domain knowledge would be very important in terms ofthe improvement of project satisfaction. It is very common for a team to get ahigh appraisal by the client at beginning phase, because the training is enoughfor the team to finish starting tasks. But as the project goes deeper, theclient will expect the team to achieve more. Many projects failed to satisfy clientrequirement are due to not having enough production and domain knowledge. Theproduction and domain knowledge can include: your client business, technologiesthey use, what are the similar technologies, target end users, targetindustries, other players in competition.

Take the team’s ownership

Many Chinese engineers lack of the responsibilityof more ownership. It is a typical scenario that the team member complains tothe project manager: it is not my business; he should do it instead of me; Idon’t know how to…; my experiences of working with American client tell me theyregard the team ownership highly valued. I often tell my team to thinkourselves as one part of the client company so that you would think were youclient, 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 isthe key to help us provide better services.

Maintain team morale

If your project went over a year and the team keptdoing repetitive tasks, you should take care of your team morale. Someoutsourcing project nature determines the tasks assigned to the team are boringthrough team members’ angle. Everyone in your team should get improved byworking for the project; otherwise the team is not stable or with a lowproductivity. In this situation, you should know each team member’s wantedthing. You could arrange task switch, mutual training, technical discussion ortransfer talented person to other projects, promote people with leadership. Tolet the team see hope is the best medicine to keep the team morale.

Challenges come: Keep calm

Within any project, change is inevitable. Changewill bring risks and challenges. For most of the offshore projects, typicallychallenges are:

Communication barrier

Since your team is located different with yourclient, the location is the objective barrier to effective communication. Youhave less opportunity to talk with client face to face so that manycommunications that are easy for the teams at same location would be your bigtrouble.  A proper solution is to usetechnical tools to help communication: IM, email, video conference, desktopsharing, remote access, video demo, etc. And if possible, the team membersshould be onsite to client location to absorb latest domain and productknowledge.