All Chefs and No Cooks

You can ruin any endeavour by over or under-specialization. While this lesson gets easily lost in corporate technology projects, it's pretty obvious in cooking. No one would staff a 200 table restaurant with one employee per table, waiting, cooking, mixing drinks, and bussing the table. You'd wait forever for meals, and they'd be inconsistent at best. On the other extreme, no one would assemble a chef, sous-chef, and three line cooks to make a bowl of cereal.

Under-specialized

For a small, growing company, the tendency is under-specialization. People go on "wearing many hats" for longer than is practical — waiting too long to get someone good at a particular important task, such as UI design, scaling web services, or QA. This leads to the same deficiencies as the restaurant with no specialization: slow, inconsistent delivery.

This is an issue every growing company deals with. So long as the revenue is growing, it suffices to hire people in the needed specialties, and move existing people into more specialized roles within their aptitude. In some cases, the types of people who do well in a small company with no specialization don't do well in a larger one and will leave when the direction becomes clear. That's good for everyone, since they won't fight the trend to an appropriate level of specialization.

The trap is to have a generation of specialists trying to work with the generalists that came before, stepping all over toes and working to different standards.

Over-specialized

Large corporations tend to over-specialize. I've seen ten million dollar bowls of cereal because people decided to staff a project with analysts, architects, developers, QA, project management, all for something that should have taken half the number of people. Some efforts only need a few people who can collectively perform 7 or 8 different roles temporarily and as required.

Lacking the ability to identify or retain generalists, the solution corporations often implement is to allocate every practitioner to many projects. You'll get 40% of an analyst's time, 15% of an architect, and so on. This attempts to solve the problem by staffing all 8 roles, but at small allocations so the total project only bills the equivalent of 3 full time people. Of course, as any person who's every been on five projects at 20% can tell you, this solution is largely a terrible accounting fiction.

One Size Never Fits All

These problems are perennial issue for any organization, large or small. So what's the solution? As any public service announcement will tell you, "the key is awareness."

Organizations should explicitly choose the level of specialization, and review the choice often enough to prevent large failures. You can have people either wearing 6 hats or working on 6 projects for a very short time, but that's the cue to change the game.

Corporate Trends

Many corporate technology departments were built around in-house, custom-developed, highly complex solutions. One by one, enterprise niches are now being served by purchased applications on commodity infrastructure. What used to take analysts, system architects, and a whole set of developers can sometimes be accomplished with a couple of people who can gather requirements, customize a product, and wrangle a quick user acceptance test. In the CRM niche, we have seen the evolution of custom in-house CRM tools to Salesforce.com.

This trend means many corporate technology departments are getting smaller and less specialized. It's hard to let go a good employee because you just don't need that kind of work anymore. And don't think that the existing employees won't see this transition coming.

But the solution is still to evaluate the level of specialization required in each situation and intentionally craft the organization. Corporations have to remember that just because it's more difficult in a shrinking organization than a growing one doesn't mean it's not the right thing to do.

corp
Posted by Steve on 2012-08-05 21:51:00