What is the best way to write mobile app specs?
I spoke to many app developers and they suggest I write the mobile app specs to get the right quotes. Can someone tell me what is the best way to write mobile app specs? Is there a template or guidelines I can follow?
A carefully crafted requirements document eliminates ambiguity, thus ensuring that the developer does exactly what needs to be done. In addition, the document gives a clear picture of the scope of the work, enabling the developer to better assess the time and effort required.
1. DESCRIBE THE IDEA IN GENERAL
We believe that a proper description of the idea should fit in one sentence. The sentence may include a core feature of the application, so that the reader understands instantly what the app is about. For a calorie-tracking mobile application, it could be, “An app to track calorie consumption to help those who care about their weight.”
2. CONSIDER THE SEQUENCE
Study basic navigation patterns, and describe your application in the same sequence that users would experience while exploring it. Once the idea part is done, describe the first steps of the application, such as the onboarding screens and user registration.
Then, move on to what goes next, such as the application’s home screen. This approach will give the reader a sense of what the user’s journey would look like.
3. REVIEW EXISTING APPLICATIONS IN THE STORES
Review existing applications in Apple’s App Store and Google Play, and refer to them when describing your app. If you like how the “forgot password” feature works in applications A and B, put it in the requirements document.
4. ABSTRACT AWAY FROM DETAIL
Focus on the features of the application, and skip details such as the color of a button. Most app users do not care about such details. What they do care about is whether your application helps to solve their problem. So, when writing requirements, concentrate on things that the user should be able to do in the app.
5. PRIORITIZE FEATURES
Convey which features are more important than others, so that the developer knows what to focus on first. We usually follow the MoSCoW method, marking items with “Must,” “Should,” “Could” and “Won’t” levels of priority.
Study Completely Online
We develop your responsive layouts
6. COMPLEMENT TEXT WITH WIREFRAMES
Create wireframes of the screens of the application to accompany your textual description of them. If you have more than four wireframe screens, then drawing a screen map makes sense. We’ll show a screen map later in this article.
Requirements Formats Link
Now that you know how to write the requirements, you’ll need to choose an appropriate format for the document. There are a few basic formats for writing the requirements for a mobile app, such as a functional specification document (FSD), user stories and wireframes.
FUNCTIONAL SPECIFICATION DOCUMENT
An FSD is probably the default format in the software development industry. It consists of a standard list of items that cover what the product should do and how it should do it.
Let’s take a simple calculator application and describe its features as an FSD:
Application screen presents a digital keyboard with additional buttons for basic arithmetic operations (addition, subtraction, multiplication, division) and a result button (marked with “=”).
Tapping on a digit button adds it to the display section of the screen. Each new digit is added to the right side of the number.
Tapping on an operation button causes the current number shown in the display section to be added to the memory. It also clears the display section for the next number.
Tapping on the display-result button combines the number in memory with the one in the display section according to the operation requested previously. The resulting number is shown in the display section of the screen.
As you can see, this format requires quite a detailed description of the product because the description will be used by both the business and the developers. It ensures that all participants are on the same page.
The person who composes the FSD should have strong experience in software development and should know the specifics of the mobile or other platform for which you are building. Also, because of the high level of detail required, creating and polishing such a document usually takes a decent amount of time.
A user story is less formal than an FSD yet still very powerful. It lists the things that the user can do in the application and is described from the user’s perspective. The document could also briefly explain why the user would want to do it, if that’s not obvious.
Let’s take our calculator example and add a few other features, describing them as a user story:
As a user, I want to be able to change the number notation from decimal to exponential (and vice versa), so that I can work with very small or very large numbers.
As a user, I want to be able to export a calculation’s history as a PDF file to share with my colleagues.
Because of the explanation, such a format provides not only a technical overview of the requirements, but also a good business case for them. Thus, if a feature is identified that is not critical to the business, you could decide either to completely remove it from the scope or to postpone it to a future release.
Using this format, you can easily split one story into multiple sub-stories to provide more detail. For example, we could split the PDF-exporting story into the following sub-stories:
As a user, I want to be able to tap on the sharing button (top right of the screen) to see my options (sharing as PDF, text, image).
Once I select a sharing option, I want to select the calculation timeframe that will be shared, using iOS’ date picker.
Because of the simplicity and non-technical nature of user stories, in most cases, a manager cannot simply ask a developer to implement a particular user story. Turning a story into a task that can be added to a task tracker requires further discussion and detailing between the manager and technical leader.
User stories have become one of the most convenient and popular formats because of their simplicity and flexibility.
Well, the best way is the simplest way that you can follow. You should first figure out what different type of users your app is having, like in case of a grocery delivery app you shall have end users (ordering grocery), suppliers, admins and even delivery guys. Then you define how the app works of each kind of user, like signup via fb, search bar to explore nearby grocery shops, create an order, add to cart and so on. Do the same for other users and that should be sufficient for an app developer to know what you exactly need.
There is a free app development template also, that you can download and know how to write an app specification template http://www.agicent.com/download-app-specs-template.