June 22, 2015
Writing Requirements for Your App
For a software delivery company, as soon as the idea for a new application is conceived or presented to the team by a client, the next step involves mapping out all the components of the final product.
This pre-development phase is vital to reduce the risk of errors later in the project, and ensures that all the important functionalities of the new app are accounted for.
In this article we drill down to the very first step of the first phase of software project management, right after idea generation.
Today we’re focusing on gathering and writing requirements.
Getting to grips with writing and gathering requirements
If you stop and think about, requirements gathering and writing is a very brutal step in product development.
Your job is to dissect your fledgling idea into a dozen smaller parts each representing a functionality that the application should include.
This process is best handled by trying to view it from the user’s eyes. The question that should burn into your mind while gathering and writing down requirements is:
What Would The User Do?
Say, for example, the user needs to log in to view a certain page.
- Which login options will be available?
- What happens if they forget their password?
Answering myriad of questions about details like these will help us find out which features we need to code in the app.
A common way to organise the way your write down the requirements you gather is to sort them according to their priority. Which requirements are essential to have a functional app, which ones will significantly enhance user experience and which are simply cool things to have on board.
A new way to write app requirements: User stories
This list-and-rank approach to writing requirements is a traditional yet still very reliable way to gather your app requirements.
Increasingly, user stories are replacing this method as the preferred way to write requirements.
User stories open the way for more insightful, user-centric requirements compared to the granular requirements that characterise the old-school method.
So the answer to the preceding questions would be something along these lines:
As a user, I can log in to account using my email address or user name. If I want, I can use my Facebook or Google credentials to access all my information as well.
In case I forget my password, I can easily retrieve it by clicking on a link that takes me to a page where I can request a password reset link after entering my email address.
The developer would take this story, mine it for requirements and decide which ones to implement as functionalities in the app.
As you’ll note, this exercise is very similar to free-writing, so it’s much easier for people to engage in and understand and taps into more creative potential than list-making ever could.
Questions to ask when writing requirements for an app
When writing down requirements to develop a new app there are certain questions which crop up again and again.
- Who’s going to use this app and why?
- Where will the data that makes this app work come from and where will the new data it generates be stored.
- What kind of data will be stored and which security measures will be the most appropriate?
- What platforms will the app run on?
- How many users will use this app and will they need to communicate with each other?
- How will we/the users monitor the app’s performance and confirm that it’s working as it should.
In synthesis, the most common questions revolve around issues of: usability, security, flexibility, communication and reporting.
Although your team will be asking and answering these questions, it’s ultimately the product owner who will validate the answers you provide before green-lighting any activity.
Using agile software for requirements writing and gathering
There are many ways you can use to gather requirements and writing them down.
If you’re using the old-fashioned Word/Excel document to keep track of all your requirements, you’ll probably soon find yourself overwhelmed with the information collected.
That’s why specialised tools for requirements writing and gathering are a must-have for any agile team.
Using software like ReQtest, allows you to store and quickly pull up users’ requirements in just a few clicks.
Additionally, ReQtest also lets you effortlessly bounce off new ideas with your team and manage requirements according to creation date, priority, status and many other criteria.
The powerful features that modern requirements management tools have enable you to track and review all the changes in your requirements backlog and easily visualise data in the form of charts.
Ultimately, this leads to higher productivity and less time wasted in manually updating requirements, giving your team the opportunity to impress users and increase satisfaction levels by delivering the app features they want right on time.
Ready for a paradigm shift in the way your manage requirements?