Don’t grind together, glide past one another.
Do you do a lot of waiting around at work? Not waiting because there’s nothing to do, but waiting on someone else to do something first so you can do something second?
If so, you’re likely at a crazy company.
Crazy companies are full of dependencies. Calm companies are full of independencies.
Dependencies are tangled, intertwined teams, groups, or individuals that can’t move independently of one another. They’re often waiting for each other — for this person to do that so this other person can do this. For this team to finish that part so this other team can start on theirs.
If you’re building airplanes or working an assembly line, fine. That’s probably required. But most companies these days aren’t, yet they still work like they are. One piece at a time, vs. many pieces at once, in parallel.
Here’s an example. If your company makes an iOS app and an Android app, and the iOS team can’t release a new feature until the Android team has finished their version, that’s crazy. That’s creating artificial dependencies that prevent separate teams working on separate things from each moving at their own pace. When you lock two teams together, you slow everyone down and create a whole host of frustrations.
You may say the iOS and Android apps must be the same. Different platforms but identical products, right? But why? That’s an artificial rule. If one releases a week or two or even three before the other, who cares? It’ll be fine. In fact, it’ll probably be better. Each platform can evolve on its own at its own pace — neither waiting for the other. None behind the other — each independent of one another.
We’ve made these decisions in our own business. Our web app team, iOS team, and Android team all release on their own schedule. They’re driven by the same big picture product vision, but their implementation schedules and specific decisions are dictated by each team independently. We used to wait on each other, but no waiting is a whole lot better for everyone — especially our customers.
We’ve even made it so iOS and Android get whatever the web team makes “for free” because all our desktop views are mobile friendly. So iOS and Android can expose those mobile web screens in their native apps, and level them up later to fully native versions on their own schedule if they choose.
That’s just one example. But here are a few more: Every team or department at Basecamp has the power to do what it needs to do without getting permission from another team or department. Some may consult others, but support doesn’t need to wait for management to grant a big refund, and ops (IT) doesn’t need to wait for approval to invest in more services, and every employee can buy whatever they need to do their job without having to get permission first. Gears don’t grind to a halt here, they glide.
So keep an eye out for dependencies in your business. Try breaking them apart. If one part can’t move without another making a move first, find out why. Don’t tie more knots, cut more ties. It may sound counterintuitive, but the fewer bonds the better.