Back to Insights
SA
Sumit Arora

Full-Stack Architect

Brisbane, Australia
January 2026
15 min readEnterprise Architecture
For Enterprise Architects

The EA Playbook: Architecture Patterns from Production

What we learned building business systems across banking, legal, accounting, and enterprise security. Not theoretical frameworks—actual patterns from production systems.

State MachinesApproval GatesAudit TrailsMulti-Party Workflows

Why This Matters for Enterprise Architects

You're evaluating architectures, approving designs, and setting standards. You need patterns that actually work—not vendor slides or academic frameworks.

We've built systems across four industries that look nothing alike: immigration law firms, bank data platforms, CSR expense management, and mobile device compliance. The patterns are remarkably similar.

7 Patterns That Appear Everywhere

After building workflows across these industries, we keep seeing the same patterns. Miss one, and you'll rebuild later.

State Machine

BankingLegalAccountingSecurity

Every business workflow is a finite state machine. Define your states, valid transitions, and guards that control when transitions can occur.

Implementation

  • Enumerate all possible states explicitly
  • Define valid transitions as a directed graph
  • Add guards (conditions) for each transition
  • Make invalid states unrepresentable

Anti-pattern

Using a freeform "status" string field that can hold any value

Example

Data Product Governance: Draft → Proposed → In Review → Certified → Published → Deprecated

Pattern × Industry Matrix

Not every pattern applies everywhere. Here's what we've seen.

PatternBankingLegalAccountingSecurity
State Machine
Multi-Party Handoffs
Approval Gates
Audit Trail
Clarification Loops
Configurable Statuses
Access & Entitlements

5 Anti-Patterns We've Seen Kill Projects

These aren't theoretical. We've seen each one cause real pain.

The God Service

One service that does everything. It starts simple, then grows tentacles into every part of the system.

Fix: Decompose by bounded context. Each service owns its data and workflow.

Stringly Typed Status

Using freeform strings for status instead of enums. "Approved", "approved", "APPROVED", "apprvd" all mean the same thing... maybe.

Fix: Use proper enums. Validate at the boundary. Reject invalid values.

Optimistic Audit

Logging only successes, or only errors. When the auditor asks "did anyone view this record?", you don't know.

Fix: Log everything: reads, writes, failures, and why. Store immutably.

Sync-Everything

Every action waits for every downstream system. One slow integration blocks the user.

Fix: Use async messaging for non-critical paths. Show "processing" states.

Config in Code

Business rules buried in if-statements. Changing a threshold requires a developer and a deployment.

Fix: Externalize business rules. Make ops teams self-sufficient for common changes.

See the Patterns in Action

Each case study shows how these patterns apply in a specific industry context.

When to Use What

A quick decision framework for choosing patterns.

Work moves through defined stages?
State Machine(Required)
Multiple parties handle the same work item?
Multi-Party Handoffs
Compliance or regulatory requirements?
Audit Trail + Approval Gates(Required)
Business rules change frequently?
Configurable Statuses
Work can be rejected or returned?
Clarification Loops
Sensitive data or operations?
Access & Entitlements(Required)

Building a Business System?

We help organisations design and build workflow systems that actually work. From discovery through deployment, we bring these patterns to life.