Cover Your Assets

Cover your assets anti-pattern is when a specification is massive and there is not priority weight to each specifications. Readers (developers and other architects)

Symptoms and Consequences

  • Large semantic gap between architecture documentation and implemented software; documentation does not correspond to system implementation.
  • Architects are unfamiliar with key aspects of integration solution.
  • Project is over-budget and has slipped its schedule for no obvious reason.
  • Requirements changes are costly to implement, and system maintenance generates surprising costs.
  • System may comply with most paper requirements but does not meet user expectations.
  • User must invent workarounds to cope with limitation of the system.
  • Very hard to automate to the point where manual efforts are better.
  • Interoperability with other system is not possible, and there is an inability to support integrated system management and intersystem security capabilities.
  • Changes to the systems become increasingly difficult.
  • System modifications become increasingly likely to introduce new serious bugs.

Causes

  • Absent of a common mechanism makes the architecture difficult to describe or modify.
  • Lack of abstractions; all interface are unique to each subsystem.
  • Insufficient use of metadata; metadata is not available to support system extension and reconfiguration without software changes.
  • Tight coupling between implementation classes requires excessive client code that is service specific.
  • Lack of architectural vision.
  • Lack of knowledge and having technical debt among architects and developers.

Refactor Recipes

  • Establish a common interface across the enterprise.
  • Realign all existing legacy system to the common interface.