Tension in the workplace.
In one corner, a developer that believes Separation of Concerns ends with packages. He does believe in having more than one project, but only because we have two products with code in common. So he’d have one project for product 1, another for product 2, and another for the code they have in common. (OK, he’s not that draconian, but I’m stating this stylistically).
In the other corner, me. I take it to the other extreme. I see every service (of which we supply a couple dozen) being in its own project.
His argument is that he doesn’t want an explosion of projects from what we currently have. He wants every extracted project to be well justified.
My argument is that an increase in modularity in bundles brings design to a higher level of abstraction and has a number of benefits, including slower degradation of quality and improved software comprehension.
The question is this: what is the best philosophy to have? Few large projects? Many small projects? Or is there always a balancing act that makes this inseparable from art? I am dying for your opinions! (And relevant reading (such as articles) if you know any.)