What is a Product Requirements Document and How to Write One?

Grzegorz Słota

Grzegorz Słota

Project Manager

A PRD is one of the methods we use for creating apps and other digital products - we’ve found it’s a useful, central point for bringing technology-minded developers and business-focused team members together. 

If you’re still not sure about using a PRD or what they should include - here’s everything you need to know!

 

What Is a PRD?

 

A product requirements document (PRD) covers the necessities of a given product or feature, as well as the objectives, values, and capabilities that need to be met/established. It is one of the more popular tools and methods for project forming and scope definition - in other words, it defines the requirements for all involved.

In simpler terms, it’s the project’s core documentation. Its size can be as short or as long as it is needed - what’s important is that it’s formatted correctly. 

 

Here are the essential elements that need to be included:

 

Objectives / Goals

At the core of any product requirement document are goals and objectives. For the latter, you should start by explaining why the product is being built - what is it meant to achieve? 

 

Key objective details include:

 

  • Goals list and description: Goals, on the other hand, introduce the vital stepping stones to finalizing the project. While releasing the product is a goal in itself, the PRD will define various stages along the way, which will be realistic, actionable, achievable, and measurable. In other words, they are well defined, practical, and have clear criteria to define when they’re done. 

  • Product Time Frame: When will the product be released? A longer time frame will result in higher costs and a highly-customized product arguably needs more time. Setting a time frame will enable you to make these decisions, if necessary. 

  • Goal Time Frame: Each goal should have its timeframe. The goals must have a clear order so that the PRD is able to define how work proceeds once the project starts. Just like the overall objectives, it should be noted that longer tasks lead to higher costs. Breaking down goals this way identifies where these costs are best spent.

  • Success Metrics: How will you define the goal as achieved? How will it be tested or measured to ensure it passes this criteria? How will you measure the success of the product? This ties into the overall business objective. Do you want to engage with as many users as possible, generate a set amount of revenue, or even revenue per user? It all depends on the product/service.

  • Users / Personas: In other words, the target audience. Who are you building this? Knowing this will help ensure a user-centric design later on.

  • Reasoning: There should be a “why?” for every product. Why are you building it? What problems are you solving? More than just the users and personas, the PRD needs to define the very reason and purpose the product is looking to fulfill. Every subsequent choice or decision should ultimately match this factor.

  • Vision: Here, you can define the vision for the overall project. However, it’s worth being careful here. Often, we want to focus on the core MVP release, but nonetheless ensure the groundwork is in place for any known expansions planned - but most of this detail can be saved for the “Future Work” section.

 

Release

While the release date can be mentioned in the above, the exact specifications of the release also need to be defined. It’s important to note that your product might have multiple releases, such as moving from an MVP to a fully scoped project. This is where the roadmap for that is outlined.

 

A basic release should include:

  • Release name: In case of multiple updates, this ensures we know which version is which.

  • Release date: very self-explanatory. The date this specific release goes live.

  • Features: what key features are included in this specific release.

  • Dependencies: anything that this release is dependent on, such as third party support. Products may gain more or fewer dependencies as they evolve.

 

Features

Every product is made of numerous features, the number of which will depend on the scope and scale of your project. In this part, we define everything we have planned and prepared for each respective aspect. For each feature, the PRD also needs to define the following:

 

  • Feature name: Every feature needs a name. It seems simple, but ensuring naming terminology is followed will remove confusion later on, and the PRD is the first official place to set these names.

  • Description: What it does. In other words, the function of the feature. 

  • Purpose: Why is this feature included? This is where we list the intended outcome of the feature, in regards to how we want the user to engage with it.

  • User’s Problem: If we want the feature to have a purpose, it needs to meet a problem (or want) that the user has. Here we define what that is.

  • User Value: If we have the problem defined, then we need to also establish the intended value. How does this solution help the user in regard to his or her initial problem?

  • Specific Assumptions: There’s a section of assumptions as a whole, which we’ll get to soon, but for each feature, we can list any specific assumptions that have been made.

  • Out of Scope Aspects: If there’s anything that’s out of the current scope (for example, it’s not part of the initial MVP or release), it should be defined here, so the team knows not to work on it.

  • Acceptance Criteria: In any project - but especially in agile strategies where teams work on features independently - we need to determine what is ‘done’. Acceptance criteria are how we measure this. If the feature’s current versioning doesn’t match the acceptance criteria, it’s a clear measure that more work needs to be done.

  • Risk: Every project has its risks and these need to be assessed and documented. Such risks can include new technologies (which will need testing) or integrations with existing products, among other unique factors.

  • Cost: The total cost of any project is essential - even at the start, a calculated estimate is vital for approving, planning, and ultimately moving forward. Given that many of the details listed above describe the time needed, we can already give an estimate of the most typical cost: man-hours. Any cost estimation, whether its a fixed price or a time and materials model, needs to know how many hours (for each type of role) are required.

 

Wireframes, User Flow & Design Notes

In this section, we need to define how the overall user workflow will work. We want to understand how users will enter the app or service, what they will view on each screen, and how they will ultimately navigate throughout. This helps put the above features in their place amongst the final product.

 

Typically, the more developed UX aspects are often down after the PRD, but they can sometimes be done before, too. Either way, the wireframes and flow diagrams should be included here as soon as they are available.

 

System & Environment Requirements

A key part of product design is understanding the environment in which it will be run. From a technical standpoint, this involves the devices and systems the target users (defined previously) will use.

 

At this stage, we need to include all available (but not assumed) information available. For example, if we know which devices we are targeting, we can conclude which operating systems and browsers we need to design for. If we have the research on our specific niche, we may also have information on memory, processing power and other capabilities (this isn’t a problem on iOS but, given the broad Android and PC market, is something that needs to be considered).

 

However, when it comes to what is not known, this should be saved for the assumptions. For example, we can assume our users will have internet access because they are using their phones, but we don’t know how reliable or how consistent this connection is.

 

Success Metrics & Analytics

Once released, every organization needs a way to determine the success of the overall application. This is very similar to how every feature needs a purpose; it’s how we measure if it worked or not.

 

The success metrics can take many forms, but often involves the number of downloads, the number of purchases made-in app or even advertising revenue (in the case of a free app, for example). 

 

Such metrics will also be used to chart initial success and growth. A social network app might focus on users first, while an e-commerce app may focus on initial sales. Based on your required ROI or initial objectives, an exact number may be needed.(This also applies to internal solutions too - for instance, does the new solution save time or improve performance over the last tool by a noticeable margin?)

 

Likewise, when it comes to analytics, this is where we also note all of the metrics that will be analyzed, in order to anticipate success or failures. Such performance metrics can include:

 

  • Percentage of users who interact with each feature

  • Online reviews/feedback

  • How long it takes users to move to the desired goal or action

  • How often users utilize each feature

  • How long users spend in the application

  • How users navigate (vs what was intended)

  • Abandonment rates - how many users simply stop coming back to the app.

  • Recommendations

 

Future Work

Most products will have some initial scope layed out for future expansion. Here, we can detail these roadmaps so that every team is aware of the current plans regarding how the solution may evolve or adapt.

For each function or feature, we should always include some basic information, even at the earliest stages:

 

  • Feature or Function: basically, what it is that we’re considering to include.

  • Purpose: why we want to include this

  • Priority: how important this feature is business plans or objectives

  • Time Frame: how much we estimate this will take, or how urgently is it needed.

 

Assumptions, Constraints & Dependencies

Earlier, we mentioned assumptions, constraints, and dependencies at various points. While these should be detailed at each respective point, they also need their section. This is so everyone involved knows what these overall limiting factors are.

 

  • Assumptions include anything that we predict to be available, but we cannot currently guarantee. For example, earlier we mentioned assuming users have a strong internet connection.

  • Constraints on the other hand, detail hurdles that can’t be overcome or, in other words, options that are off the table. This can include budget constraints, but also technical choices and options. For example, if the project needs to be compatible with other systems, this will limit various technology options and needed to be made clear here.

  • Dependencies: refer to third-party services, solutions, or items that our project will rely on. We depend on them, but can’t control them. Good examples here include GIS systems, which need to rely on various third party options (like Google Maps, public data, or satellite imagery).

 

Where Do You Use a PRD?

One of the strongest benefits of Project Requirement Documentation is in cross-team projects. It’s a centralized document designed to keep all teams informed through clear and transparent objectives and necessities. If everyone sticks to the PRD, one team won’t make choices or implementations that cause problems for anyone else.

 

Furthermore, the PRD can also form part of the project backlog as it already contains the objectives, requirements, and scope of the work. The PRD can be separated into project tasks or maintained in the Project Information section.

However, it’s also especially useful in Agile project management. There are many Agile systems, such as Scrum and Kanban, and while the specifics may differ, there are always a few things in common.

 

  1. Agile is iterative. Rather than focus on one release that takes a lot of time, Agile splits work into sub-teams for each functionality. A PRD is essential here, as it gives every team a core document to refer to, ensuring their work stays within the outlined scope.

  2. Agile is adaptive. The biggest benefit of Agile is that it’s focused on smaller releases means that it can adapt should problems arise. While this might at first seem like a challenge for PRDs, the two go together surprisingly well. The PRD outlines the business objectives and users, which means new decisions have something to check or validate themselves against. What’s more, this central document can be updated for all teams, as well, once any such adoptions are final. 

  3. Agile is about prioritization. In nearly all projects, there aren’t enough developers to do everything at once. Instead, the core functionalities are focused on first. Because the PRD can explore each functionality in terms of priority (among other things), Agile teams know what to focus on next

 

The PRD is particularly useful for Agile Project Managers. These individuals are typically tasked with creating the product in line with the Product Owners initial scope and requirements (but more on their involvement later). Thankfully, the PRD details everything agreed between the PM and the PO. It’s a checksheet the PM can use to ensure nothing goes off track, enabling them to better manage Agile teams without losing sight of the ultimate objective.

 

Other Teams

When we said that a PRD is a great cross-team tool, we mean every team. Outside of development, the PRD defines details that can be used by those involved both before and after the product’s creation.

 

  • Sales and marketing can use the document to understand the intended users, the app’s core advantages, and how to combine the two.

  • Designers can add their input in terms of users, as well as contribute user flows and other designs based on the detailed scope.

  • Support teams can understand the functionalities of the app and plan support strategies for each aspect, as well as those added in the future.

 

PRDs for Product Owners

 

We’ve already covered why the PRD is great for Project Managers, but what about Product Owners?

The POs role is to oversee the project at the highest level. They may come from the organization commissioning the app, the commissioning party. In any case, they are the person directly responsible for the final product. While the PM focuses on active work, it’s the PO that looks at the backlog, checks current progress, and otherwise ensures the project is staying on track.

 

Here, the Project Requirements Document’s role lies in defining the problem and the expectations of the final product. This is an important way to view any project; by understanding the initial problem that the software is a solution too, a Product Owner can always keep a core focus on what’s important.

 

It contains everything the Product Owner needs - in part because they often have the final say on a lot of the overarching criteria. As such, the PO can use the PRD to prioritize backlog items, approve or disapprove any new plans, and otherwise compare any work done with the intended output.

 

PRDs for Project & Implementation Teams

For the teams closest to the project’s development and implementation, a PRD can also offer a lot of use. 

 

Alongside this, the PRD includes every functionality or feature, which helps in regards to Agile development. Teams can hand-off individual functions, as the document details the initial problem, how it is intended to be solved, and even acceptance criteria. 

 

Furthermore, both Project Managers and their respective teams can use the PRD for guidance at all stages. As mentioned earlier, it can form the basis for the backlog, due to its task and criteria documentation. 

 

As an extra benefit, new teams can also use the PRD for onboarding documentation, as it lists technology choices, user flows, and all the vital background information needed to familiarize with a project.

 

The Benefits of a PRD

So, now we know how the PRD fits into various respective roles, what are the overall advantages of using a Product Requirements Document?

 

Ideal Comparison Tool

Whenever decisions need to be made, the PRD is the core criteria to be compared against. Any decisions that don’t fit the PRD need to either be discussed or abandoned - it’s a clear flag that the project would be moving out of the initial scope of intentions.

 

This is especially important when it comes to projects with strict technical specifications. A central document doesn’t just list which technologies have been chosen, it also lists why, as well as any other constraints or dependencies. 

 

A Continuous Document For Agile

As we’ve already covered, Agile development has a very rapid pace, focusing on smaller teams and releases. As such, these teams need a document that can always be referred to. Because a PRD includes all necessary data, this is perfect. It also focuses down on functionalities, users, and other respective criteria, so teams can find exactly what they need without having to make assumptions or blind decisions.

 

Breaks Up The Main Project 

Different people view a project differently. Some, such as Project Managers and Product Owners, need a complete view, while respective teams need to focus on essential functionalities or factors.

 

Again we can also consider the PRD as a backlog, as it breaks the project up into essential work operations that can be checklisted against.

 

With a PRD, all of this possible. The breakdown can be as detailed or niche as it needs to be, without the need for multiple documents or a wider information system. It keeps everything in one place for consistency but offers scalability that few other solutions provide.

 

How to Create the Product Requirements

After all this, you might think that creating Product Requirements can be a difficult process - but it’s not!

We know this because it’s one of the main reasons we use PRDs in our projects. Not only to do they bring plenty of benefits, but they’re also easy to set-up and establish. After all, we only require the essential information that every product needs, anyway:

 

  • Objectives and Goals: Why does the business need this app and what does it need to achieve?

  • Features: What individual features will the app have? Essentially, we’re breaking down the app’s purpose into individual steps/components.

  • Use Cases & User Stories: Who are the users? Why would they use this app and how does it solve their problem?

  • Acceptance Criteria: What will deem the product (and each feature) as a success.

  • Project Parameters: The cost, time, quality, and risk of choices made.

 

If you weren’t collecting this information during the initial phase, you really should! The PRD only asks for essential data.

 

Other than this, it’s essential to get the main features list details correctly. Each feature needs to stand up as a document in its own right. This will greatly aid in development, as teams can jump straight to all the information they need.

 

We always make sure to include:

  • Context: Why does this feature exist and how does it integrate with the wider solution, such as other technology constraints?

  • Use Cases & User Stories: Why would a user need this and how will this feature solve this need?

  • Acceptance Criteria: How will this specific function be labeled as ‘done’. How will its performance or success be measured once it’s ready?

 

Include all of this and you’ll find the PRD document not only centralizes information but also saves time and ensures people are brought on and updated with ease! You’ll notice how easy it is when everyone can refer to the same documentation - no mistakes, no miscommunication, and no choices made that move away from the project’s goals!

 

TL;DR - Creating a Product Requirements Document 

A Product Requirements Document is one of the best ways to provide a centralized resource of everything the project needs, from technical choices to user problems being addressed. Because of its ability to scale both up and down, it’s a vital document for agile development, giving every team across the project all the information they need for their respective tasks. It’s why we use it!

Easter egg ;)