Definition of PRD
A Product Requirements Document incorporates the definition and purpose of the product to be built. It is used to convey what is being built, who is it for and how it benefits the end-user. The outline and specifications are used by the product team to actually build and test the product, so it must be clear and thorough enough for them to do their jobs.
There is a set of minimum features that are required for the first or initial release of the product which is known as a minimum viable product. These features should be clear while creating the product requirements document and should be included in the first version or release.
How is it different from MRD
The Market Requirements Document includes the market need, strategies and opportunity while the Product Requirements Document describes a product that addresses need, strategies and opportunity. The PRD does not include any market opportunity or business case but is rooted in use cases and required functionality.
PRD in waterfall model and agile model
In the waterfall model, where the sequence of product definition, design, and delivery is maintained, a PRD is defined at the starting point or initial phase of the project and it provides a detailed description of what will be built.
In Agile development, a lot of time is not spent on documentation but one needs to be sensible enough not to just start building features without having a complete idea of what is to be done. Agile does not consist of the traditional documentation flow but it ensures the user stories cover up the product’s purpose, features, release criteria, and timeframe. While working in the Agile development, user stories are created instead of traditional documentation, but it consists of points necessary for the release. It need not be static, rather it is interactive.
For example, consider a placement portal and the user story for a candidate/job seeker to create his/her profile on the portal can be written as follows:
Composition of PRD
- A PRD contains every straightforward criterion required for product release along with clarifications and scope keeping in mind the resources available. The following about the product can be included in the PRD:
- Purpose
- Feasibility
- Stakeholders
- Release Details
- Workflow and design
- Future scope
- Additionally, it may include the following:
- Assumptions: The assumptions made while defining the product. For example, the user has a device that supports an application.
- Dependencies: The known conditions on which the product will depend. For example, depending on a QR scanner for authentication in an application.
- Constraints: The features or services that the product may not be able to provide technically or financially.
- Also, success metrics are included to verify if the objectives are being fulfilled.
- If there is any possible risk identified for a feature or module it should be well documented and the points to prevent or overcome it must be added.
Briefly, the PRD must have a clear view of solutions against the corresponding problems, so the team has it as a guideline instead of a vague list of features and its needs.
Importance and Benefits of PRD
The PRD acts as the most interactive and living document for the designers, developers, testers and other stakeholders to obtain the purpose and status of the product. It gives a clear idea of how the new features will solve the user’s problems. If the documentation is not done well, it produces doubts and assumptions which may lead to product failure under some circumstances. The PRD helps to keep the product team aligned with the features that must be delivered in the given release and correspondingly helps the designers, developers, support team and sales and marketing teams collaborate internally and achieve the milestone that is deliver the right product at the given time.
Steps to prepare a PRD
1. Define the purpose and feasibility of the product:
The aim or objective of the product should be defined, and the product team should be aligned with the product needs. Each requirement should be noted and prioritized. If the motive of the project is clear and well communicated, it will be easy for the design and implementation team to focus on building features while keeping customers’ concerns in mind. Following is a brief of what can be included:
The stakeholders | Who will be affected by the product |
Goals | A list of goals to be accomplished on release |
Vision | Where the product will be in the future |
2. Add release details:
A complete description of the features’ delivery or release date is essential. This makes the internal teams pace up with the timeline and plan their work accordingly. All you can add to this release information is as follows:
Release | Name of the release |
Date | Date of release |
Features | The features included in the release |
Milestones | Release milestones that are the checkpoints where the team stops and verifies progress as per the expectations.(Suppose a goal is set as “layout design approved”, then it should be approved by then) |
Dependencies | Release dependencies that are the conditions on which the release relies |
3. Describe features:
Define and explain what is to be built for each feature so the product team can implement and develop it correctly. For each feature the documentation can be as follows:
Feature or user story | Name of the new feature or user story |
Description | Description of what the feature will do |
Goal | The action the user wants to perform |
Problem | The problem user is facing so this feature is required |
Assumptions | Technical, user or business assumptions made |
Acceptance criteria | Criteria/conditions to be fulfilled for the product release |
For example, suppose a travel booking application, and a user has made a reservation but wishes to cancel it. Then the feature to allow cancellation will be described as follows:
User story | As as user I can cancel my reservation |
Description | The user who has made a booking must be able to cancel the reservation. |
Goal | The user can cancel already booked reservation |
Problem | Once the user has made a travel booking he/she is not able to cancel it |
Assumptions | User is registered and has made a reservation |
4. Include user flow and design:
The pixel-perfect wireframes and mockups are no doubt created after the PRD is generated but a simple visual mockup to describe the feature, to show where the feature sits on the page and to describe the user workflow, is required at this stage to verify the objectives are fulfilled. Visual display of the feature will also avoid misunderstandings about how the feature will work.
5. Define the criteria for product testing:
It is important to define the criteria to be fulfilled for product release that is the minimum and mandatory requirements for the product release. Take the feature, think about its impact and verify it accomplishes the desired outcome and solves the user’s problem. For example, if we need to check performance, we can check how long a user takes to understand and interact with the feature, maximum users that may interact with it at a given time etc.
6. Include future work:
Some relevant high-level details of how the product will grow in the future would be helpful to consider the assumptions and limitations.
7. Check for completeness:
The PRD should be reviewed by the stakeholders and the areas that require additional clarifications must be modified and further accepted. All the questions must be identified and answered.
Sample or Checklist for inclusions in PRD
Suppose a PRD for the system that keeps a track of the user’s transactions and balances.
1. Title: Regur Transactions Handling
Concept: Consider a currency Regur coins and these coins can be converted into Bitcoins by value and further to US dollars. Now there are a number of transactions made by several users in a day, a week and a year. There can be scams or unintentional incorrect transactions that can be difficult to handle. So a transactions management system can be helpful which keeps a track of each users’ credits and debits
Product: The users’ transactions are recorded and a summary of these is reflected in the form of graphs to indicate users’ balance ups and downs.
Stakeholders | Regur coin holders, Regur coin management team |
Goals | To keep track of transactions made by Regur coin holders and display their balance rates graphically.To record the user’s withdrawals |
Vision | To bring innovation to the lending market with secure transactions’ management of cryptocurrencies. |
2. Release information:
Release | Release 1/ Initial release |
Date | March 10, 2020 |
Features | User registrationManage users’ RC balance, BTC balance and deposit address Manage withdrawalsShow graphical representation of the user’s balance |
Milestones | Phase 1: basic transactions’ management system, Phase 2: Upgrades for file backups and homepage |
Dependencies | NA |
3. Description of Features:
Feature or user story | As a Regur coin holder, I should be able to create my account so that I can check my balance |
Description | User should be able to sign-up |
Goal | User can sign up to the system |
Acceptance criteria | Scenario: User registers to the system“As an unregistered Regur coin holder, when I fill the email id and valid password and click on sign up, the system logs me up” |
Feature or user story | As a logged in user, I should be able to view balance and deposit address |
Description | The logged in user should be able to see his/her BTC balance, RC balance on the homepage and view the deposit address on the deposit page |
Goal | The user is able to view his/her BTC balance, RC balance and deposit address |
Acceptance criteria | Scenario: User views balance and deposit address“Given that the user is logged in, he/she should be able to view BTC and RC balance on homepage and moving on to deposit page I should be able to view my BTC deposit address” |
Feature or user story | As a logged in user, I should be able to apply for withdrawal |
Description | The logged in user should be able to apply for a withdrawal by entering BTC address and amount to withdraw (in BTC) |
Goal | The user is be able to apply for a withdrawal |
Acceptance criteria | Scenario: User submits withdrawal application“Given that the user is logged in, he/she should be able to submit a withdrawal request by entering valid BTC address and amount to withdraw (in BTC) and submitting the form on withdraw request page” |
Feature or user story | As an admin, I should be able to view and edit users’ BTC and RC balance and BTC address |
Description | The admin should be able to view and edit a user’s BTC balance, RC balance and BTC address |
Goal | The admin can view and edit a user’s BTC balance, RC balance and BTC address |
Acceptance criteria | Scenario: Admin views and updates user’s balance and deposit address“Admin can view a list of registered users (email ID) and along with that view and edit the user’s BTC balance, BTC address and RC Balance ” |
Feature or user story | As an admin, I should be able to view all the withdrawal requests |
Description | The admin should be able to view all withdraw requests |
Goal | The admin can view and edit a user’s BTC balance, RC balance and BTC address |
Acceptance criteria | Scenario: Admin views and updates user’s balance and deposit address“Admin can view a list of registered users (email ID) and along with that view and edit the user’s BTC balance, BTC address and RC Balance ” |
4. User Flow and Design
For example, the homepage displays the user’s total balance and graphical representation of the balances by month.
5. Release criteria
Scenario: User applies for a withdrawal
If a Regur coin holder wants to withdraw an amount the withdrawal form request feature will allow the user to apply for a withdrawal and a track of withdrawals can also be kept.
Scenario: Admin can edit Deposit address
In some cases, if the user desires to have a change in deposit address or admin needs to change the deposit address of the user, the admin can edit it.
In short, the acceptance criteria for each feature should be fulfilled.
6. Future scope
In future, there can be a feature for showing the user if the withdrawal request is accepted.
7. Review by the product team:
Checked by | Query/change | Accepted |
Designers | ||
Developers | ||
QA Team | ||
Sales & Marketing Team |
On the whole, it can be concluded that the product team collaboration is highly essential for a successful product. Putting the product requirements in one box aligns the members involved in the product development so as to understand the product features correctly and makes it easy for them to deliver efficiently. The document should be shared with each and every team so that progress is made in the right direction.