We Are Not Widgets

Yesterday I was re-reading The Myth of Fungible Resources in Slack by Tom DeMarco.

Here’s the definition of fungible that appears in the book (p.13):

Fun.gi.ble ….(especially of goods) being of such nature or kind as to be freely exchangeable or replaceable, in whole or in part, for another of like nature or kind.

Viewing people as fungible is the thinking that led to the staffing policies practiced at a multi-national company I once worked with:

All employees in IT or related functions were required to fill in a skills inventory. The skills inventory listed computer language skills (COBOL, C, C++, SQL, etc) and functional skills like requirements analysis, data modeling, data base design and project management. And it had a space to list level of proficiency, as evidenced by years of experience.

The global (everything was global at this company) skills inventory database was used to match employees all over the world to projects. A project manager anywhere in the world would fill out a form listing the skills needed on a project. A program would search through the database and produce a list of people who had the required skills and were available. Those people would be “deployed” as virtual team members to projects around the world! (Sounds so scientific, doesn’t it?)

This scheme was intended to replace the process of internal hiring, which involved having humans apply for internal openings and having humans review applications, interview and select candidates, saving money and making efficient use of resources!

There are just a few problems with this sort of program (and the thinking behind it):

–It doesn’t take non-technical skills and characteristics into account. What about traits like attention to detail, perseverance, able to see the big picture, encourages collaboration, works well with others? Personal characteristics and traits are just as important to the make up of a team as technical skills.

–It doesn’t account for domain knowledge. Building an inventory tracking system in C++ is not the same as building a Monte Carlo simulation in C++. The time to learn the domain would certainly cancel out the “efficiency” of eliminating the messy, human application and selection process.

–It completely ignores the need for challenge and growth. What if someone has been programming in COBOL for years and is aching for a change or a new challenge? Deny people who want growth the chance to achieve it, and they’ll usually move on.

Well, the Skills Inventory Database didn’t work quite as planned. It was quitely dropped, but not until the company had spent hundreds of thousands of dollars and made a good sized dent in the store of employee goodwill.

This is an example in the large. People fall for the myth of fungible resources when job descriptions list only technical skills, resumes are scanned for languages, tools, and technical skills and hiring manager ignore the candidate’s fit with the team and the culture.

But that’s another story.