CSC/ECE 517 Fall 2010/ch7 7g ms: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
=How to Defeat Analysis Paralysis= | =How to Defeat Analysis Paralysis= | ||
*Keep models small. Never integrate them. Building a bigger model doesn't add knowledge - it destroys knowledge | *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 | |||
*Employ a professional architect | |||
*Start your project with one requirement and an architectural prototype | |||
==The PDCA Model== | ==The PDCA Model== |
Revision as of 20:49, 1 December 2010
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 practice.
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.
This diagram is a Universal Modeling Languages (UML) diagram of how a Singleton class would look if implemented in Java.
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