Development AntiPattern: Spaghetti Code - Refactored Solution
Refactoring as you program [Beck 96]
- Incremental development
- Refactoring to improve structure
- Incremental test
- Iterate
Use programming discipline [Humphrey 95]
- Keep track of defects (metrics)
- Learn to avoid programming defects
Use Architecture-Centered development [Booch 96]
- Define enforceable system boundaries
- Use design patterns to document software
Strategy: Reform the software process