10.6. Something Working
The search interface we implemented is basic. It provides the needed functionality. We know that we might need to refine it. We could get bogged down in refinement details before creating the first implementation. Instead of doing that, when we have ideas for additional improvements while developing the first interface, we write them down in the design journal for later development.
The basic catalog lookup is working. The number of items returned by a given search criterion might be large. For example, if the user typed in the letter A or the word The, a large number of songs would be matched. The match processing could put restrictions on searches for common words. However, a large number of matches still would be possible. The display widget (e.g., a drop-down list or a web page) could have difficulty showing a large number of matches. We could refine the search mechanism to provide a limiting feature.
GET SOMETHING WORKINGCreate something basic before adding refinements.[*] |
[*] Danny Faught notes that although this is the key to being agile, "Before agile, I remember a suggested integration technique, taking a path from the top of the module hierarchy down to the bottom (with few side trips), so you can run an end-to-end test early on."
10.6.1. Placing Limits
One approach to the problem of dealing with a large number of matches is to place a hard limit on the number of matches. Placing limits on operations can be useful in getting something working. ...