The problem with software engineering management nowadays is the ubiquituous 18th century sweatshop mentality. In those sweatshops, the worker that completed more pairs of shoes is the highest performing one. But when you try to apply that mentality to more abstract endeavours like software engineering, it doesn't work.
Let's imagine there is a problem that requires to need to implement 100 classes to deal with 100 different types.
A 18th century person would say: I have 100 classes, 5 workers, I am going to give 20 classes for each worker to implement.
A person that actually knows what's going on would simply write template <typename T> class FuckYou, done.
In the wrong hands, software is misery.