A software services firm once asked us, “How come we are not able to staff projects quickly, even though we have a lot of people on the bench?”
There were a bunch of reasons, but among those, we found something interesting. They were implementing two policies that were logical on their own, but disastrous together.
(The bench is where programmers sit when they are not on a project.)
Here’s how they work. When a project starts, the project manager requests resources (people) for the project. HR passes on matching CVs to the project manager, who approves or rejects them, in consultation with the client.
They had two principles. Firtly, all matching CVs that are available are sent to the project manager. This is a good policy because it gives the project manager and the client a lot of options.
Secondly, while a PM is considering a CV, it is not double-submitted to someone else. Again, sensible, because you don’t want two clients asking for the same person at the same time.
But together, these policies killed staffing.
Every CV that is proposed is effectively “out of circulation” until it is accepted or rejected. Yet, the person is still on the bench, and very much “in circulation”. So he can’t be staffed, even though he’s available.
On average, 2.4 CVs were sent for every request. On average, a manager would hold the CV for 10 days. So, every request enforces 24 person-days of compulsary bench-time.
On a typical day, 75% of CVs were locked up this way. For example, on 22 Dec 2003, 291 CVs out of 384 were proposed for resumes. So a new request would have less than a quarter of the available bench to pick from.
No wonder they were complaining they couldn’t staff quickly enough, even though they had a large bench.