How To Write App Requirements

In order to drive home the importance, we’re always talking about why you need to know how write app requirements.  For example, you can learn more about why it is so important to know how to write app requirements in this post.

What are App Requirements?

The first step in the app development process is listing down every single thing that might be in your app.  This is called the list of app requirements.  In reality, this list will evolve over time as we work together to refine it, but as a first step we ask you to list out everything you can think of.  This is so we have an unfiltered view of what you have in mind as a starting point.  From there, we will work with you to add items, delete items, and suggest places where we may be able to streamline things.  But how do you write app requirements?  Of course that’s something we need to help answer!  Here are our tips.

The requirements are a detailed list of all the components you want in your app or software.  The initial draft should include anything that you may want to include, in one place.  If you might want something in the app in the future, this is the time to include it in the plans.  The reason for this is that in the initial app build, even if it doesn’t include every feature, it’s important to factor in where the app may go in the future, to make sure that the way it is set up now is able to scale in a seamless way rather than requiring you to start from scratch.

Example:

When listing requirements, it is important to think through as many steps and details as you can.  Try to put yourself in the shoes of a new user logging in for the first time.  What are they going to do and see?  It may be helpful to look at a popular app that you already use, and in your mind note what every feature is and how you can use them.

For example, let’s do requirements for a simple registration form to show the different steps that are involved.

  1. User enters First and Last Name (mandatory for user to complete this)
  2. The user enters email address (mandatory)
  3. User selects location
    1. The user can opt-in to share their phone’s location with the app
    2. If they decline that, the first step is selecting country of residence from a drop down of all countries
    3. The user will then enter their zip code to indicate their city of residence
  4. User enters password (mandatory – must have 1 special character and 1 numeral in password)
  5. The User re-enters password (mandatory)
  6. User clicks submit (once form is submitted, email is sent to user to confirm address, after that confirmation happens the user can now login using the email and password they listed in the form)

As you can see, even a super basic registration form has a lot of steps. As a result, in the requirements list, it is necessary to get into this level of detail for every single feature and section of the app.

There is no exact right or wrong way to do this.  So don’t worry about format.  Ultimately, the goal is to know the main features and functions you have in mind for your app idea.

Things to Keep in Mind:

There are at least two parts of any app, user and admin. You need to think about this when thinking about how to write app requirements.

First is the user side – which is what your users will experience.  Some apps have multiple kinds of users.  An e-commerce app, for example, has shoppers, and vendors.  They may have different features that they access.

The second main part of an app is the administrator (admin) side – which is where you will login to manage the app.  Some apps have multiple types of admins with different permissions.  For example, a super admin may have access to all features, while a regular admin will only have access to specific features.

User Side

Registration:

  • How do users sign up for your app?
  • What information do you want to get from them?
  • Do you want them to create a user profile?
  • Can users immediately access the app after signing up, or is there a confirmation process?

User Permissions:

  • Will your app have different types of users who have access to different features?
    • Example – if you are making an app where customers can buy products through the app, you will have two types of users – the people who are buying things, and the people who are selling things. These users may have different experiences in the app.
    • Another example is that some apps have free and premium subscriptions. In this case, free users will typically have access to certain features of an app, whereas paid users will have access to more features.

What can a User do in Your App?

  • What exactly can a user in your app do? Try, if possible, to break this out into sections.  First, picture the sections on the app menu that users would choose from to access different features.
    • For example, if this is an app that lets users find products and buy them, the sections may include:
      • Product search – where users look at products. Within this will be details about how products are shown, how users can filter products, how users can interact with products, etc.
      • Cart – this would be where products go when users are thinking about buying them. In this section there would be the option to add or delete items, or proceed to making a purchase.
      • Checkout – this would be the section where users actually buy a product. How do they buy them?  Do they make a payment in the app?  Are they directed to an external website where they will make the purchase?
      • Purchase history – this section would show previous purchases made by the user. How is this organized?  Do the purchases show in order of most recently bought?  Can the user search for previous orders? Can the user sort this list by any other criteria?
      • Returns – this section would be where users can initiate product returns. How does the return process work?
      • Profile/Settings – this would be where the user can update their information, such as billing info, delivery address, notification settings, etc.

Admin Side Questions:

  • User management: add or remove users from the app. If, for example, your app involves communication between users, you may want to be able to remove any users who have been flagged for inappropriate activity.
  • Confirm information: e.g. if you want to confirm user information before they are let into the app, such as approving a profile picture.
  • Data Analytics: are there any usage statistics you would like to track? Using the example from above of an app where users buy products, you may want to know:
    • How many users are using the app
    • Total number of active users (i.e. have logged in during the past week)
    • How many purchases have been made
    • Number of items that have been put into carts
    • What products have sold the most
    • Filtering all of this information by location, age range, gender, or other demographics
  • Add/Manage content: do you want to be able to create and send content to users? For example, do you want to send push notifications that you write?
  • Ad Integration: Do you want to show ads in your app?  If so, you would manage this from the admin section.
  • Admin Levels: Do you want multiple levels of admin users with different permissions?

Overview

There no exact right or wrong method for how to write app requirements.  So the most important thing is to try to include as much detail as possible.  Don’t worry – if you’ve found a great software partner, they will definitely help structure the list and fill in any blanks.  If you’d like another perspective on the requirements process, check out this article.