Scaling Human Systems: Organizational Design and Growth

This is the beginning of a series of articles about the challenges of growing an organization. I’m writing them to share some principles that I’ve derived from my own experience, as well as many valuable discussions with friends and colleagues, about helping companies grow from being quite small (say, 1-50 employees) to less small (100-500).

Every organization is unique, but all organizations face some common challenges as they grow. Human systems are incredibly complicated, and require frequent adjustment like any complex system. Any two organizations will have many important differences—such as their culture and market situation—which can (and should) influence their growth and development.

For this reason, I believe there are few if any hard and fast rules, and organizational design patterns can be difficult to translate from one organization to another. One organization’s solution can be another’s problem. Even when there seems to be a perfect fit, the process of implementing organizational change can be its own challenge

Even so, I think there is much to be learned by comparing different organizations, and much inspiration to be found in their successes and failures. Two organizations merit specific mention here, as sources of inspiration for me: Canonical, where I worked as Ubuntu CTO from near inception to when it reached nearly 500 people, and Heroku, where I currently serve as VP Engineering as it grows beyond 100 people.

Several of them share a common form:

What it means – a short conceptual overview

Why it’s important – an explanation of why this particular change is important at this juncture

Old status quo – what things looked like when the organization was smaller

New status quo – what things should look like for the next stage of growth

Behaviors that help – practical suggestions for how to work toward the new status quo