BEWARE the Swiss Army Knife…
Beware Swiss Army Knife Applications
The Anti Pattern
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
- Web Application Design Patterns
- Design patterns : elements of reusable object-oriented software
- Java Design Patterns
- Cyberpatterns: Unifying Design Patterns with Security and Attack Patterns
- Security Patterns in Practice: Designing Secure Architectures Using Software Patterns (Wiley Software Patterns Series)