The Cost of Scaling

Scaling your development effort comes at a cost. The value delivered may not increase linearly as you add people and teams. You may produce less and be less efficient as the teams deal with the added complexities of scaling.

As such, it is essential to make the most of your current teams and helping them become more efficient and effective before seeking to scale your efforts. Effective Scrum is a necessary foundation for scaling your development effort effectively.

Genuinely collaborative and performing teams that are mature and self-managing can often deliver much more than newly formed teams who are learning to work together and rely on management direction to move forward, be productive, make decisions, organise and plan their work.

Before we set out to scale, we should seek to achieve more with what we already have. We may not need to scale if we can achieve greater productivity with our existing teams.

So before we scale, can we improve what we have already by focusing on these areas:

  • Help the Scrum Team to become genuinely collaborative, self-managing and autonomous.
  • Restructure our Scrum Teams so that they are Feature-based rather than Component-based. This may increase the sense of ownership of issues and reduce the need for complex cross-team communication and integration.
  • Reduce multi-tasking or multi-project assignments so individuals can genuinely focus on what needs to be Done.
  • Improve relationships. For example, between the Development Team and the Product Owner so they can work more effectively together.
  • Motivate the team so they work happier and produce more at a higher level of quality.
  • Help the Scrum Team stay focused on the issues that truly matter.
  • Encourage the Developers to swarm on issues to ensure fast and effective resolutions.
  • Encourage an Agile mindset and teams that embody the principles.
  • Increase the skill level inside the team through training (self-study, experimentation or formal classroom-based).
  • Eliminate the delivery of low-value work through an ordered Product Backlog and a mandated and empowered Product Owner.
  • Develop and improve engineering standards, tooling & automation. For example, consider and trial eXtreme Programming practices such as Test-Driven Development (TDD), Pair Programming, Continuous Integration, etc.
  • Introduce and enhance Test automation (Integration, Regression, Performance etc).
  • Ensure a definition of Done that mirrors ready to ship as closely as possible and maintains practical quality standards & guidelines.
  • Ensure a strong vision for the Product and effective Product Management by the Product Owner.