Reuse
Reuse, Adopt, Build
Summary
Existing solutions are evaluated before development begins, with internal reuse preferred over external adoption and custom development used only when neither meets the requirement.
Reasoning
Assuming that no suitable solution exists can duplicate capability and commit development effort before the available options are understood. Discovery at design time establishes whether an existing solution meets the requirement while the approach can still change without rework.
Internal reuse avoids creating another implementation and support burden. When no internal solution meets the requirement, external adoption can avoid the continuing cost of custom development. Familiarity and convenience do not establish that an existing option is unsuitable.
Implemented By These Standards
Reusable Interfaces
Summary
A component, service, or library likely to be reused exposes a stable, documented, and versioned interface so another team can adopt it without depending on its internals.
Reasoning
A documented interface separates a reusable capability from its internal implementation. Stability and versioning allow providers and consumers to change independently.