- What classes should we have?
- What data is going to be stored?
- Don't worry about method names yet.
- Design should be done in English.
- What diagrams/objects will be on the canvas?
- Develop common Use Cases, not exotic ones.
- Run a Use Case by your design.
No perfect solution exists.
Choose a simple, consistent, and easily understood design.
Agile design embraces the most simple thing that will work.
Keep things modular.
Chad Salinas at thisschool dot edu