Case study. The direction and standards were mine; the delivery belonged to many engineers, architects and leads.

The situation

I have led the decomposition of a legacy monolith twice. At Enclara Pharmacia, the monolith became service-based APIs. At Mansfield Energy, the work spans ERP, customer applications and integrations, moving to microservices.

What I did

  • Set the architecture and standards teams build to, starting with API-first integration.
  • Made decisions durable and visible: architecture decision records for consequential choices, infrastructure as code and CI/CD pipelines, and observability.
  • At Enclara, introduced continuous integration and delivery, and made code review and technical documentation standing practice.
  • At Mansfield, built the context that lets coding agents work in existing systems: tools, connectors and codebase knowledge.

What changed

At Enclara, service-oriented APIs became the standard for integration between enterprise applications. At Mansfield, the same pattern runs through the modernization roadmap I own, with decisions recorded and automation.

What I would carry forward

Modernize with the existing system, not against it. The rules that matter most are often the ones nobody wrote down, so write them down first: in decision records, in tests that pin current behavior, and in context a new engineer or an agent can read.

Related: Modernize safely, one slice at a time · Architecture decisions: preserve the why