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