Makes Parallel Work Difficult
Learn how layers can make parallel work difficult in a team.
We'll cover the following
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.