Continuous Design
Up there on Martin Fowler.com, a new Design column for the IEEE Software called Continuous Design by Jim Shore is posted.
It's an eye-opening read. And if you have not been exposed to the idea of continuous design (a.k.a. evolutionary design or emergent design) some of the practices might be a shock:
- DRY (Don't Repeat Yourself)
- Explicit
- Simple
- Cohesive
- Decoupled
- Isolated
- Present-day: The design doesn't try to predict future features
- No hooks: Interfaces, factory methods, events, and other extensibility "hooks" are left out unless they meet a current need
It termed up-front design as speculative. And provided testimony that continuous design generates superior designs.