This is a good start on a design. By elaborating the user stories into use cases and hunting through those use cases for abstractions, we've created a shape for the system. An archicture is burgeoning. Note, however, that this architecture has been created by looking at only the first few user stories. We did not do a comprehensive review of every requirement in the system. Nor did we demand that every user story and use case be perfect. We also did not do an exhaustive design of the system, complete with class and sequence diagrams for every jot and title that we could think of. Thinking about design is important. Thinking about design in small, incremental steps is critical. Doing too much is worse than doing too little. In this chapter, the amount we did was just about right. It feels unfinished, but it's enough for us to understand and make progress with. |