Great article by Roger Sessions: The Six Faces of IT Complexity , from the ObjectWatch Newsletter Issue # 57, August 2008,
Briefly, these are:
- Decompositional Failures: a failure to decompose a system into small enough pieces. They cram too much functionality into too large a package. Decompositional failure describes a bloated system.
- Recompositional Failures: failure to aggregate too many small packages. These systems require much coordination between too many too-small sub-systems. The complexity manifests itself not in code complexity, but in communications complexity. Recompositional failure describes an anemic systems.
- Partitioning Failures: a system that has been divided into smaller subsystems (to avoid decompositional failure), but the resulting subsystems do not represent a true partition of the original system, or ill-considered dependencies between the subsystems. Partitioning failure describes systems in which functionality and/or data has been duplicated in different systems.
- Synergistic Failures: one or more functions have been assigned to the wrong subsystem. Synergistic failure describes systems in which functionality has been assigned to inappropriate subsets.
- Boundary Failures: fragile state where with minor changes in one subsystem cause failures throughout the architecture. Boundary failure describes systems in which there is poor separation between subsets.
- Removal Failures: functionality in a system that is unnecessary. It should have been removed from the architecture before the system was implemented, but, for one reason or another, wasn’t. Removal failure describes systems with unnecessary functionality.
Category Application Design
( Topic last updated: 2008.08.29 09:33:15 AM )