Meta Design: Design of a Design
Why even write a design? The design process animates thinking through ideas deeply before getting lost in building them.
What makes a successful design? It alone must simply suffice to realize the idea it contains.
Some things to try:
- Write concisely but not too short
- Use clear & vivid explanations (use pictures, graphs when appropriate)
- Avoid too long continuous text passages
Top Down approach
Identify distinct, preferably large, independent modules. Next outline interactions of the modules to map out the interaction dynamics of the system.
Describe each module as deeply as necessary but not deeper, so that interfaces (behavior towards others) and their functionalities (inner behavior: e.g. algorithms and data structures) are clearly presented. Finally and most importantly realize your design: BUILD IT.