Enable great testing through reducing excessive cognitive load with better organisation design.
Doing great testing is hard when your teams suffer with excessive cognitive load. Too many systems and teams to collaborate with mean burnout and customer facing issues.
When was the last time that your organisation was re-organised? What happened to your team? Maybe it changed completely, everyone went their separate ways? Or systems cared for in other teams became part of your team's remit?
In my experience, re-organisations of teams often increases the cognitive load you are under. Your testing can suffer as a result. More systems, dependencies and teams consuming your services means more to think about when testing. More to think about when testing leads to missing side effects of changes you make. Feeling rushed and adding extra layers of testing when testing isn't the real problem.
This talk will explore two examples of re-organising teams, the impact on cognitive load and what it meant for testing in those teams:
- The One Dimensional Approach - An already large team had expanded over time and was gradually slowing delivery down. The team needed to split into more effective units. We decided to split on business domain grounds. Technical factors kept us tightly coupled, repeating each other's testing. Causing integration problems between systems and teams.
- The Free-for-All - After many high profile outages we wanted to re-organise ourselves. Delivering more resilience and support was the aim. The ensuing chaos of internal power grabs, bartering for testers and no resiliency improvements did not lead to great testing.
This could all have gone so much better. If we had deployed a few common sense tools to help design our organisation.
The talk will introduce:
- Conway's Law - great testing means being able to communicate the right information to make decisions. Conways Law states that systems we design are copies of our communications structure. To design our organisation for great testing, we must look to how we communicate the information uncovered by testing.
- Team Topologies - testers believe that being in a constant state of collaboration is a positive thing. It can also be exhausting. This should evolve to become something with clear boundaries. The Team Topologies tools help us to design organisations more intentionally.
- Fracture Planes - a framework for deciding how best to split teams and systems based on a holistic view. Using business, technology and social factors. The world isn't simple and based on single factors. When designing organisations we need to take a wider view.
- Enabling teams - teams of experts that help other teams to adopt new approaches and keep a fast flow of change. Experienced testers can act as enablers for testability and operability across the organisation.
Great testing doesn't happen by accident, we need to design our organisations better. Cognitive load is a constraining factor on our testing. It's hard to be great when overwhelmed by complexity.