I recently came across one of Ben Horowitz’s classic posts:
Taking the Mystery Out of Scaling a Company
Ben argues that the key scaling challenges are driven three core component becoming much more difficult as the organization grows in size:
- Communication
- Common Knowledge
- Decision Making
Avoiding their degradation altogether is impossible, so what we’re really trying to do is “give ground grudgingly”.- try to slow them down as much as possible using three key levers. Because they all include a trade-off of increased complexity, “giving ground grudgingly” is the right strategy here, and they should be applied with their impact on the three core components in mind.
Specialization
It is typically necessary to apply this level first, but it’s also the one with the most challenging side-effects: hand-offs, conflicting agendas, etc. The next two levers aim to mitigate these negative effects.
Org Structure
There is no perfect org design since there is no way to completely eliminate the negative side-effects of specialization. Organizational design has substantial impact on the company’s communication architecture, both internally and externally – and this is the key to effectively utilizing it, using the following steps:
- Figure out what needs to be communicated – key pieces of knowledge and who needs to have it
- Figure out what needs to be decided – try to minimize the number of decision makers that need to be involved in making the most frequent and critical decisions
- Prioritize the most important communication and decision paths – every org design represents a trade-off…
- Decide who’s going to run each group
- Identify the paths that you did not optimize
- Build plans for mitigating the issues identified in step 5 – typically by applying the next lever:
Process
The purpose of process is communication. It’s a formal, well-structured communication vehicle, meant to ensure that:
- Communication happens
- It happens with quality
The people who are already doing the work are the ones who are in the best position to design the necessary process, keeping a few best practices in mind:
- Focus on the output first
- Figure out how you’ll know if you are getting what you want in each step – usually via some form of measurement
- Engineer accountability into the system – which organization/individual is responsible for each step. Make their performance visible.