Cross Functionality
A cross-functional team has all the skills and capabilities necessary to deliver features. This would include a typical scrum team with development and testing, but also stretches into deployments and operations.
The advantages of a cross-functional team are clear.
- Remove bottlenecks
- Increase empathy for team members
- Culture of learning and improvement
However, even as a scrum team begins to adopt traditional roles, internal silos can form.
Symptoms of Siloed Teams¶
- Tickets are assigned to individuals, instead of picking them up
- Developers handing off work to testers
- Only QA members can close tickets
- Burden of work placed on SME
- Work waiting in the queue because the expert isn’t available
These silos can create I-shaped engineers, specialists in a single area but not aware of the whole system. For modern teams to work quickly, it is important for everyone to have context with the work and technologies needed to deliver features.
We advocate for cross-functional teams with T-Shaped engineers.
The T-Shaped Engineer¶
It’s unrealistic to think that everyone is an expert on everything. But modern engineers are an expert in a single field while widely exposed to other areas across delivery.
Besides having a defined area of expertise that goes deep in their field, the T-shaped engineer has a broad knowledge in other areas of expertise. In this case, a tester would know everything for their respective job, but also understands UX design, unit tests, or perform basic DevOps operations.
Becoming a T-Shaped engineer is also a strategic career investment. Tools evolve quickly, and it is critical for today’s engineer to be able to adapt, learn, and work collaboratively with their team.
Culture Shift¶
- Broaden tech exposure through pairing
- Identify where work gets stuck due to skill gaps
- Learn what happens to the left and to the right of your specialization
- Follow a value stream map from idea to production
- Team members pick up tickets they may not be “experts” in