Modularizing: Creating Tech-Debt Packs for Architectural Layers - Good or Bad Idea?

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

Hi all. So we’re in process of gradually modularizing… we have defined a few architectural layers and assigned all our existing packs to them. But we still have lots of files in the main app which we need to move to new or existing packs.

Thinking what specific pack each file should belong to is hard and time consuming, so we decided to split the effort and, for now, just create one [layer]_tech_debt pack per layer (like utility_tech_debt pack in the utility layer) and move files to those packs first.

The benefit is that we should be able to at least resolve architectural todos, which is progress already, and the effort should be way less as we only have a handful of layers.

Then in the future we can have separate, focused efforts to further split those tech-debt packs into proper packs, inside the same layer.

What do you think? Has anyone done something like this? Do you think it’s a good idea? Bad idea?

I’d say that pretty much whatever gives or retains momentum to do structural improvements is a good idea

We have a pack called unorganized_files_that_need_to_be_organized for a while… that’s maybe a better name than what you have, because it is uglier :slightly_smiling_face:

I love that name. But I’ll get too much push back. I think I’ll compromise to [layer]_to_be_organized.