Parallelization in digging ditches and software development

There is a saying: 9 women can’t make a baby in a month.

This carries some meaning in software development, but it is difficult to relate – building software is very different from making babies. I heard a different version of this, called a „mathematical paradox”:

If you give a man a shovel and a goal of digging a cubic meter of dirt, he can do it in 6 hours. If you get 6 men and 6 shovels, can they do it in one hour?

Seems like easy math, right?

As it turns out that the answer is no – they would accidentally kill each other when swinging their shovels.


If you are building a service which needs to scrape information from 10 sources, it is fairly easy to parallelize, you can split it into multiple developers. That is because you are actually digging 10 separate holes in the dirt (around the same area).

However if you are working on something very dense, using many software engineers / construction workers can actually slow down the process.


Dear reader, it is now time to take 10 seconds to reflect on how this applies to your project. You know which one I am talking about. Yes, that one 🙂

10 seconds, starting now.