A generalizing specialist is someone who has deep expertise in one or two areas and working knowledge across many others. T-shaped (or comb-shaped) people.
This is the ideal team member in agile environments. Not a narrow specialist who can only do one thing. Not a shallow generalist who canât do anything well. Something in between.
Why agile teams need generalizing specialists:
- Reduced bottlenecks â if only one person can do database work, the team stops when that person is sick. Generalizing specialists can cover for each other.
- Better collaboration â when you understand what your teammates do (at least at a working level), you communicate better, make better design decisions, and produce more cohesive work.
- Higher throughput â team members can swarm on whatever the current priority is, rather than waiting for âtheirâ work.
- Systems thinking â understanding the whole system leads to better local decisions. A frontend developer who understands databases makes different (better) API design choices.
How to become a generalizing specialist:
- Go deep in your core skill(s) â this is your foundation
- Then systematically learn adjacent skills to a working level
- Pair with specialists in other areas
- Volunteer for tasks outside your comfort zone
- Read broadly about the entire stack/domain
The anti-pattern is the âheroâ who is the only person who can do something critical. Thatâs a single point of failure, not an asset. The goal is a team where expertise is deep but distributed.
Related: Active Stakeholder Participation, Inclusive Tools & Techniques