Skip to content

Methods and patterns

This quadrant covers software architecture styles, engineering methodologies, regulatory security standards, and operational quality practices.

Ring: Adopt

C4 Architecture Model

  • Status: Adopt
  • Tags: architecture, modelling, c4, diagrams
  • Rationale: The core architectural abstraction framework used across the company to model software, firmware, and connected systems across Context, Containers, Components, and Code/Deployment (GD-001).

Hexagonal Architecture (Ports and Adapters)

  • Status: Adopt
  • Tags: architecture, patterns, clean-architecture, domain
  • Rationale: Primary structural pattern for core domain logic, decoupling business rules from external databases, UI frameworks, and network protocols.

Modular Monolith

  • Status: Adopt
  • Tags: architecture, patterns, monolith, modularity
  • Rationale: The default architectural pattern for new services, providing independent domain boundaries without the network complexity, eventual consistency challenges, and operational overhead of microservices.

Microservices

  • Status: Adopt
  • Tags: architecture, distributed, cloud, scaling
  • Rationale: Adopted selectively for large, mature domains where independent team delivery cadences and divergent scaling profiles warrant independent containerized services.

Event-Driven Architecture (EDA)

  • Status: Adopt
  • Tags: architecture, eda, pubsub, asynchronous
  • Rationale: Primary communication pattern for IoT telemetry processing and cross-microservice notifications, maximizing decoupling and system resilience.

ETSI EN 303 645 & UK PSTI

  • Status: Adopt
  • Tags: security, compliance, iot, regulation
  • Rationale: Mandatory regulatory security baseline for all connected consumer appliances, enforcing unique per-device passwords, vulnerability disclosure, and secure firmware updates.

Documentation as Code

  • Status: Adopt
  • Tags: documentation, git, markdown, docs-as-code
  • Rationale: Standard practice of authoring technical documentation in Markdown, storing it in Git, validating via linters in CI, and building static documentation sites (GU-010).

Architecture Decision Records (ADRs)

  • Status: Adopt
  • Tags: governance, architecture, adr, git
  • Rationale: Mandatory standard for capturing context, evaluated options, and trade-off consequences of major architectural choices (GU-005).

Agile (Scrum / Kanban)

  • Status: Adopt
  • Tags: methodology, process, delivery
  • Rationale: Iterative software delivery methodologies with empirical feedback, clear quality gates (DoD per GU-003), and collaborative retrospectives.

MISRA C

  • Status: Adopt
  • Tags: embedded, standards, safety-critical, c
  • Rationale: Mandatory coding standards subset for all safety-critical embedded C firmware (GU-012).

Ring: Assess

CQRS and Event Sourcing

  • Status: Assess
  • Tags: architecture, patterns, data
  • Rationale: Evaluating Command Query Responsibility Segregation and Event Sourcing for complex audit-sensitive domains where reconstructing historical state transitions is paramount.

Definition of Ready (DoR)

  • Status: Assess
  • Tags: methodology, process, agile
  • Rationale: Evaluating structured pre-sprint gates (GU-004) to prevent ill-defined user stories from entering active sprints.

ISO/IEC 30141 (IoT Reference Architecture)

  • Status: Assess
  • Tags: iot, standards, architecture
  • Rationale: Assessing the international reference architecture standard for industrial IoT implementations.

Ring: Hold

Waterfall Delivery Model

  • Status: Hold
  • Tags: methodology, deprecated
  • Rationale: Rigid, linear, big-bang delivery models are deprecated across all engineering squads in favour of iterative, empirical Agile and Docs-as-Code practices.