Simon Brown writes about software architecture, including modular monoliths, documentation, and how to visualize and structure systems.
HN commenters cite it for Simon Brown's modular monoliths talk, linking it in discussions of microservices and cohesion.
Microservices are not to scale organization even if some organizations used them in this way. There is a big problem with this way of scaling. The sense ownership becomes the sense of defend your castle (team's microservice code) from invasion (external developer that are trying to add features or fix bugs).
Microservices were also presented as a solution for encapsulation. But if you cannot write good encapsulated code in a monolith, what makes you think microservices are the answer? http://www.codingthearchitecture.com/2014/07/06/distributed_big_balls_of_mud.html
Microservices (or just services) are the solution of having more bandwidth for a set of features without having to more of everything else and preventing some part of the code to influence negatively some others.
Higher cohesion and modularity.
I'm glad to see this in an article for JavaScript projects. Here are a few articles for Java projects, that go in more details (I think the concepts still mostly apply to JavaScript projects):
http://www.javapractices.com/topic/TopicAction.do?Id=205
http://www.codingthearchitecture.com/2015/03/08/package_by_component_and_architecturally_aligned_testing.html
There is a great talk on this by Simon Brown
http://www.codingthearchitecture.com/presentations/sa2015-modular-monoliths
https://www.youtube.com/watch?v=h_rBDIC51C4