Patterns icon
Pattern guide

No Dependency Engineering

Avoid external dependencies so tools remain stable and portable.

Intent

Avoid external dependencies so tools remain stable and portable.

When to use

  • Adoption depends on low setup friction.
  • Users cannot manage complex dependencies.
  • You need rapid, repeatable deployments.
  • Web delivery improves access and reach.

Core mechanics

  • Minimize setup steps and external dependencies.
  • Bundle or pin versions of required tools.
  • Provide clear install, run, and rollback paths.
  • Design endpoints for simplicity and caching.

Implementation checklist

  1. Document supported environments and prerequisites.
  2. Package dependencies or provide install scripts.
  3. Create one-step install and update workflows.
  4. Define rollback procedures for failed releases.
  5. Validate endpoint behavior and caching rules.
  6. Add smoke tests for deployment verification.

Failure modes and mitigations

  • Hidden dependencies -> bundle or document explicitly.
  • Cache staleness -> set TTL and invalidation rules.
  • Install drift -> version artifacts and scripts.
  • Browser incompatibility -> test top clients.

Observability and validation

  • Deployment success rate and duration.
  • Endpoint latency and error rates.
  • Cache hit ratio and refresh rates.
  • User access errors by client.

Artifacts

  • Install scripts and checksums.
  • Deployment checklist.
  • Endpoint contract documentation.
Seen in production

Seen in production as

Related

Related patterns