The Swiss Army Knife

BEWARE the Swiss Army Knife…

Swiss Army Knife

Beware Swiss Army Knife Applications

The Anti Pattern

Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications (Microsoft patterns & practices)

Anti Pattern Name: The Swiss Army Knife

Type: Application and Systems Design

Problem: Functional creep in application design leads to an eclectic product with multiple attachments (which rather than being integral and optimal are usually sub-optimal grafts).

Context: Lack of control and governance in application design, unruly bespoke development, bolt-on addiction, no clear delineation of application responsibilities.

Forces: Lack of governance, application design standards and services strategy. Undue influence of ‘G-d Applications’ and their custodian(s).

Resulting Context: Swiss Army Knife applications rarely excel in any functional area. As they are an amalgam, they can be difficult to decommission or replace (as the functionality they contain needs to be moved elsewhere). The usual resulting context is a need for multi-stage decommissioning / replacement.

Solution(s): Application design standards and principles, governance, service based architecture, edict that ‘applications should do what they do best’, ban the ‘bolt-on’, clear delineation of application responsibilities, strategic view of application development.

Further Reading on Design Patterns