Eric Sink recently posted a great article regarding his thoughts on software requirements. I’ve always found Eric’s writing insightful, and this posting is no exception.
http://software.ericsink.com/articles/Requirements.html
One topic Eric discusses is the comparison of a document vs. database centric approach to requirements. The method I have found that covers both is to keep a list of your use cases as briefs, with just a title and a short description as needed. This is your database, and tracking/status info can also be included (ex: priority, difficulty, status, and category.) These briefs are each tied to the full use cases, which are more document centric. This approach is supported out of the box with EdgeRM, where use cases and other requirements are listed in a tabular format allowing users to click through to the actual document.
For more information on use cases and requirements management, I recommend the following texts:
Software Requirements, Second Edition by Karl E. Wiegers
Writing Effective Use Cases by Alistair Cockburn
For those individuals new to use cases, who need to write requirements, I suggest starting small and simple. Start out writing a list of briefs, and then write a use case or two. Just the briefs alone will help you flesh out the functionality required for your project. If you hate writing documentation do not let yourself feel overwhelmed; do this in small bites. The trap people fall into is the feeling they have to write as much as they can at once. One way to avoid this is to divide your work into areas of functionality (ex: file attachments, user management.)
The upside is that use cases are a great way to flesh out your product and communicate better with other stakeholders. If you are a developer, good requirements are your friend by promoting understanding and eliminating rework. The often asked question you want to be able to answer: "What are we building?" You may want to be involved in the requirements process if you are not currently.
I plan on releasing a white paper shortly, fleshing out more fully my thoughts on getting started with use cases. I’ll be posting links here, so be sure to subscribe to our RSS feed for the latest news.