It’s weird (and humbling) to think that I’ve been a key part of 17 different software startup companies. I’ve been the CTO of three, ran one myself, and provided early consulting services to all of the rest. Most of these companies fall into the venture or angel funded, hyper-growth category (at least that was always the plan), while the rest were smaller lifestyle companies. A few have gone on to be quite successful, some have failed outright, and one grew into a full-blown whale.
The great thing about working with so many wonderful companies is the opportunity to learn from their successes and their failures; just as great is the chance to work closely with their leadership teams. If you know me, you know I have a hard time holding my tongue, and the result is that I’ve been fly on the wall (ok, a buzzing fly) during a lot of really interesting strategic discussions.
Now that I have my own company, I’ve decided to write about the way we operate, make decisions, and create software products. Let’s chat a bit about how decisions get made within our team. I hope you dig!
Make Last Minute Decisions
One thing I learned early on was the power of procrastination. I don’t mean finishing up the sales presentation in the lobby or committing the last bits of code minutes before the deploy (hasn’t everyone done that at least once? For shame!) What I mean is the practice of making decisions at the last possible moment.
One of the secrets to startup success is agility. When a decision is made several things happen:
The opportunity to learn more information is lost.
Team members begin to make dependent decisions based on the result.
The decision becomes unavoidably harder to reverse.
The solution is to wait until the last minute whenever possible to make key decisions.
Don’t be a master planner
Related to the power of procrastination is the practice of committing to the smallest decisions possible. Master plans almost never work. Whether it’s some architectural decision, a product feature or a new pricing strategy, it’s useful to break each decision down into a series of smaller ones. While the main benefit is the ability to put off each decision as long as possible (see above), the secondary benefit is that you discover creative ways to break apart previously misunderstood decision dependency trees.
At any point in time, your company is the sum of every prior decision about product, people, market, etc. Each decision you make becomes a factor in every one you’ll make in the future. Spending at least a little time pulling them apart will help you understand where you are, but also, how to increase future flexibility.
Last, but maybe most importantly, good decisions are never made in a vacuum. If you find that your decisions are made behind closed doors or consistently by a small group you’re missing out on the biggest benefit (and the most fun part) of having a high performance team.
Most often I see this manifest in a very specific way, which usually goes something like this:
We gathered the team together, including all of the developers and the head of product development. After chatting for a bit, we started to come to consensus. That’s when the VP of Whatever showed up and told us about a new sales initiative that makes the discussion moot and the answer transparent.
The unfortunate reality is that whether unintentionally or not, many managers and would-be leaders compartmentalize information. This practice is deadly to a startup. If this situation happens at your company flip the meeting around and force everyone to whiteboard any relevant or dependent information at the beginning of any important decision so that the entire team can work together. This ensures that everyone has every bit of information, as well as time to assimilate it into their own mental model. (Also get rid of that VP.)