How to Write a Product Requirements Document (PRD) Devs Understand

how to write a product requirements document template example prd sample template
Summary:

Not so technical and need to know how to write a product requirements document? Here’s how to write a PRD with templates and examples.

Let’s say you’ve suddenly thought of your million-dollar idea in the middle of the night. You’re excited and can’t wait to begin, but you’re not sure what the next steps are.

In order to be “the next big thing,” you need to have a detailed vision, not just a great idea (although the great idea helps).

Not only that, you need to be able to clearly express your big idea to other people: the people who are going to invest in your idea and the people who are going to build it for you.

After researching what the next step is, you arrive at the conclusion that before you do anything, be it hiring a developer or fundraising, you need to know how to write a product requirements document (PRD).

A PRD, a quasi-combination of a business requirements document (BRD) and a systems requirements document (SRD), will help you explain to a developer what your vision is and what needs to happen for it to become a working product.

how projects really work, in the eyes of product managers, project managers, customers, analysts, programmers, business consultants, marketing, etc.

With a PRD in hand, your developer has a better sense of what your requirements are and how they can help you build what you’re looking for. By knowing in detail what you want, you can save yourself a lot of time and money.

While it’s certainly possible to build a successful product without a PRD, going through the process of writing a PRD can strengthen your own understanding of your target audience, goals, and future product.

We’re going to guide you through how to write a PRD, step-by-step.

Looking for top talent fast? See how Arc can help you:

⚡️ Find developers, designers, marketers, and more
⚡️ Freelance or full-time remote + fully vetted

⚡️ Save up to 58% with global hires

Hire top talent with Arc risk-free →

5 Questions to Consider Before Writing a PRD

In order to provide a detailed walkthrough, we’re going to approach the process from the point of view of a fictional startup founder writing their first PRD.

In our scenario throughout this article, our startup founder wants to build an app and website for SafePark, a tool to help people find parking spots in cities across the world.

Who is my product’s target audience? 

  • Car owners in big cities.

Why does the audience need my product? 

  • Everyone who has a car wants to find convenient parking with minimum hassle.

When do I need it by? 

  • I would like to launch SafePark in six months.

What do I want to build? 

  • A mobile app (for iOS and Android phones) and website.

How do I build it? Which programming languages should I work with? 

  • I will consult with my lead developer, but I’m leaning toward either Swift or Objective-C for iOS, Kotlin or Java for Android, and Ruby on Rails for the website.

Read More: 21+ Important Freelance Interview Questions to Ask Software Engineers

The Components of a Product Requirements Document (PRD) Template

  1. Product Overview
  2. Target Users
  3. User Problems Solved
  4. User Stories
  5. Competitors
  6. Technical Process and Specs
  7. Release Criteria

Below, we’re going to go through the different sections of the Product Requirements Document. We’ll give you examples and fill them in as if we were the founder of SafePark, this parking spot locating app and website, as described earlier.

1. Product Overview

This describes the product you’re going to build, so you want to clearly describe the product’s purpose, features, and functionalities.

Here’s a sample product requirements document overview to use as a template:

From London to Chicago, Taipei to Rio De Janeiro, if you’ve ever lived in a big city, you know how hard finding parking can be.

SafePark can fix this problem for urbanites around the world. SafePark is a freemium app and website that will locate open parking spots in cities all across the world.

The free app will show you the unoccupied parking spot nearest to you (although it won’t show whether the spot is metered or free of charge) while the premium version will display the cost of the parking spot in 15-minute increments.

SafePark will use the geolocation and GPS capabilities in your phone to show you where you can legally park and allows you to report to other users when a space becomes available. The website uses the same geolocation services as the mobile app but will show more possible locations because of the bigger screen size.

When it’s released, SafePark will be the next revolution in urban living.

This description is a good PRD example of an overview because it describes the users’ pain points, why they need your product (difficulty finding parking in a big city), and shows how the product will solve their problems (helping users find parking).

Our sample PRD overview discusses the product’s main features and functionalities: finding open parking through the user’s phone geolocation and GPS capabilities and crowdsourced user reports for open spots.

In other words, the overview clearly and concisely describes why the product is needed and what it will do.

Read More: What a Freelance Developer Contract Should Include

2. Target Users

This helps you answer who your audience is, what they can do with your product, when they might use your product, and how they will access it.

Here’s how SafePark went about describing their target customers on their sample PRD:

Who: Car owners, aged 18-70, who live in major cities and need to find a parking spot.

What: This app will allow users to find an unoccupied parking spot nearest to them using the GPS capabilities of their phone. They will also be able to report unoccupied spots (or to flag the spot they just left as unoccupied) after they leave.

When: Urbanites who need parking spots will use this app.

How: Via dedicated mobile apps or our website.

3. User Problems Solved

How will your product solve users’ main problems?

Here’s an example of how to go about this portion of the PRD:

User Need: User needs to find a parking spot for their vehicle.
Resolution: SafePark can use the users’ phone’s GPS to find the closest unoccupied parking spot. Only legal parking spots will be shown.

User Need: User needs to know how much parking would cost in a given location.
Resolution: In the premium version, users can see how much a parking spot costs, in 15 minute increments, in locations all over the city.

User Need: Tourists need to find parking and don’t know where they can park.
Resolution: SafePark can use the users’ phone’s GPS to find the closest unoccupied parking spot. Only legal parking spots will be shown.

User Need: Driver gets frequent parking tickets and fines for unknowingly parking in illegal parking spaces.
Resolution: SafePark use the users’ phone’s GPS to find the closest unoccupied parking spot. Only legal parking spots will be shown.

Read More: Freelance Payment Terms: Fixed Cost vs Hourly vs Retainer Payments

4. User Stories

Here, you can describe the key functions users can carry out with your product. This section should focus on functionality rather than design.

Take a look at this sample product requirements document user stories section:

All premium users will have access to freemium version features, but only premium users can use additional features.

1. As a user, I can create an account linked to my email.

2. As a premium user, my account can save a list of parking spots that my phone will search for first.

3. As a user, I can see parking spots all over the city, both occupied and unoccupied on the website version.

4. As a premium user, all parking spots will have a cost displayed in 15-minute increments in locations all over the city.

5. As a user, my phone will show me the nearest parking spot using GPS geolocation.

6. As a premium user, the website and phone versions will alert me to events in the city that may affect my preferred parking locations.

7. As a user, my phone allows me to alert other users to empty parking spots.

8. As a premium user, I can alert other premium users to empty spots, which they will receive before non-premium users.

From Bizarro Comics: "Will you validate my parking?"
From Bizarro Comics: “Will you validate my parking?”

5. Competitors

List your main competitors, and describe their market position and product availability in this section.

Writing this information down will not only give you a better idea of the market you’re entering, but knowing more about your competitors can help you consider how else you could improve your product for better reach, product market fit, or edge over your competition.

Here’s our example of competitor research on a PRD based on our fictional SafePark brand:

Possible SafePark Competition

Parking Spot is one of the few parking locator apps out there. It’s an Android app made by Aabasoft Android Development Division. Its interface is simple, with a find button and a list of parking spots based on their distance from your location.

Target audience is the same as SafePark: anyone who wants a nearby parking spot
Core functions available: find parking spots by distance, works with and without GPS
Pros: simple UI, easy to use, free
Cons: only for Android devices
Pricing: free

VoicePark is a hands-free turn-by-turn guidance app that will lead users to the closest available parking spot to their pre-determined destination. It uses real time data from on-street sensors, off-street parking availability, and predictive analytics.

Target audience is the same as SafePark: anyone who wants a nearby parking spot or tourists who need are unfamiliar with a new city and need guided assistance to find a parking spot
Core functions available: turn by turn guidance to parking spot near your destination
Pros: multi-platform, includes Android and iPhone, provides guidance to the parking spot, free
Cons: UI is clunky looking, uses Apple Maps
Pricing: free

Parker helps users find open, available parking spots for on-street parking spaces, garages, and lots. It also offers GPS navigation to real-time available parking. Parker shows prices, a built-in timer for meter expiration, and filter capabilities.

Target audience is the same as SafePark: anyone who wants a nearby parking spot and people who have a hard time remembering where they parked
Core functions available: turn-by-turn guidance to parking spot near your destination, meter expiration timer, saves parking location, displays prices
Pros: available on Android and iPhone, provides guidance to the parking spot, free
Cons: limited number of cities supported
Pricing: free

Read More: 14 Toptal Alternatives to Hire Freelance Software Developers

6. Technical Process and Specs

Here, we’re going to walk through the technical processes behind the product and its basic capabilities. The more you know about what you’d like to happen or how your product should work, the easier it will be for your developer to help you.

If you’re unsure about the complex technical aspects, however, don’t fret. Try to be as clear as possible while being open to suggestions and feedback.

Below, we’re going to write tech specs and a list of technical processes from the point of view of a founder who might not know how the development works but has an idea of what they want. In this section, points 6-8 are examples of a feature that wasn’t mentioned before. The founder hopes to implement these features but isn’t sure about their feasibility.

Have a look at our example product requirements document process and specs section:

SafePark Technical Process and Specs

1. The app needs to be able to access geolocation and GPS services from the users’ phone in order to find nearby parking spots.

2. The app should be able to connect to public parking APIs in order to tap into information on public parking, such as rates and availability. Some major cities, like San Francisco, have their city parking spot information available online. If SafePark can sync with that information, it adds to the number of legal, open spots available.

3. The app should be able to access privately owned lots as well to give more detailed information on parking rates.

4. The app should have a function like Waze, where users can report open parking spots on the street. This will encourage user participation and increase the number of parking spots that users see.

5. The app should be able to sync across mobile and desktop so that users can look up information at home, on their computers, and be able to access it on the go.

6. Ideally, a user will open the app, press their “find me” button, and see the parking options nearest to them, color-coded by type: blue for user reported, yellow for free parking, green for private lots, and orange for public parking.

7. Premium users will be able to see the rates for public and private parking closest to them. They will also be able to get preferential alerts, so the back-end needs a database of premium users.

8. The user should have some sort of easy-to-find button to report an empty space, and quickly choose what kind of parking category it belongs to. The app will color-code the information automatically.

7. Release Criteria

Here, talk about how you would like your product to be tested for quality assurance and documented before and after its release.

This will facilitate conversation between you and your development team about how you want to communicate and collaborate.

Here’s another set of samples (blue boxes) that, when combined, show a PRD section documenting SafePark’s release criteria:

Testing/QA: Before SafePark is released, I would like to complete alpha and beta testing to make sure there are no bugs, the GPS functions are accurate, the parking rates are displayed accurately, and the app does not crash, like those of my competitors.

I will consult with my developer on how they will complete QA trial runs for the alpha and beta testing, as well as the final version before release. I will also discuss with them what happens if QA testing fails.

In addition, I will talk to my developer about the time frames for alpha testing and then beta testing. With a launch date of six months from now, I would like alpha testing to be completed at least three months into the project, beta testing five months into the project, and a final version to be tested for a month prior to launch.

Note: While you don’t have to know when exactly you want your product to be alpha or beta-tested — which you should plan to do to get user feedback and to better grasp your product-market fit — you should think about and discuss product testing and quality assurance issues with your developer.

Documentation: I would like to make sure that my developer documents their code religiously. While that may cost me more in terms of time spent on the project, I would like other developers working on this project in the future to be able to read changes to the code.

This not only avoids technical debt — where choosing a short-term easy fix right now creates more problems down the road — especially if I decide to scale the product. Good documentation also ensures continuity between developers working on the project.

I would also like to be updated on possible changes to features, either via a project management tool or email. I would like to be briefed on a bi-monthly basis, rather than simply view a finished product.

Support: I would like to ask my developer what support will be offered after the initial product is built. I will also make sure that the developer I hire will be available on a standby basis (and will be compensated accordingly) for at least the first 48 hours after launch, to ensure that any unforeseen glitches will be taken care of.

Note: While not all products require extended support, you should consider what happens after your product is built and launched.

If you choose to hire a freelance developer and are worried about problems during launch, it’s worth making sure your developer will be available to help you or leave good documentation behind, after they are done building your product.

As for the 48-hour, post-launch standby, this is a semi-arbitrary time period that is not strictly necessary. In this hypothetical, we suggested a 48-hour standby period in case there are problems after launch that need immediate resolution.

Although you have tested this product, there could be unforeseen issues, server overloading, etc., that can happen if the product is very popular and the back-end systems are not prepared to handle it. Therefore, it would be safer to ensure someone is on hand to help.

Obviously, there is always the chance of bugs and glitches, even after extensive testing, but if something is going to go wrong, there is a greater chance it’s going to go wrong immediately after launch.

Read More: Toptal vs Upwork, Fiverr, Arc: Where to Find Great Freelance Developers?

A Word to the Wise Before You Write Your PRD

Congratulations, we’ve just completed one version of a product requirements document template!

A few words of advice before you go off to make your million-dollar app a reality, though.

First, don’t worry if you don’t know any programming lingo or terminology. If you’re unsure how to describe what you want to happen to your developer, you can write a user story, which basically describes what you want the customer to experience.

Second, do let your developer know what you’d like your app to do (in general terms). If you know what features you want, divide them into two categories: requirements (must-haves) and bonuses (nice-to-haves, but not requirements).

Keep in mind that not all features are created equal (or feasible). However, having made this list will at least force you to think about what you really need to bring the product to market.

Finally, when interviewing a developer, ask which of your required or bonus features can be short-circuited, i.e., which features can be carried out using a basic script for your prototype. This will allow you to decide whether you want to try this feature at all before investing too much time into it.

Remember, the more you know about what you want and the more specific you are in your PRD, the easier it is for a software developer to help you.

Now that you know how to write a product requirements document, here is a comparison of hiring developers in-house vs freelance vs going with recruitment agencies. If you have any questions or feedback on writing PRDs, let us know in the comments below. Thanks for reading!

You can also try Arc, your shortcut to the world’s best remote talent:

⚡️ Access 350,000 top developers, designers, and marketers
⚡️ Vetted and ready to interview
⚡️ Freelance or full-time

Try Arc and hire top talent now →

Written by
Arc Team
Join the discussion