Well-Architected Characteristics
Something’s Not Quite Right
Have you used a solution that met your needs so well that you worked around aspects you didn’t like? For example:
You often saved your work because you worried about losing it.
You struggled to accomplish some tasks, wishing the solution made your work less tedious.
You waited a long time for the improvements you needed.
Cases like these arise from overlooking architectural characteristics in solution development. Commonly known architectural characteristics include reliability, usability, and scalability. They apply to all solutions in varying degrees.
So many architectural characteristics have emerged that no solution can have all of them. Solution architects often trade off characteristics to release a product on schedule. For example, an architect defers scalability to ensure reliability.
Well-Architected Decisions
Salesforce Well-Architected has organized architectural characteristics into three broad categories with an implicit ranking.
Trust through security, compliance, and reliability
Easy to use with an engaging user experience
Adaptability to inevitable changes
These characteristic groups make it easier for a solution architect to decide which characteristics to consider when making trade-off decisions.
Mandatory Trust
An organization and its users expect a solution to keep their information safe, compliant with regulations, and available when needed. Salesforce Well-Architected puts these characteristics in the “Trusted” category. No matter how much value a solution brings to an organization, it must be trustworthy: reliable, secure, and compliant with regulations.
Trust factors often combine, such as regulations mandating data privacy and protection from unauthorized access. The organization needs secure, compliant solutions to avoid losing customers, paying fines, or risking lawsuits. Security also combines with reliability to keep users’ data safe and available.
Necessary Ease of Use
Users want easy to use solutions with an engaging experience. Solutions should streamline workflows by automating mundane tasks, making it simple for users to focus on what they need to accomplish with the system. Visually appealing designs, straightforward process steps, and personalized content engage users, ensuring higher adoption rates.
Essential Adaptability
Organizations face continuous change, and solutions must adapt quickly and easily. Adaptability includes several architectural characteristics, such as:
Configurability - enabling admins or users to change aspects of the solution easily
Extensibility - ease of adding new functionality
Localization - support for multiple languages, units of measure, and currencies
Maintainability - easy to apply changes and enhance the system
List adapted from Fundamentals of Software Architecture by Mark Richards and Neal Ford
Salesforce supports configurability with custom metadata types and localization in “Language, Locale, and Currency” settings.
Adaptable solutions are composable, having extensibility and maintainability characteristics, and a business-oriented separation of concerns. For example, Salesforce 360 separates sales, marketing, and service into different solutions. Changes in one solution affect the others only where they interoperate.
Characteristic Harmony and Tradeoffs
An ideal solution fulfills business needs and is trustworthy, easy to use, and adapts well to changes. Some characteristics complement each other, such as:
Availability and ease of use
Extensibility and process automation
Separation of concerns and maintainability
Security concerns often constrain ease of use and extensibility. Features like single sign-on can reduce the tradeoff. An architect can extend a solution with APIs, but those APIs must have secure access.
The business analyst should determine overall characteristic priorities. Then the architect can work out how to make them work together to build a trusted, adaptable solution that people enjoy using.
Well-architected solutions balance trust, ease of use, and adaptability to meet business needs.