Makes Parallel Work Difficult

Learn how layers can make parallel work difficult in a team.

Management expectation

Management usually expects us to be done with building the software they sponsor at a certain date. They even expect us to be done within a certain budget, but let’s not complicate things here.

A “done” software

Aside from the fact that I have never seen “done” software in my career as a software developer, to be done by a certain date usually implies that we have to work in parallel.

The Mythical Man-Month

You probably know this famous conclusion from “The Mythical Man-Month”:

“Adding manpower to a late software project makes it later.”

The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks, Jr., Addison-Wesley, 1995

This also holds true, to a degree, to software projects that are not (yet) late. You cannot expect a large group of 50 developers to be 5 times as fast as a smaller team of 10 developers in every context. If they’re working on a very large application where they can split up into sub-teams and work on separate parts of the software, it may work, but in most contexts, they would stand on each other’s feet.

But at a healthy scale, we can certainly expect to be faster with more people on the project. And management is right to expect that of us.

To meet this expectation, our architecture must support parallel work. This is not easy, and a layered architecture certainly doesn’t really help us here.

Parallel work

Get hands-on with 1400+ tech skills courses.