Scalability

Richard Sheridan (Cofounder and CEO, Menlo Innovations) wrote Joy Inc to share insight into all XP practices that worked for his Org. Here he shares how Menlo handles scaling up or down.

Software teams built on hero models are hard to scale. Heroes won’t have the time to train up another hero — they are too busy — so scaling up is impossible.

Pairing, switching the pairs, automated unit testing, code stewardship, non-hero based hiring, constant conversation, open work environment, and visible artifacts helps us scale.

  • Do you have trouble finding the right talent to match your needs?
  • Are you regularly disappointed with new staff after just a few months?
  • Do you resist new opportunities because you can’t find the talent you need?

Practice Scaling

Our pairing system gives us a chance to practice scalability even when we don’t need it. It continues to strengthen the team’s preparation for a moment of scaling (Up or Down).

When we have to scale up a team, we just add more people. It’s that simple. The space helps with the scaling. Pull over additional tables. Pairing quickens KT.

When projects shrink (scale down), because there are no towers of knowledge, because no one developer owns part of the code, there is no meaningful loss of information about the project. Even when project has to restart after months, automated unit tests provide the first foundation. They catch misunderstandings as new coding changes happen. This begins to refresh their memory of the decisions made in the past.


Build in Slack to Handle Scaling

We’ve built buffering elements in our system. These are internal projects that can receive extra team members or be cannibalized as required, or clever business arrangements with willing clients who let us scale their projects up or down by a small % in exchange for discounted services. Plus we have a healthy community of independent sub-contractors who help us out when we need it. We can also schedule Extreme Interviews!


Link Scalability with Sustainability

  • If you scale and destroy quality in the process, have you really scaled?
  • If you scale and destroy your team’s morale, spirit, and energy, have you really scaled?
  • If you scale and are defeated in the marketplace by superior products, have you really scaled?
  • If you can scale up but can’t scale down, can you really say you are able to scale at all?

Our definition of joy means that we must be able to scale and still produce quality products and maintain our culture.