Composable - Separation of Concerns

Learn more about Well-Architected AdaptableComposableSeparation of ConcernsFunctional Units

Where to look?
Product Area | Location
What does good look like?
Pattern
Einstein | Org✅ Iterate on prompt templates to understand what inputs impact the response Iterate on prompt templates to understand how the parts impact the model's response
Platform | Design Standards✅ A list of all currently defined functional units (and related naming conventions) exists
Platform | Design Standards✅ Standards for proposing functional unit additions or changes exist
Platform | Design Standards✅ Naming conventions address how to denote a functional unit
Platform | Documentation✅ All documentation and implementation diagrams clearly show the functional unit(s) for components
Platform | Documentation✅ All components within a functional unit are searchable and easy to find
Platform | Documentation✅ System landscape diagrams clearly show the functional units in an org
Platform | Documentation✅ Documentation for individual components include functional unit mapping for the component
Platform | Org✅ It is possible to quickly identify functional unit alignment for a given piece of metadata (for example, a flow, Apex class, or Lightning page)
Platform | Org✅ Functional units are labelled in business-friendly terms

Learn more about Well-Architected AdaptableComposableSeparation of ConcernsState Management

Where to look?
Product Area | Location
What does good look like?
Pattern
Platform | Apex✅ Savepoints and rollback behaviors are used in all data operations
Platform | Design Standards✅ Use cases for stateful vs. stateless designs are clear
Platform | Design Standards✅ Approved patterns for stateful communication exist
Platform | Design Standards✅ Approved patterns for stateless communication exist
Platform | Design Standards✅ Clear categories for state exist
Platform | Documentation✅ Every component that handles stateful and/or stateless communication indicates what pattern has been implemented
Platform | Documentation✅ Process and interaction diagrams provide detail about state categories and hand-offs
Platform | Documentation✅ It is possible to search for and find all components that have implemented a particular stateful/stateless pattern
Platform | Flow✅ Fault paths and the Roll Back Records element is used

Learn more about Well-Architected AdaptableComposableSeparation of ConcernsFunctional Units

Where to look?
Product Area | Location
What to avoid?
Anti-Pattern
Platform | Design Standards⚠️ Design standards do not exist or do not deal with functional units and use cases
Platform | Documentation⚠️ You cannot search for a particular functional unit and/or searches do not help identify all the components within a functional unit
Platform | Documentation⚠️ Component documentation describes the functional unit a component belongs to, but that is the only place the definition of that functional unit appears
Platform | Documentation⚠️ Component documentation does not exist
Platform | Org⚠️ It is not possible to identify functional unit alignment for any metadata
Platform | Org⚠️ Functional unit information is inconsistent or inaccurate
Platform | Org⚠️ Functional unit information is labelled in engineering-focused terms that are meaningless to business users

Learn more about Well-Architected AdaptableComposableSeparation of ConcernsState Management

Where to look?
Product Area | Location
What to avoid?
Anti-Pattern
Platform | Apex⚠️ Savepoints and rollback behaviors are not used
Platform | Design Standards⚠️ Design standards do not exist or do not deal with state/stateless patterns and use cases
Platform | Documentation⚠️ Component documentation does not exist
Platform | Documentation⚠️ Component documentation describes the stateful/stateless pattern implemented, but that is the only place the definition appears
Platform | Documentation⚠️ It is not possible to search for a particular pattern and/or searches do not help identify all the components using that pattern
Platform | Flow⚠️ The Roll Back Records element is not used