Featured Product
This Week in Quality Digest Live
Management Features
Bruce Hamilton
Will lean thinking inform the designers of AI?
Mark Mortensen
Leaders don’t have to choose between delivering results and supporting employees
Gleb Tsipursky
Returning to the office harms diversity
Meridith Wentz
A follow-up conversation with organizational leaders  
Alexander Mirza
A wake-up call for hotel CEOs

More Features

Management News
Gartner survey reveals how organizations are developing their use of AI
While many executives believe themselves immune, research says otherwise.
Tactics aim to improve job quality and retain a high-performing workforce
Increases Xcelerator capabilities for climate-neutral aviation
Demonstrating a commitment to keeping people safe and organizations running
Sept. 28–29, 2022, at the MassMutual Center in Springfield, MA
EPM service provider excels in helping customers work with EPM products
It’s not exactly a labor shortage

More News

Jama Software

Management

Four Fundamentals of Requirements Management

Teams must be able to access, collaborate, update, and test each requirement through to project completion

Published: Wednesday, August 15, 2018 - 12:02

Requirements are the information that best communicates to an engineer what to build, and to a quality-assurance manager what to test.

A requirement has three functions:
• Defines what you are planning to create
• Identifies what a product needs to do and what it should look like
• Describes the product’s functionality and value

Requirements vary in complexity. They can be rough ideas sketched on a whiteboard or structured “shall” statements. They can be text, detailed mock-ups or models, and can be part of a hierarchy with high-level requirements broken down into sub-requirements. They may also be detailed specifications that include a set of functional requirements describing the behavior or components of a product.

High-level requirements are sometimes referred to simply as “needs” or “goals.” Software development practices might refer to requirements as “use cases,” “features,” or “functional requirements.” Agile development methodologies often capture requirements as “epics” and “stories.”

Regardless of the terminology, requirements are essential to the development of all products. Without clearly defining requirements, companies risk creating incomplete or defective products.

Throughout the process there can be many people involved in defining requirements. A stakeholder might request a feature that describes how the product will provide value in solving a problem. A designer might define a requirement based on how the final product should look or perform from a usability or user-interface standpoint. A business analyst might create a system requirement that adheres to specific technical or organizational constraints.

Four fundamentals of requirements management

Today’s sophisticated products and software applications often take hundreds or thousands of requirements to sufficiently define the scope of a project or a release. Teams must be able to access, collaborate, update, and test each requirement through to completion because requirements naturally change and evolve over time during the development process. Teams must also understand the four fundamentals of requirements management:

1. Good requirements
A good requirement should be valuable and actionable. It should provide a pathway to a solution, and everyone on the team should understand what it means. Good requirements need to be concise and specific, and should answer the question, “What do we need?” rather than, “How do we fulfill a need?” With accurate requirements, stakeholders can understand their part of the plan. If they lack this knowledge, and if requirements are unclear or vague, the final product could be defective or fail.
Learn more about writing high-quality requirements.

2. Collaboration and buy-in
It’s difficult to get a company to agree on requirements, particularly for large projects with many stakeholders. In practice, it’s not necessary to achieve consensus through compromise. It’s more important to have team buy-in (before or after management approves the project) so the development process can move forward. With buy-in, the team backs the best solution, makes a smart decision, and does what is necessary to move forward.

Team collaboration is key to establishing good requirements. Collaborative teams work hard to make sure everyone has a stake in the project and provides feedback. When there is a commitment and understanding of project goals, team members tend to support other’s decisions. It’s when developers, testers, or other stakeholders feel “out of the loop” that communication issues arise, people get frustrated, and projects get delayed. Read more about connecting engineering and business teams for better products.

3. Traceability and change management
Requirements traceability is a way to keep everyone in the loop. It organizes, documents, and keeps track of all requirements, from initial idea to testing. A simple metaphor for traceability is connecting the dots to identify the relationships between items within a project. The following figure shows an example of a common downstream flow.

Improve product development with five tips for traceability.

4. Quality assurance
Getting requirements right the first time means better quality, faster development cycles, and higher customer satisfaction with the product. Concise, specific requirements can help companies detect and solve problems earlier rather than later, when they are much more expensive to fix.

Research has shown that project teams can eliminate 50 percent to 80 percent of project defects by effectively managing requirements.

By integrating requirements management into their quality assurance process, companies can help teams increase efficiency and eliminate rework. According to Carnegie Mellon Software Engineering Institute, 60 to 80 percent of the cost of software development is in rework. In other words, development teams are wasting the majority of their budgets on efforts they didn’t perform correctly the first time.

Discover how better requirements add business value.

Requirements management can appear to be a complex topic, but at its core, it’s a simple concept. It helps teams answer the question: Does everyone—from business leaders to product managers and project leaders to developers, QA managers, and testers—understand what is being built and why?

When everyone is collaborating and has full context and visibility into the discussions, decisions, and changes involved in product development, they maintain high quality and almost always ensure success.

Go deeper into improving your products through better requirements with the webinar, “Best Practices for Writing Requirements.”

First published on the Jama Software blog.

Discuss

About The Author

Jama Software’s picture

Jama Software

Jama Software brings innovative analytics, solutions and insights to companies creating complex products and mission-critical software systems. With expanded product and service capabilities, the Jama Product Development Platform empowers large enterprises to accelerate development time, mitigate risk, slash complexity and verify regulatory compliance.