Our small software development team is looking for a way to track our requirements. Our development team uses Fogbugz and we are considering that option. Any suggestions?
You can set up requirements as milestones and place programming objectives or tasks under the different milestones. This means you can not only see what which items you still need to work on for each requirement, but you can also see how long until each requirement is fulfilled based on your estimates for how long each task will take to carry out.
A person named Todd Waits suggested the following approach here: http://www.toddwaits.org/bs/2014/08/15/Dynamic-software-requirements-documentation-from-fogbugz-cases/
Create a custom workflow with the category "Requirement" and the following statuses:
Active: Proposed (default) and Approved.
Resolved: Implemented, Duplicate, Removed, Void, Verify
He suggests to set all cases that are created to track tasks related to the requirement (implementation as well as bug fixes) as children of the requirement.
My guess is that requirements would then go through these steps:
Proposed -> Verify -> Approved -> Implemented (-> Closed?)
Somewhere on "Joel on Software" I believe Joel recommends that programmers file bugs against requirements, e. g. "Req 12 contradicts req 33". The person writing the specs would then fix the requirement.
From this point of view, requirements are treated similar to source code. The source code is a set of documents used by a computer to create the program. Requirements are a set of documents used by a programmer to create the source code.
Apart from what Jason has mentioned already FogBugz advanced features allows following
- Customizable workflows
- Customizable case-types
- Customizable statuses
So why not ceate a workflow for requirements, Customize case-type to say "Requirement" and provide a status customization as well as you need it.