What is a Product Requirements Document?
A product requirements document (PRD) is an artifact used in the product development process to communicate what capabilities must be included in a product release to the development and testing teams. This document is typically used more in waterfall environments where product definition, design, and delivery happen sequentially, but may be used in an agile setting as well.
The PRD will contain everything that must be included in a release to be considered complete, serving as a guide for subsequent documents in the release process. While PRDs may hint at a potential implementation to illustrate a use case, they may not dictate a specific implementation.
See also: Market Requirements Document (MRD)
What’s the Difference Between a PRD and an MRD?
For decades, a product requirements document (PRD) was the most important artifact product managers would create. It painstakingly lists out everything required for a given product release and serves as the document of record that the entire release is based on. In short, if it isn’t included in the PRD, it won’t be included in the release.
The PRD may follow on the heels of a marketing requirements document (MRD)—created by product marketing, marketing, or product management as well—that describes customer demand, market opportunity, and a business case for the overall product or a particular product release.
The PRD itself does not touch on market opportunity or revenue but is instead firmly rooted in use cases and desired functionality. Each feature or capability is usually described as a separate item, and a use case is typically included for every item as well.
Based on the PRD, a number of other artifacts will be created by others in the organization. Engineering will create a functional specification, which describes how each item in the PRD will be implemented, and they may also create (or update) an architectural design document. UX will create wireframes and mockups as needed, and quality assurance will write a test plan ensuring every single use case in the PRD can be successfully executed during testing.
What Should a Product Requirements Document Contain?
A PRD must include every explicit capability required for the release. To support each desired capability, there should be an accompanying use case illustrating how a user would utilize this functionality and to inform the test plan.
If a feature is complex, sub-items may be used to provide more detail and granularity for the technical teams. Each of these sub-items should include their own use case when relevant.
In addition to the specific features and capabilities, the PRD should include an overview/purpose for the release. While this shouldn’t try to replicate what is in the MRD, it should detail exactly what the product team is trying to achieve with this specific release (as an MRD may be used for multiple releases of the same product/suite of products).
In addition to the functional requirements, the PRD should also spell out any other requirements. These include any system or environmental requirements (i.e., this product should run on Windows 10 or later, or it should run in Firefox, Chrome and Safari browsers), as well as any usability requirements (i.e. one-handed navigation for mobile apps).
The final batch of ingredients for a PRD is the Assumptions, Constraints, and Dependencies.
- Assumptions are anything you expect to be in place (yet isn’t guaranteed), such as assuming that all users will have Internet connectivity.
- Constraints dictate something the eventual implementation can’t require, be it a budgetary constraint or a technical one.
- Dependencies are any known condition or item the product will rely on, such as depending on Google Maps to add directions for a dog walking app.
What’s an Example of Product Requirements Document?
The following is a basic outline of what should be included in a PRD. There are no hard-and-fast rules for this, but these items are typically present:
- Objective/Goal: Explain why are you building this and what do you hope to accomplish.
- Features: For each feature, you should include a description, goal and use case at a minimum. Additional details may be helpful or necessary depending on the complexity of the feature, such as out-of-scope items.
- UX Flow & Design Notes: Most organizations complete the UX design of features after the PRD has been reviewed and accepted. However, there may be some general guidance required at this stage to ensure the release objectives are met. This is not the place for pixel-perfect mockups or wireframes that map out every possible scenario; instead, it can be used to describe the overall user workflow.
- System & Environment Requirements: Which end-user environments will be supported (such as browsers, operating systems, memory, and processing power, etc.).
- Assumptions, Constraints & Dependencies: List out what is expected of users, any limits for the implementation to be aware of and any outside elements required for the final solution to be functional.
What are Steps in Creating a PRD?
Assuming an MRD already exists, product management should first consult with product marketing to ensure there’s a full understanding of the business drivers for the specific release being described in the PRD. From there, whichever product prioritization methods are already being used should be tapped to identify what is in scope for the release.
It’s then time to author the document, utilizing notes and user feedback captured for each feature being included in the release. The document should go through several rounds of review with others in the product team if possible to ensure as many potential questions have been answered and the document is as thorough as possible.
With a fully complete PRD, it should next be circulated among the business side stakeholders to confirm they’re aligned with the objective of the release and the features included to meet that objective. When consensus is reached, it’s time to hand the PRD over to engineering.
At this stage, there will be questions, clarifications, and challenges from the technical team that should be addressed verbally and updated in the PRD if necessary. The goal is to have a PRD thorough and comprehensive enough so there are no surprises later on. Once there is an agreement that the PRD has reached that stage, it is then passed onto other teams for UX design, functional specifications and test plan definition.
By including all these teams in the PRD creation and review process, it gets everyone onboard with the desired outcome and contents of the release. There should be little question as to what will be shipped, how it will benefit the business and its impact on users at the end of the process.