I tend to take a “hybrid” approach. I believe in modular architectures, as I think they result in much better quality, but the design needs to be a “whole system” design, with the layers/modules derived from the aggregate.
Once that is done, I work on each module as a standalone project, with its own lifecycle.
I’m also careful not to break things up “too much.” Not everything needs to be a standalone module.
Once that is done, I work on each module as a standalone project, with its own lifecycle.
I’m also careful not to break things up “too much.” Not everything needs to be a standalone module.