Updated One Medical Tables, Charts & Goals for Architectural Modularity - Feedback Appreciated!

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

Message originally sent by slack user U7213XMGS3H

Since some folks found One Medical’s tables and charts and goals useful, I’d like to share some updated ones. Here are our architectural layers (through packwerk_extensions), our modularity levels (shared before), and our 2024 targets for modularity for each architectural layers. Feedback welcome!

Message originally sent by slack user U7835KE8YO1

thank you for sharing! really cool to see. as i understand your goals are to keep domains and even more so libraries highly modularized, which sounds like a great goal :star:

Message originally sent by slack user U7835KE8YO1

did ya’ll do this to improve existing packs or to keep standards when creating new packs? or maybe both?

Message originally sent by slack user U7213XMGS3H

Most of our code is not in packs yet… The packs we have are largely meeting or exceeding our floors set in these diagrams already. But it’s 80%+ about packs that have not yet been extracted

<@U7213XMGS3H> Nice! Do you also have dependencies within the layers? (That’s allowed by the checker IIRC, but your first table doesn’t mention this.)

Message originally sent by slack user U7213XMGS3H

ah, yes! domain packs can depend on domain packs, maybe i should make lines for that

Message originally sent by slack user U70TIGAX94P

Looking great!

Message originally sent by slack user U7370XW169D

<@U7213XMGS3H> You mentioned these were your 2024 goals. Does that imply that you intend for the targets to go higher in subsequent years? For example, would you expect to see the goal for your Domain to increase to High modularity in years to come or is this your intended end state?

Message originally sent by slack user U7213XMGS3H

Probably but it’s hard to see to 2025 at this point

Message originally sent by slack user U7370XW169D

Cheers Zeke. Great diagrams too. They helped spark a really good discussion on our team

Message originally sent by slack user U7213XMGS3H

OK some more slides from the training we’re developing… WIP. I think someday we’ll have an epic blog post about our modularization effort and trainings, so please feel free to use all this as inspo but if you publish anything give us credit :wink:

Message originally sent by slack user U70NN25TNJA

Thanks for sharing these Zeke :slightly_smiling_face: We’re beginning to hit a bit of an inflection point of adoption of packwerk at my company (after being deliberate and slow in choosing folks to work with at first). As such, riffing on these will be super helpful for some internal training/cat-herding :slightly_smiling_face:

The diagrams explaining the violations are wonderfully clear.

Message originally sent by slack user U7213XMGS3H

Hm, a thought… I wonder if Ruby at Scale could include diagrams like these in the readme? would that be helpful?

I believe that it would be helpful

Message originally sent by slack user U7213XMGS3H

The only thing i’d want to change i think is to take away my current “modularity layers” (shade of blue and stroke style) because that seems like something specific to us and maybe confusing