Friday, April 16, 2010

Truck Factor Mitigation

One of the strong selling points of pair programming is that knowledge of the code base, techniques, and domain are shared across multiple people. We joke that this reduces the "truck factor" for a team. Truck factor is the risk to the team or project of any specific person getting "hit by a truck".

Some other phrases: "beer truck factor", for those who like to imagine being hit by a worthy cause, or "lottery factor", as one colleague suggested, since it is a happier ending.

High truck factors can be good for the individual. After all, if your specific knowledge or talent is critical to the firm, so too, is your ability to negotiate for higher compensation or to easily acquire extra latitude for resources and decision-making authority. Management does not want to scare away the geese that lay the golden eggs when they have no idea how the egg-laying works.

A high truck factor has a downside for the individual though. When you finally get tired of the same platform/domain/language and want to move on, the hand that feeds you is likely to restrain you from departing to other projects. Sometimes, the only departure path is to leave the company. That can be a good thing for getting out of a rut (and introducing potentially lucrative contract work with your prior employer), but can also force you to start from scratch in building a reputation in a new situation.

What of leadership/management? How do we reduce the truck factor for managers? They don't typically pair. What happens when opportunities arise for a promotion, or an exciting lateral move, but the leader is tied to his current position with no replacement in site? Perhaps he needs to turn the new position down. Perhaps the external market is tapped for a replacement. Perhaps he just adds the new position's responsibilities to his current responsibilities. These are smells of poor succession planning.

If you're a technical superstar, or simply a master of your technical niche, or
if you're a domain expert, or simply master of your domain niche, or
if you're a leadership expert, or simply the most ingrained leader in your current role:

Identify, train and groom your successor(s)

You never know when that lottery ticket will hit.

1 comment:

David said...

Hi Adrian - Can you explain why is it that managers don't typically pair? I thought pairing was just another flavor of collaboration? It would seem to me that if we need pairing anywhere at all, I would start with management. I understand that usually there is one person that is providing some kind of brain dump but thats not only the case as you and I know that its always a two way learning experience in one shape or another. It amazes me how critical pairing/collaboration is and management recognizes this, yet we have some much resistance or fear of loosing our competitive advantage. If we feel threaten by someone else taking our job because we've dump all our secret weapons then we don't belong in management, do we or is pairing selective sharing?

David Cuevas