SW engineering, engineering management and the business of software
I had a conversation with a friend recently. He mentioned that he planning on reducing his consulting load to focus on three side projects. This kind of shocked me at the time, because in my mind the whole point of focusing is get down to just one thing.
As a child I would play Civilization (or it might have been Masters of Orion). Back then you had a global pool of science points that you could allocate into research which would give you gameplay bonuses. I discovered that if you did then in parallel, you were actually making much slower progress than if you worked on them in serial.
Here’s a more concrete example:
You are planning on building four rental properties. You have four contractors who can individually build one house in 4 years or they can team up and collectively finish one house in one year.
Doing them in serial provides the equivalent of 6 years worth of rental property income over the first 3 years! That’s money you could use to hire more contractors, either build up more houses, speed up construction of four you were building, or
blow it all invest in new hot cryptocurrency.
Now, there is a limit to how much adding resources to a project improves speed. The seminal work, Mythical Man Month, notes that adding people to a late project makes it later. The trenchant saying “Nine women can’t make a baby in one month” also applies. In our above example, four contractors working together sped up the completion time to one year, and yet 1,460 contractors can’t build a house in a day.
I think the end goal is to understand the concept of maximum serial thoroughput and only split work into parallel if you’ve maxed out the serial output. Again in our example the fastest you could conceivably build a house is probably 1 month or so, but the speedup isn’t linear. it would likely take more than 48 contractors to do so. (My math is likely wrong! I’m just making a theoretical point here!)
Keith Rabois, during a Startup Class lecture back in 2014 talks about this with the notion of barrels and ammunition. Each barrel represents a leader who needs other employees to help them execute on a project of some kind. At some point if your leaders are maxed out, your company cannot effectively work on major new projects without hiring another leader (barrel). Hiring more non-leaders (ammunition), doesn’t not materially move the needle on existing projects.
Another way of thinking is Jeff Bezos’ Two Pizza Teams. Amazon found the upper limit of size of a tech team on a moderate problem is roughly the number of people you can feed with 2 pizzas.
When does Focusing not make sense? When you don’t have a clear end goal. When you are experimenting and brainstorming. Pre-Product-Market-Fit in VC parlance. These are times when you should be trying many different things as rapidly as possible.
Certain creative processes are effective when you take breaks and have time to marinate different ideas and thoughts in your conscious and unconscious parts of your brain.
Anytime Speed isn’t a priority really.
As an individual, you want to focus your time and energy. As an organization, you want to focus your team and the company resources.
What have we learned?
One project, completed to the point of producing value is worth vastly more than N partially completed projects providing no value.
First achieve maximum serial thoroughput and only after that, start splitting out in parallel.
Oh and my friend? After expressing my shock and giving my Civilization analogy, I discovered that he is not a hopeless Civ player. The three projects were all at different stages, and two of them didn’t require much day to day involvement, just need a couple of low hanging fruit tuneups.