Earlier this spring OCLC an API Workshop on the WorldCat Registry web service where we used a demonstration application that displayed library hours data to illustrate how to work with the RDF Interface. A fix was installed in late July for a URL persistence problem we mentioned during the webinar that caused Linked Data URLS to randomly shift from looking like
With that problem resolved, we decided to expand the functionality of the demo application to cover some new user stories. One reason for doing this was to provide more code which demonstrated using Linked Data. A second reason was to provide examples for my presentation at IDS conference on user stories, acceptance criteria, and testing.
In order to support my presentation at IDS, I decided to add two new major areas of functionality (Epics) to the demo application. The first area of functionality was showing hours for related branches. Now when the application runs it shows a specific library along with a drop down menu of related branch libraries. A user can select a specific branch and choose to view the hours for that branch.
The second area of new functionality was showing the street address for the library along with the hours. Additionally, now the street address is displayed side by side with the hours in the user interface.
When I decided to implement this functionality, I wore both the product owner and developer hats. First, I put on the “product owner” hat and wrote a set of epics and user stories for this functionality. You can see these in the GitHub project for the demo application. Wearing that same “product owner” hat, I also wrote acceptance criteria for each story.
Once the acceptance criteria were complete, I put on my developer hat and wrote a series of behavior driven tests which would test this functionality. From this point, I moved into writing unit tests and code which would create the classes and functions necessary to support the new functionality. If you're interested in more details about this process of using user stories, acceptance criteria and tests, keep your eyes open as we'll be doing a series of blog posts on those topics over the next two months on Developer Network.
In the meantime, check out the new functionality in the WorldCat Registry Library hours demonstration application. If you have comments, feel free to send them to firstname.lastname@example.org. We're also happy to take pull requests via GitHub if you see a bug or have an enhancement you'd like to contribute.
Senior Product Analyst