Requirements management is the process of managing a simply stated desire or need. Successful requirements are the key to delivering high quality products. This section explains what requirements management is and what features you should look for in a requirements management tool.
It is widely agreed in the software industry that one of the keys to delivering high quality products is to get the requirements "right". However there is far less consensus on what "right" actually means, and even less consensus on what is the best way to get there.
In September 1999, NASA's $125 million Mars Climate Orbiter probe was destroyed when it tried to enter orbit 100 kilometres too close to Mars. The now notorious error was due to incompatible specifications; the attitude-control system was specified using imperial units but its navigation software used metric units. It cannot be stressed enough that getting requirements right and using them to the fullest extent throughout the project is critical to success.
A requirement is a very simply a stated desire or need: For example, in a fictitious library system, a requirement could be that "the library system allows people to check-in and check-out books". Requirements management is the process of capturing and managing all of the different ‘needs’ that different stakeholders have in a system. Sometimes the needs relate to the functionality (the system needs to do X), other times it may be technical need (the system needs to run on specific web browsers, database servers, etc.)
There is no “correct” set of features to have in a requirements management system, it all depends on your organization, the type of “system” you are building, the process you will be following and many other unique aspects (such as culture) that need to be considered.
However here are some common features that should be part of any requirements management tool:
When you are looking to choose a requirements management system you need to make sure that it provides the functionality you need, can support the way you do testing and is flexible/adaptable enough that it will be able to handle your future needs.
Traditional “waterfall” methodologies focused on gathering requirements, use cases and process flows in increasing detail to better understand the system being built, whereas modern agile methodologies typically are designed with changing requirements in mind.
Requirements management tools such as SpiraTeam helps you make sense of your requirements and is adaptable to your methodology and processes rather than the other way around.
For agile projects, you can use a Scrum/Kanban agile planning board to manage your user stories, features, acceptance tests, tasks and incidents:
For waterfall projects, the business analysts (BAs) typically think in terms of requirements documents, and they focus on the textual content of the different functional requirements, and how they relate to other items in the hierarchy (acceptance criteria, constraints, qualities, and non-functional requirements) that comprise the document.
For such methodologies, SpiraTeam has a special “document view” that will display the ID, name, full text description, status, priority/importance, and type of the requirement. The full text will include any embedded tables, images, bullets, links, and lists. In addition, for requirements that have scenarios / steps defined, it will also show a process flow diagram.
For hybrid projects, you can use multiple views (requirements hierarchy, document and planning board) at the same time using the same data.
SpiraTeam supports the capture and management of system use-cases as part of the requirements definition process. Use cases can be stored in the system along with their associated scenarios and links to the other requirements that the use case defines:
SpiraTeam can display the list of steps in each use case as a process flow diagram automatically generated from the entered scenario:
Requirements can be categorized into different types, each of which can have its own customizable workflow. This allows you to define different rules, permissions and operations for each of the different requirement types:
SpiraTeam lets you manage your requirements test coverage (also known as requirements traceability). Within SpiraTeam, you can map each requirement to one or more test case that validates that the functionality works as expected.
With this information, SpiraTeam lets you run requirements traceability reports and perform impact analysis on how critical each test failure is (i.e. how many high priority requirements does it affect).
With SpiraTeam, each requirement can be linked to other requirements or defects, providing end-to-end traceability. For example, a change request that turns into a new requirement can be associated to preserve the pedigree of the requirement and a use case can be linked to the feature that it is describing.
You can also see the associations between the requirements and revisions made to the linked source code repository to get code-level traceability.
Anyone who thinks that their requirements will remain unchanged is in serious denial. Even the most rigid of government procurement projects is going to change more than anyone would like. All of the changes made to a requirement are tracked by SpiraTeam, so that at any time you can view the history log of all the changes made to an artifact.
In addition, SpiraTeam lets you specify that certain operations require an electronic signature which is used to permanently sign the changes made to the requirement.
It is highly inefficient to rely on email, text messages or even worse, group meetings, to facilitate the communication of team members in real time. Information may be out of context and afterward, no reliable record of the interchange exists, leaving other team members in a vacuum with no good way to discover what is going on.
SpiraTeam includes an integrated instant-messenger that lets users collaborate and communicate in real-time regardless of geographic location.
There is no point using a tool to enter and manage your requirements if you cannot generate the reports and documents you need to support your business.
SpiraTeam provides out of the box requirement reporting dashboards that provide the key information at your fingertips:
In addition, SpiraTeam has robust document generation capabilities that will create detailed requirements documentation and traceability matrices on-demand.
One of the myths surrounding Agile methodologies such as Scrum is that you don't need to perform requirements management since customer input will provided continuously, and the scope and plan for the project is adjusted at the end of each iteration/sprint. However contrary to that perception, in such methodologies, the same activities will need to happen, and the same types of requirement will need to be gathered, analyzed and documented, just the level of documentation formality and timing may be different.
The need for powerful yet flexible requirements management tools such as SpiraTeam are more important in an agile environment, since development and validation of the requirements is no longer the job of one group (e.g. business analysts) but is instead everyone on the team’s responsibility.
When your company requires better requirements management tools, there are a lot of choices in the marketplace. However, if you want the best in requirements management software with integrated project planning, test case traceability and document collaboration, there is only one solution.
SpiraTeam provides reporting dashboards of key project quality and progress indicators - requirements test coverage, task progress, project velocity, as well as top risk and issues – in one consolidated view that is tailor-made for agile methodologies as well as supporting your legacy/hybrid waterfall projects. The top three reasons that our customers choose SpiraTeam as their requirements management tool are:
In addition, we provide superb technical support that ensures that enquiries and questions are dealt with in a timely and professional manner.
To learn more about SpiraTeam and how it can improve your requirements management, please: