Dead End

This anti-pattern is about not isolating risky components like external vendor's unavailability etc for critical execution. Hence, the name "dead end" is coined because you're at it, without alternatives.

Consequences

  • Downtime due to vendor or commercial off-the-shelf (COTS) unavailability.

Symptoms

  • No isolation with vendor or volatile feature.

Causes

  • No isolation with vendor or COTS interface.
  • Using volatile interface in reusable software.

Fixing Recipes

  1. Re-plan resources for vendor lock-in.
  2. Refactor to isolate volatile interfaces.
  3. Remove codes when necessary.
  4. Re-negotiate and have risk mitigation scenario tested (e.g. missing vendor, lost of data-center, etc.)