Everything you need to know about requirements management

Caeleigh MacNeil 참여자 얼굴 사진Caeleigh MacNeil2022년 4월 8일
facebooktwitterlinkedin
Everything you need to know about requirements management article banner image
템플릿 보기

Summary

Requirements management helps you ensure your final project deliverable meets the needs of stakeholders. Simply put—a requirement is something stakeholders want or need, and requirements management helps you fulfill that need. Read on to learn how requirements management works, then do it yourself with six simple steps.

It’s Friday night and you’re about to order pizza. You’ve got the phone in one hand and a list of requests from your friends in the other. But first, you need to sort through everyone’s preferences and decide what type of pizza to order. Pepperoni? Cheese? Vegetarian?

Ordering pizza is starting to feel eerily like managing requirements for your latest product launch. Just like the above situation, requirements management is all about listening to your stakeholders and understanding how to best cater to their needs. 

What is requirements management?

Requirements management is a way to ensure your final project deliverables meet customers’ and internal stakeholders’ needs. In this case, a requirement is something stakeholders need or want from your product. Stakeholders can be internal (like cross-functional partners) or external (like customers or clients). 

Requirements management is most often used by development teams working on software products and features, but can also be applied more generally to project management. For example, a requirement could be a feature that allows customers to successfully use your product, or an aspect of your product that will help cross-functional partners achieve their business goals

Before you start working on a product, you need to agree on the exact requirements so you can make sure you’re giving stakeholders what they need. Requirements management helps you document and prioritize requirements, keep track of changes, and stay aligned with stakeholders throughout the project lifecycle. It also helps you manage changing requirements and ensure your project stays within scope. 

제품팀을 위한 무료 템플릿

What is a requirement? 

A requirement is a component you need to implement in order to complete a feature or product. In other words, it’s something your product needs to have or do to meet your stakeholders’ needs. Software products can have hundreds of requirements. But regardless of how many requirements your product has, all of them should be: 

  • Necessary: You need this requirement in order to achieve your business or product goals. 

  • Specific: The requirement is detailed and has a clear purpose. 

  • Understandable: The requirement is clearly written and easy to comprehend. 

  • Accurate: The requirement has enough accurate information about the challenge or need this requirement is addressing. That means instead of just describing what needs to be done, you should also clarify why the requirement is important. 

  • Feasible: You should research the requirement to make sure you can implement it with your current tech stack and code infrastructure.

  • Testable: You should be able to test the requirement through user testing, A/B testing, or another method. 

Here’s an example. Imagine you’re creating an app, and one of your requirements is that the entire app needs to be translated into English, Chinese, Japanese, and French—because those languages align with your main business markets.

  • This requirement is necessary in order to launch your app in your company’s main markets and achieve business objectives. 

  • It’s specific because you outline which languages you need and that the entire app needs to be translated. 

  • It’s understandable because it doesn’t go into technical details—rather, it’s written in a way your team members and cross functional stakeholders can understand. 

  • It’s accurate because you’ve clearly outlined why the requirement is important—because English, Chinese, Japanese, and French align with your company’s primary markets. 

  • It’s feasible because you’ve already built prototypes and test cases in other languages, so you know localization is possible and will perform as expected. 

  • It’s testable because you have a system in place to test and confirm the accuracy of each translated version. 

Why is requirements management important? 

To create a great product, you need requirements management. Here’s why: 

  • Ship the right features. The requirements management process helps define what your users need by understanding how they interact with the product. This helps you align your deliverables first and foremost with the essential needs of your customers. 

  • Align with business goals. As you document and prioritize requirements, make sure each of them aligns with your overarching business goals. For example, a requirement to translate your app into 12 languages would support a business goal to expand into international markets. If a requirement doesn’t support business goals, that probably means you should invest resources elsewhere—or have a really good reason why the requirement is important. 

  • Prevent scope creep. Defined requirements function as a project scope—they set boundaries and define exactly what goals and deliverables you’ll be working towards. Defining requirements in advance helps you identify potential roadblocks and push back when stakeholders try to add on additional requirements.

  • Avoid roadblocks. Creating a product is complex—there’s software development, design, and testing—not to mention complex code stacks and engineering systems. Requirements management helps you plan how to develop a product within the constraints of your code stack and keep track of what you need to accomplish at every stage of the product development process.

Who is responsible for requirements management? 

The person responsible for requirements management depends on your individual project or team. That said, product owners or product managers typically manage requirements for development teams. These two roles are similar, except product owners are a standard role on Scrum teams while product managers are a more universal role—regardless of whether your team uses an Agile methodology. If you’re working on a more general project instead of developing a product, the project manager is responsible for requirements management. 

Requirements management requires cross-functional collaboration between your team and project stakeholders. You need to collect feedback from stakeholders, work with them to understand each requirement, and help your team plan how to address each need. That means the person who manages requirements for your project should have strong collaboration skills and excel at cross-functional communication, because they’ll be at the center of it all. 

참고: 성공에 필수적인 25가지 핵심 프로젝트 관리 스킬

What are the different types of requirements? 

There are three main types of requirements: business requirements, user requirements, and systems requirements. It’s important to define the different types of requirements before work kicks off—because this often determines the stakeholders you need to collaborate with. 

Here’s an overview of the different types of requirements: 

Business requirements

Business requirements are the overarching business goals or metrics your product serves. They aren’t necessarily something the product needs to do, but rather things your business needs to do to satisfy both internal and external stakeholders. 

For example, imagine you work for an online retail business and your sales team uses a content management system to create and update product pages on your website. To accommodate growing inventory, your product team is building improved search functionality within your CMS. This project aligns with the following business requirement: Scale product inventory by 50% in Q1. 

참고: 예시를 통해 알아보는 비즈니스 요건 문서 템플릿의 7가지 핵심 요소

User requirements

User requirements define what users need from your product and how they’ll interact with it. They describe a pain point or an action the customer wants to accomplish, plus how the product should alleviate that pain point or help the customer achieve their desired action.  

Agile teams typically format user requirements as user stories, which are informal explanations of a software feature written from the perspective of an end user. User stories follow this format: “As a [persona], I want to [software goal], so that [result].” 

Let’s return to the CMS example we outlined above. Here’s an example user story written from the perspective of the end user—in this case, a sales associate who uses the CMS to perform their job duties. 

“As a sales associate, I want to easily search for and find specific product listings in our CMS so I can update and manage our growing online inventory.” 

무료 사용자 조사 템플릿

Systems requirements

Systems requirements define what the product will do. Think of it this way—while user requirements outline the “why” and “what” of product features from a user’s perspective, systems requirements define the “how” of building that feature from the engineering team’s perspective. 

Systems requirements are often broken down into functional requirements and non-functional requirements. Functional requirements define what the product will do, while non-functional requirements define how well the product performs its functions. That means non-functional requirements typically have to do with security, performance, and reliability. 

For example, here’s how an engineering team might break down the above CMS user requirement into systems requirements: 

Functional requirements

  • Each product listing stores the following information: product type, date created, author, URL, and publish status.

  • New products can’t be created unless authors select a product type from a dropdown menu. 

  • The search bar includes an option to apply the following additional filters: product type, date created, author, URL, and publish status. 

  • Multiple filters can be selected at once. 

Non-functional requirements

  • Search results are returned in less than five seconds. 

  • Search results are 100% accurate. 

6 steps of the requirements management process

Requirements management doesn’t have to feel overwhelming. If you create a standardized process for your team, you can follow the same steps every time instead of worrying about which stakeholders to loop in when. 

To get you started, we’ve simplified the process into six steps. Then once you try things out and learn what works for your team, you can tailor your requirements management process accordingly. 

1. Collect requirements

Before you can define your project requirements, you first need to collect what those requirements are going to be. At this stage, collecting requirements doesn’t mean they will be built into your project—rather, this is a chance for you to connect with stakeholders and customers to learn more about their needs. 

There are a few different approaches to this—you can meet with stakeholders in person to let them know about the product or feature you’re creating, then ask what they need or want from your project in order to help customers or achieve business goals. During this time, you can develop requirements with the stakeholder’s help to get a full understanding of what they need. You can also communicate with stakeholders asynchronously to cut down on meeting time. And if you need to understand requirements from end users, you may need to conduct user testing or reach out to your user research team.

During these conversations, make sure you’re managing expectations with stakeholders so they know the requirements they request won’t necessarily be built into your product. Ultimately, it’s up to you and your team to prioritize and select which requirements are most important to pursue. 

Read: A 6-step guide to requirements gathering for project success

2. Analyze requirements

Now it’s time to sort through all of that feedback and decide which requirements align with your product and business goals. Ultimately, every requirement should contribute to an overarching business goal—like increasing revenue, expanding into new markets, or improving customer satisfaction. 

3. Define requirements

Now that you’ve analyzed requirements and picked the ones that align with your goals, it’s time to clearly define the requirements to make sure your team has all the information they need. This helps you outline all of the components your development team needs to accomplish in order to complete the product or feature. 

One way to do this is to create user stories for each requirement in order to articulate what users need and how they’ll interact with your product. Then you can break down those user requirements into more specific systems requirements. As you go, you may need to collect additional information from stakeholders to ensure you have enough context to complete each requirement.

4. Document requirements

There isn’t one set way to document and track requirements. Your product team may historically have used a software requirements specification (SRS), product requirements document (PRD), or requirements traceability matrix (RTM). 

But to ensure your team has real-time insight into all of your project requirements, try using a project management tool like Asana. That means no more outdated spreadsheets for requirements—instead, both your team and stakeholders can see the most up-to-date descriptions of each requirement. You can also track the status of each requirement as you work on your project, and even set up automations to alert stakeholders when progress is made.  

You can also integrate Asana with more specialized apps and requirements management tools like Jira and GitHub. This is especially useful if you work with stakeholders who don’t have permissions to access developer tools. 

Asana를 자주 사용하는 툴에 연결하세요

5. Prioritize requirements

Now that you have your set of requirements written down, work with your team to prioritize and plan how you’ll tackle them. This prioritization allows you to tackle the most important tasks first, especially if they’re blocking any other tasks down the line. 

If your team uses Agile, add the requirements to your product backlog and then host a sprint planning session to decide which tasks to include in your next sprint. If you don’t work in sprints, that’s ok—you can create a project timeline to lay out when each requirement should be completed and whether there are any dependencies

6. Make a plan for changes

Requirements management isn’t just about planning requirements before your project kicks off—it’s also about navigating changing requirements during the course of your project. That means you should plan how to incorporate additional tasks that will impact your project scope. 

One option is to create a change control process. This provides a way for stakeholders to submit new requirements that will impact your project scope, plus dictates who should approve or deny those requests. A change control process also helps you document and keep track of how requirements change during the course of your project—so you can measure the impacts of change later on. 

Tools to streamline requirements management

Requirements management has a lot of moving parts, but it doesn’t have to feel out of control. With the right tools, you can set up a repeatable process that lays out exactly who to talk to, when to do it, and how to document and organize requirements throughout the project lifecycle. 

If you track requirements in Asana, you can create a standardized template to help you manage requirements for every project. That means instead of starting the process from scratch each time, you can reuse a predefined workflow—plus rest easy knowing that you’re not forgetting any critical pieces. 

제품팀을 위한 무료 템플릿

관련 리소스

웨비나

How Asana uses Asana for IT and technical program management