I've been considering ways to organize my company's SF metadata, with the goal of grouping together metadata that are specific to particular processes, while leaving out shared metadata.
SF has made some movement towards using Unmanaged Packages with SFDX for 'package driven development'. I've typically viewed this as out of my domain, something for app devs seeking to share their work outside of their org, but now I've been wondering if there's value in using unamanaged packages internally.
For example, our main business in Salesforce can be divided up into three separate sets of processes for our three areas of business.
At a high level, I could potentially group the unique metadata for each area into its own unmanaged package, leaving any shared metadata out.
However, as an alternative, I could also use SFDX's allowance for custom folder structure, to simply divide our metadata repository into multiple parent level folders. For example, a 'Program A' folder with its own \force-app\main\default\
structure, a sibling 'Program B' folder with its own, and a 'Shared' folder that holds the shared metadata.
I could also see a hybrid of these two systems, where the folder structure holds the highest categorization of metadata (major business areas/programs), while unmanaged packages group specific processes or tools within those areas. I think this would better reflect the intent of packages.
Does anyone use this method, or other methods to organize and group metadata directly, rather than relying solely on documentation and digging through code to figure out what components are related to a given process or area of business?