We build custom apps for everyone but most of our customers are early stage Start-ups and Entrepreneurs. We also appreciate the fact that some of our customers who are looking to hire an App Development Company have less or no experience in hiring an app developer before.
Such first-timer customers are of course no less than any seasoned tech-savvy customers, they have a great vision about the app they want to make, along with a strategy to promote but can get stuck on the question “How to write an App specification document?” so that each and every aspect of their requirement is well communicated to the App developer.
We get such inquires frequently where customer asks us to give them an App requirement specs template which they can easily fill and send across. We’ve uploaded such sample App specs template at this link Sample App Specs Download. Download this sample app specification template, follow the example, fill out and send across to the developer, for a quick estimation of their App Development Costs .
We also like to share the pointers that we use to create an easy to use App Specs Document, so that you can understand the factors working behind, and write better app specifications yourself.
- 1. The Executive Summary
No matter how clichéd it sounds, you should be writing an appropriate summary covering the business information about the project, the team behind, the market you are hitting etc. Introduce the salient offering of the app, its goal, and information on target users.
Below are some of the key points that you should follow in the executive summary section:
Introduction of Application:
You can write as“We are looking to develop a taxi app like uber but with a twist related to the occasion of travel, and we are targeting everyone in New York area at first so that they can book cars for occasions like wedding, birthday parties, business meetings, leisure etc and the driver and cab would be tailor-made for the occasion.”
- 1.2 Brief introduction of your startup, experience, founders:
Tell others what you are up to, are you funding privately or have raised a seed, experience of co-founders, long and short term vision of the startup. Consider you are hiring not just an App Development Company, but a team that should be knowing you and feel confident and glad to be a part. Sharing most amount of information on your behalf because that’ll be most meaning in understanding your requirements.
- 1.3 Decision Maker’s Contact Details:
Well, it’s as simple as it can get. Write something like:-
Email - email@example.com
Please email your proposal or questions to Mr John Smith, following are their contact details:-
Designation - Product Manager
Phone No. - 347-467-1089
- 2. Mobile OS Platforms to target
Mention the kind of devices you want to target. It will be beneficial for you to ask for both the Android and iOS platforms in the beginning. Although based upon your target audience, you can either ask for just Android or iOS. In fact, it can be great if you even ask for a dedicated website. You can always ask separate cost per platform, so mention that as well.
3. Services Needed from the App Development Company
An App development Company like our’s (Agicent Technologies) could offer a lot more than just coding services that can be related to your requirement like:-
- App Design & Development services.
- App Development Services.
- App Design Services.
- App Store Optimization, App marketing.
- Full Stack Development.
- Consulting Services.
So you should mention specifically what you are looking for if you have the design already then you only need app development service, and if you are a developer yourself then you can ask for only app design services. You can ask for App consulting services also when you only have an idea and concept, and looking for a Mobile Consultant to understand everything, create wireframes, propose development approach etc.
Most of our first-time customers need all the services, and we happily offer the same. Although no one is stopping you from getting a custom service from our side.
4. Technology Preference
It’s always good to keep technology preference open to discussion before you’ve finalized your specs though many times an app publisher is pre-convinced to use a particular set of technology.
Some most popular Technical Approaches related to app development are:
Native App Development: In this type of technical approach you use native tool kits like Xcode and Swift for iOS, or Java for Android.
Hybrid App Development: Here you use a combination of native and cross-platform tools.
Cross-Platform Development: This type of development is done using tools like Xamarin, Ionic, Cordova, Unity, Phonegap.
Note: Every technology approach has its pros and cons, you may read one of our cool blog postings on the same topic at this link – Cross Platform Vs. Native App Development and decide which way is preferred to you, else just share your project info with us and we suggest you the best option.
5. Features Description (The core of this App Specs Document)
Describe the app as it flows for all kind of users, like the way we are describing a live App (Barnow Experience; It is an iOS based Application) here:
Functionality for End User:
- 5.1 The app shall be having these categories of users:-
- 5.1.1. End users (People looking to find, review, and go to bars).
- 5.1.2. Bar Owners (who maintain their profile, send offers etc).
- 5.1.3. Admin (Owner of the app).
- Sign up using Facebook, Google, and Phone.
- Update profile (enter DoB etc).
- Allows permission to track location.
- Allows permission to access camera, photo, contacts.
- App would capture age (should be minimum 21 years), gender, email ID and phone number of party-goers.
- Once the user confirms he is 21 or more, he shall see the next screen for bar location (current location or search his city). After choosing your city the user shall then select which type of bar (for example sports bar, dive bar, speakeasy/prohibition bar, arcade/game bars). Clubs from city like Vegas and Miami.
- After choosing your city and type of bar you are looking for then it should pop up a list of bars (coming from backend) and we should rotate every two weeks (using admin) which bars are going to be the top 10 in that area, it will be easier to do this once we get users downloading and hitting the application because then we can pull data and users comments on who got the most hit and which bars most users seem to be attached to.
- A user shall be able to check-in the bar on the app when he physically checks in.
- Once you choose the bar you want to look at the bars the main page will come up and on this it will have a link to the bars website, direction, and also the bar will have the ability to post pics of flyers they have promoting any events (via bar login on web), they will be able to post videos of any past performers that will be coming back soon, their happy hour specials and anything they want to post pertaining to the bar. We can call it to bar details screen.
- Also on the bars page there should be another icon that says feed and on the feed page which shall be live stream on anything party-goers and other people are saying about that bar for example Facebook, Twitter and Instagram post that are associated with the bar (if there is a hashtag or geotag location then that should reflect on bar).
- On feeds page, there shall be an icon that says GO LOVE and with this icon party goers will have the ability to post a 10 second video of them while they are in that specific bar and once they have that video they shall post it to their feed so that way it is another way to show users what is going on in real-time in that bar.
- Party-goers should have the ability to go to the feed page. They should have the ability to scroll and see what other people have been saying about that bar for example if there is a Twitter, Instagram or Facebook post with that current location tag of the bar or the bars hashtag, it should show up on the feed page for view to be able to see what is going on in real-time.
Functionality of Website for bar owners:
- Signup, registration after authentication (via email ID or phone number).
- Bars will have their profile page that they can update their info (name, contact person, email, Twitter/ Facebook, location on map, pictures, description, speciality).
- Bars will have the ability to post pics of their flyer, happy hour specials, any post they want to saying getting people in for the night, videos of past performers that will be returning soon etc.
- Ability to see total check-ins count via app till date.
- Ability to moderate users and bar owners.
- Logs into username/ password secured, admin portal on any browser, and see user analytics (number of users on the app, new downloads, their email IDs/ contact details).
- Ability to see the number of hits on every bar during a period of time, the number of check-ins people have reported on the bar.
Apart from the usual features that most applications in the niche need to have, there are features that makes your app different and are important. Make sure you establish all of them in your app specifications documents.
There are a plethora of features that an application can have. Although setting up a priority makes their inclusion a collateral task.
If you are thinking of a unique feature then makes sure you establish the correct context and the scope of your feature operation. This will developer to scale the complexity of the feature you are asking for.
6. Mock-ups or drawings to depict the flow
It is great if you can back your textual description with some drawings or raw mock-ups so that a developer can visualize it better. You can use tools like Invision , Balsamiq , or Mockups with little a little practice, or ask your App Development Company to do this for you. We generally do this for our customers just after taking a brief.
And if nothing works, pick a pen and paper, draw the screens, click and send pictures to the developer. The idea is you should describe it as much as you can. This gives a clear idea to the UI designer and helps you land the application that you’d like.
7. Acceptance Criteria
Now that you’ve described everything you need in terms of functionality, you may go further and create an App Acceptance Criteria as well.
What is Acceptance Criteria?
Answer:An acceptance criteria are the conditions that a particular app in development must fulfil. It can cater towards the clients itself, the platform for which it is made, and most importantly the target audience.
Getting an acceptance criteria in line will make sure that your desired application meets all the quality standards to be called as a workable app at least.
Acceptance Criteria can be divided into the following subparts:
Scope of the Features: These are all the mandatory features that your application should have. It ensures that you are meeting the market demand of a standard application in its niche. If the base idea of your app is a little different from the regular then defining it will build a clear story of what is important and can’t be left without.
Errors: Lot of initial builds of any application has multiple bugs. Although, there are certain errors that aren’t accepted. For instance, a crashing application or your application getting stuck on a particular screen. Many a times, the application faces proper navigation issues which shouldn’t happen in the first place.
Communications: It is important that you make sure that the story is complete from your side. The more precise information is imparted regarding the application, the easier it is for the developer to develop your application.
Setting a Criterion: It is essential that you set up a criteria for each important feature for acceptance.
If you are still confused then follow the list below:
Mandatory Performance Parameters: These are the parameters that are absolutely important for you. For instance, your app should optimally consume battery, should share the location, work without lagging etc.
UI related acceptance criteria: UI though is the most volatile aspect of app development but it is important to mention your vision. For instance, the transitions from one page to another, SVG integration (if you want that), clickability of all buttons, placement of elements etc.
Test Case Scenario: Establishing a test case scenario for all the important features is a must. These will be the ones without which your application won’t be able to sustain in the app stores. For example, if you are creating a bulk file sharing app via NFC then you should ensure the app connect with other devices easily using NFC.
Protip: It is important that you establish the context so that the developer has a clear idea of what you want. Most importantly if you are writing acceptance criteria then do it from the User’s perspective.
Again, you can write these yourselves or ask your development company to do the same for you. It’s not necessary to write an acceptance criteria when you are looking for only a Quote, but is preferred if you write one. Setting up an acceptance criteria yourself gives you more control over the development. You get more visualization of your own project before going towards development, and it's a great exercise even for a non-techy or an App entrepreneur.
8. Some Additional Information
if you are outsourcing Mobile App Development for the first time then below are some articles that can help you out incredibly: