A [email protected] project is all about ensuring your salesforce org is well modularized in terms of functionality, as well as the deployment of the modules utilizes various forms of package-based development options available within Salesforce
Traversing the concept of DX Packaging can be a daunting task. In our exuberance of adoption, we cannot lose sight of purpose and value. Packaging for sake of packaging is a path toward disaster; just a road trip to nowhere. You wind up with a lot of cost and lost time.
Pillars of a Package
There exist three pillars of a Package which include Encapsulation, High Cohesion and Reusability. These pillars define a package as an entity not reliant on the environment/Org it exists in; except for standard Salesforce components
Defines the bundling of data with the methods that operate on said data. Encapsulation is used to hide the values or state of a structured data object inside a package
Defines how closely all the components in a package support a common purpose
The package can be reused without consequences of the environment; morphing to each environment. Please note, if a package has a dependency, then one need to adhere to the guiding principles.