The Risk of Over-Specialization

As technology advances, both companies and people become more and more specialized. And with that specialization comes interdependence, creating a complex environment.  This specialization is creating risk in our organizations.  

When humans shifted from being hunter-gatherers to becoming farmers, the risk of starvation rose dramatically.  Why? Because they shrank the spectrum of their available food sources. A plight affecting a single crop causes starvation for a farmer, whereas a hunter-gatherer would simply hunt and gather whatever was available instead.  

Specialization is a farmer.  In the 1980s there was a big boom for workers in the defense industry.  The in the 1990s, we saw most of those jobs disappear. Defense engineers found themselves out of work and unqualified for available jobs.  Why was this? Because they only grew one crop; defense. And they worked on farms that only valued one crop.

Generalists are hunter-gatherers. “But generalists can’t get a job!”  That’s kind of true, but a generalist can quickly build expertise in a hot area, in the same way as a hunter-gatherer might eat only elk for a few years and then eat only vegetables for a few months.  

Generalizing Specialists.  Agile advocates “generalizing specialists” or “T-shaped skills” as a compromise between specialists and generalists.  The idea is that you gain deep expertise in a single area, but also build broad skills across different disciplines. This way you are indispensable as an expert, but you can jump in and help others when your expertise isn’t needed.  This is a great way to load-balance skills across your organization.

Interdependence.  All these specialties are creating a world that is so interdependent when one falls, the rest collapse like dominoes.  Think about all the interdependent parts that come together when you call for an Uber. If just one fails (maybe credit card processing?)  The whole system stops working. They key for resilience in interdependent systems is to have each node backup the function of the adjacent nodes.  In the Uber example, the drivers would have to be able to process payment. (Kinda like a taxi).

How are you balancing specialization and generalization?  Let us know!