Sunday, June 26, 2022

Specialist Pools

If a software development team gets to be too large, you might be able to refactor a monolithic application into microservices.  You can then split the team into smaller teams, each dedicated to its own microservice.  Within the smaller team, you can have specialists, each focused on a different technology such as front-end, back-end, automated testing, or DevSecOps.

If you instead decide to keep the larger team dedicated to a single codebase, you might be able to split the team into Specialist Pools.  Each pool of specialists is focused on a single technology and each has its own Specialist Lead.  Since not all feature development stories require work in all technologies, members of the specialist pool can be assigned as needed where needed.

At regular increments of some number of months, one member of each pool can be rotated to another pool.  This permits the developer to get breadth across the technologies while at the same time conserving the depth of knowledge within the remaining members of the pool.  If more than one developer from a pool is volunteering to rotate, the one who has been in the pool the longest might be given preference.