Agile Outsourcing: Managing People Metrics in Outsourced Software Development

Personnel turnover is frequently mentioned as one of the top issues in software development outsourcing, especially offshore. Anecdotal evidence suggests that even in short projects there can be turnover numbers of upwards of 50 percent! A friend involved in managing the offshore software development efforts of a healthcare software company was describing to me the problems they were having in their own captive offshore unit. Here the entire staff, including senior project management people, was turning over completely every six months or so. He would just finish getting a new senior person trained in the specialized domain they were in, only to lose that employee and have to start the process all over again. I’m positive any projected cost savings in taking work offshore were wiped out by the turnover problem. CMM maturity claims or elaborate GANTT charts from project management software are of no use if the development team isn’t stable and doesn’t have enough personnel continuity to get things done!

However, this issue becomes manageable if you pay careful attention to the people equation. In last month’s column, “Metrics for Outsourced Software Development,” I outlined three main areas of attention, people, technology and process metrics. This month, I elaborate on the different people metrics that may be relevant and how to manage the personnel turnover issue as well, whether these are in domestic or offshore software development situations.

Personnel Turnover Metrics

Two of the key metrics that need attention are project leadership turnover and software developer/software engineer/QA specialist turnover numbers. If the outsourcing is to your own captive unit, then you may have more control over managing this metric. Among these, project leadership turnover is more inimical to success than software developer turnover. With project leadership turnover you lose not only valuable skills, but a lot of time and effort spent on domain knowledge transfer.

It’s usual for the next most senior software engineer or software developer to step into the project leadership role, if the current project leader leaves. While doing domain knowledge transfer or imparting knowledge about your particular project management approach, it may be worthwhile to include one or more senior software developers along with the project leader on the providers’ side right from the inception of the project.

Another tactic to consider in the area of project leadership continuity is the concept of a managed team. Here the idea is that the project leadership really comes from the outsourcing buyers’ side. You get a team of software developers that are yours to direct and manage as you please. If the provider’s project leaders change every three or four months, it can actually save you effort if you take on more responsibility for managing the project yourself with the service provider providing only the members of the team. It may seem like a lot more work and a lot more hassle; but the issue is whether you have a nice, neatly packaged, fixed-price contract that never succeeds because of personnel turnover or you meet your development effort goals!

New Recruitment Metrics

You can manage software engineer and developer turnover by making sure to have a constant pipeline of candidates who are available to step into the shoes of people who leave. If it’s your own captive unit, consider organizing and participating in regular recruitment drives periodically. These could be college campus placement drives or advertising in local newspapers and on job sites periodically. If this is the job of the service provider, then your job becomes monitoring their efforts to fill positions that are left vacant.

In markets that are hot for software engineers, such as India or Romania, I know of cases where service providers have come up with realistic ways of projecting their hit rates with recruitment and then working backwards, calculating how many resumes they need to generate first, to end up with a given number of employees. They even include estimates of how many job offers they need to make for a given number of new employees to accept them and show up for work!

At each stage of the recruitment process, the following metrics are worth tracking:

  • Turnaround time, the amount of time it takes from the moment an ad is placed to the time somebody shows up for work.
  • Stage-wise resume ratios, such as the number of resumes at the end of the preliminary interview stage vs. number of resumes at the beginning of that stage).
  • Source effectiveness of different sources of new employees (Web, referrals, newspaper ads, etc.).

A service provider may not share these metrics with you, but you can ask questions about how they do this planning.

Training Metrics

Whether it’s your own captive unit or your service provider’s, it may be in your own interest to track people groomed to take over positions left vacant in the project due to turnover. Project leadership training metrics can track how many senior people in the development group are being readied as potential candidates for stepping into the leadership positions if the project leader leaves. Classroom hours spent per potential candidate is also a useful metric. This will always include generic courses in project leadership, project management and participation in knowledge transfer activities. If you follow very specific development methodologies, such as Waterfall, CMM, or Agile Methodologies, potential project leaders may need to be trained in these also.

Software engineer training metrics may include the number of software engineers and developers as well as the classroom hours spent by each in generic skills-related training courses and domain-related training.

Personnel turnover often derails many software development projects that have been outsourced, even if all other factors are managed perfectly. Communication gaps are widened with turnover and delays become inevitable. However, this isn’t an intractable problem as long as proper attention is paid to the various personnel turnover-related metrics. These metrics, by themselves, aren’t magic bullets. But they provide a methodical way to dissect, analyze and come up with multiple solutions that could address systematically, all side-effects that both project leadership and engineer turnover can have on your software development efforts.

Useful Links

Ajira
http://www.ajira.com