Merce

Processes for outsourced teams

  • Closer to the customer

    Impact on processes Outsourced teams usually work in close proximity to customer teams. Many outsourced teams work in customer premises, using hardware and software infrastructure provided by them. Often, our team is a part of a larger team which uses common platforms and cooperates to deliver overall value for the customer. This impacts almost all aspects of our team management and value delivery processes, when compared to fixed-price projects executed in our premises.

  • How things change

    Recruitment A large percentage of outsourced team members working at client site need to respond to the customer's managers. Many team members are in maintenance roles, which involve receiving problem reports from customer managers and reporting with status updates in a time-bound manner. Customer organisations have a culture quite different from a pure software services team, therefore this interaction places new demands on our engineers. We therefore recruit separately for outsourced teams and our HR department tracks suitability of each engineer for outsourced assignments separately from his or her suitability for fixed-price projects.

    We often make our recruitment process visible to the customer when building an outsourced team for them. We shortlist suitable officer applicants and then arrange for an interview with the customer for them. In some cases, we put shortlisted officers in the customer's existing team for a few weeks on a non-billable basis and give the customer the option of accepting or rejecting the officer. In such cases, the officer is employed by us but on probation till the customer confirms his acceptability.

    Training Training for engineers assigned to outsourced teams is usually highly specific to customer requirements. Such training is sometimes done using technology specific to the customer, and sometimes on customer premises. A form of apprenticeship is often highly suitable for such training, where fresh recruits are assigned to the existing team and given tasks while they remain as unbilled-for resources.

    Processes Work processes are highly impacted for on-site outsourced teams. They do not get access to the tools and processes which we use in our projects on our premises. For instance, we have well-maintained servers with specific versions of database, Java stack, PHP, version control systems and issue tracking systems. On-site outsourced teams need to use alternatives provided by the customer and in some cases no alternatives are provided. This impacts quality of work and processes.

    Very few of our customers use an issue tracking system for all work allocation. Some of them use a task tracking system to track status of tasks, but this does not capture mapping of engineer resource to task. Very few of our customers make their task tracking systems accessible to our team members to directly post updates. In our office, each team member is authorised and required to post updates about his progress.

    A few of our outsourced teams have access to a source code version control repository operated by the customer. Most do not get access to any such system. Source code version management is quite often done in ad hoc ways with copies compressed and archived in various directories by various managers. One of our outsourced-team customers allows all engineers, including those on contract, to retain authoritative versions of source code on individual laptops, a practice which we do not recommend.

    Performance evaluation Members of outsourced teams are evaluated heavily based the feedback from the customer's managers who interact with our team members. In some cases, we take feedback from the customer through subjective and unstructured channels. In other accounts, we have instituted a formal written feedback process which allows us to evaluate each engineer quantitatively once a week.

    The attributes on which our engineers are evaluated are weighed differently for outsourced teams versus in-house teams. Customer satisfaction is given higher priority than with in-house teams, and technical competence is given lower priority than with in-house teams. Customer satisfaction is impacted highly by quality of communication and timeliness of response with outsourced teams. With in-house teams, the focus rests more on whether the engineer can solve the technical problem and get his work done well.

    Very few of our outsourced-team customers have processes to capture metrics of software quality. Therefore, hard metrics of number of bugs detected, number of bugs fixed, function point delivery per month, etc. are rarely available. In the absence of hard quality metrics, performance evaluation of engineers is done based on other factors which, however important, highlight only one aspect of an engineer's value.

RELATED READING

  • Case studies

    Work we have done for other customers in various engagement models