Looking for a Video Introduction for Pitching Champion Modular Rails to Senior Developers at My Company

This message was imported from the Ruby/Rails Modularity Slack server. Find more info in the import thread.

Message originally sent by slack user U71810IPUMS

I am working on champion modular rails at my company (see here if curious). I was wondering if there is a good intro video to use in pitching to the higher ups. They already know there is a problem with our current approach and all are senior+ devs so I am hoping to find something more fast pace and higher level as they aren’t going to be the ones doing the implementation just approving the architectural changes. Any thoughts?

Not to self-promote too much, but here is my RailsConf chat on packwerk and here is similar content but in the form of a blog post.

It might also be useful to share the walkthrough video in the README of https://github.com/Shopify/packwerk

I’d love to see other content on packwerk and modular rails! If anyone is interested in putting together content like that I’d love to help review and provide feedback :smile:

Message originally sent by slack user U71810IPUMS

If I can get company buy-in for moving in this direction, I would love to write about my experience doing the refactor

Sounds great! The more stories that we can share the better.

I almost forgot… one of my all-time favorite articles on the subject was written by <@U70JKF7I8J5> and is here:
The Modular Monolith: Rails Architecture

Also Shopify’s articles on the subject:
Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity
and
Under Deconstruction: The State of Shopify’s Monolith written by <@U70TIGAX94P>, and has loads of references to other reading material at the bottom

Message originally sent by slack user U714SKC460P

I’m championing something similar at the moment. From my pitch note:

from: tightly coupled monolith
• that allowed us quick prototyping and jumpstarting projects
• but became fragile, insecure, slow and less maintainable over the years
to: well bounded components, loosely coupled with high cohesion and a well defined interface that enables:
• our products to communicate efficiently & securely with each other
• remove single point of failure
• minimize development efforts and improve time to market of features
• more reliable experimentation (less noise)
• flexibility in architecture & performance optimization for single components
• reduced domain knowledge & cognitive load required for teams owning each component
• clear code ownership
• future extraction, externalization of components into separate services

Message originally sent by slack user U714SKC460P

and used 2 picture to examplify: 1. picture of Hongkong’s Kowloon walled city and the 2. some US suburb with clean houses, gardens (using the fences, streets as analogy for the how communication flows and and components are bounded) :slightly_smiling_face:

Message originally sent by slack user U714SKC460P

I had to pitch to a lot non tech people though