Scaling Scrum the Scrum Way

  1. Indivisible work. Nine women can’t make a baby in one month.
  2. Onboarding time. Adding resources saps the time of existing productive resources.
  3. Communication channel overhead. Everyone working on the same task needs to keep in sync, so as more people are added they spend more time trying to find out what everyone else is doing. Consider three feature teams that need to maintain general alignment on technical architecture and product vision. There are three possible lines of communication between them. One line between each team. Now let’s double that to six teams. There are now 15 lines of communication between those teams. A 100% increase in resources has created a 400% in coordination overhead. Let’s assume you are fortunate enough to need to grow your team resources by 200%. This takes your coordination overhead to 1100%! As you can see, this is untenable and we are only talking about the implications of moving from 3 to 9 teams.
  • A feature team should have dedicated, not frequently changed, team members.
  • Feature teams should deliver new “vertically sliced” capabilities (stories) and not just a stream of indiscriminate engineering tasks.
  • A feature team should work within a clearly defined feature area with a bounded context.
  • Feature teams should employ micro-services and micro-frontends in order to retain autonomy and maintain decoupling from one another.
  • Build new teams by seeding them with existing experienced people.
  • Make the engineering onboarding runway-to-productivity as short as possible. Get a baseline for how long it takes new engineers to be productive and then try to cut that time my introducing things like turn-key environment setups and automatically generated useful documentation.
  • Capture and reuse learning sessions in the form of instructional videos that can be consumed later by new folks during the onboarding process.
  • A recurring scrum-of-scrums to address feature team coordination.
  • Architecture meetings for each tribe to socialize design patterns.
  • Iterative delivery practiced in such a way that new features get merged every sprint to ensure convergence, not divergence.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store