I sat down today with Peter Provost and Brian Button and we outlined a number of user stories for the Bookmark Collection TDD example. My focus for the example is on programmer tests. Therefore, I am not going to use Customer Tests, although it would be possible to use these to drive development. We'll save that for a different problem. A side note: The customers for the Bookmark Collection are programmers themselves so some of the stories may be more technical than you might have seen in the past.

Here are the stories that we came up with. They are not in priority order, although some obviously would have to come before others:

  • Story #1
    • Bookmark Collection CRUD (Create, Retrieve, Update, Delete)
    • Our collection should inherit from IDictionary and behave accordingly
  • Story #2
    • Provide formatted output of the Bookmark Collection. Formats include text, XML, and HTML
  • Story #3
    • Organize bookmarks into arbitrarily nested folders
  • Story #4
    • Sort bookmarks by label, by URL, by last access, and by number of visits
  • Story #5
    • Persist the Bookmark Collection into a file
  • Story #6
    • Persist the Bookmark Collection into a user profile
  • Story #7
    • Persist the Bookmark Collection into a database
  • Story #8
    • Persist the Bookmark Collection with a web service
  • Story #9
    • Delete all bookmarks that have not been accessed in the last month

There they are. If you have feedback on the list of stories or their contents please let me know. Also, I have chosen Story #1 as the first story that will be implemented. Look for the test list for story #1 tomorrow.