CSC/ECE 517 Fall 2010/ch7 7g ms
Analysis Paralysis Anti-Pattern
Analysis Paralysis Anti-pattern
In software engineering, an anti-pattern (or antipattern) is a pattern that may be commonly used but is ineffective and/or counterproductive in practice1.
Analysis paralysis is one of the classic anti-patterns in object oriented software development. In analysis paralysis, we over analyze (or over think) a situation until no decision is ever made, which effectively paralyzes the current process' outcome.
History
How to Defeat Analysis Paralysis
*Keep models small. Never integrate them. Building a bigger model doesn't add knowledge - it destroys knowledge *Employ a professional architect *Start your project with one requirement and an architectural prototype
The PDCA Model
*Plan *Do *Check *Act
Causes
- Pride
- Narrow Mindedness
- The lure of infinite composability and decomposability
- Insistence on completing all analysis before beginning design.
- Regular change of leads and their philosophies (each trashing and restarting the work of the previous)
- Too many learning curves at once (underqualified analyst) causing incessant revisiting of prior work
- Lack of goals
- Increasingly conflicting goals (often political)
- Creative speculation, when discovery and definition are required.
- BigProjectSyndrome: this one will do it all, will use the latest tools, will use a new paradigm, will use all new developers, will start with a clean slate, will handle all use cases of two or more existing systems in the first release, etc.
- Risk avoidance, fear of making a mistake.
References
[1] Wikipedia. (2010, November) Wikipedia - Anti-Pattern. [Online]. http://en.wikipedia.org/wiki/Anti-pattern