OutSystems standards and guidelines at Synobsys

Logo

Standards, best practices and how-tos for developing OutSystems applications

Architectural Decision Records

An Architectural Decision (AD) is a software design choice that addresses a functional or non-functional requirement that is architecturally significant. An Architecturally Significant Requirement (ASR) is a requirement that has a measurable effect on a software system’s architecture and quality. An Architectural Decision Record (ADR) captures a single AD, such as often done when writing personal notes or meeting minutes; the collection of ADRs created and maintained in a project constitute its decision log. All these are within the topic of Architectural Knowledge Management (AKM).

Note: The term “architecture decision record” can be used interchangeably.

See these articles for an explanation of Architecture Decision Records (ADR):

Decision log (ADRs)

This document is used to track key decisions that are made during the course of the project. This can be used at a later stage to understand why decisions were made and by whom.

Decision Date Alternatives considered Reasoning Detailed doc Made by Work Required
A one-sentence summary of the decision made. Date the decision was made. A list of the other approaches considered. A two to three sentence summary of why the decision was made. A link to the ADR with the format [Title] DR. Who made this decision? A link to the work item for the linked ADR
Record architecture decisions 2 Aug 2021 -   ADR-001 CoE Log all decisions
Standard language is English 2 Aug 2021 Dutch language Making English the standard language contributes to the maintainability of the applications ADR-002 CoE -
Server Actions exposed to Reactive applications must be secured 2 Aug 2021 Using a token Public OutSystems Server Actions are exposed as REST services when consumed by Reactive or Mobile web applications. ADR-003 CoE -
Use the BDD framework for Component testing 2 aug 2021   There exist several Automated Testing Tools that are suitable for component testing. OutSystems recommends to use the BDD framework for Component testing and we accept this recommendation. ADR-004 CoE -
We will centralize all styling in the designated theme. 2 aug 2021 - A Style Guide ensures a consistent look-and-feel across your applications, managing complexity, ensuring ease of use, and facilitating change. Only by centralizing the theme we can enforce the style guide. ADR-005 CoE Maintaining a centralized theme
We will only use forge components that are approved by the Center of Excellence 2 aug 2021     ADR-006 CoE Get approval for using forge components that are not supported or trusted
Use UUIDv7 as the primary key for all new tables. proposed sequential integer IDs todo ADR-007 - todo
We will use a common glossary to define the ubiquitous language as an essential part of the domain model. proposed - todo ADR-008 - Maintain the glossary