Every software project needs a really good specification in order to succeed. Just like every construction needs a specification. But it takes a lot of time and patience to write down all the details on the paper. Plus attention to detail and mindfulness will help a lot.
It must be acknowledged that specifications (software requirement specifications) are even more important if you’re going to outsource software development. This is your guiding document, sacred tablets, and an ultimate protection insignia in case of any misunderstandings with the development team occur.
Writing down mobile app specification document is the mandatory step for any software development project. So, why so much fuss over it?
- Mobile App Development Specification Document
- General Requirements to the App’s Specification
- Requirements Smells
- How to Write Software Requirements Specification
- Three Contacts
- The communication process behind the scene
Mobile App Development Specification Document
Definition of Software Requirements Specification (SRS) – SRS is a document that contains an in-detail description of the software system that needs to be developed. It contains functional and nonfunctional requirement to the system, the set of use cases the app should perform, and the results.
Goals of Software Requirements Specifications
The SRS is necessary for the work of all structural units of the development team: Project Management, Software Development, Quality Assurance, Client, and Business Development.
Thus, specification perceives 5 main goals:
- Facilitate review of the project and describe the scope to the team.
- Give starting references to UI/UX designers, software architects, and team leads.
- Provide a clear framework for testing of use cases based on the set number of goals.
- Provide an additional reference layer for code review and code refactoring.
- Create a framework for further work, so the client could easily integrate additional features later on.
What is the difference between functional and non-functional requirement?
The functional requirement is describing the behavior of the system as it relates to the system’s functionality. The non-functional requirement elaborates a performance characteristic of the system.
A more complete list is available at Wikipedia’s entry for non-functional requirements.
Non-functional requirements are sometimes defined in terms of metrics (i.e. something that can be measured about the system) to make them more tangible. Non-functional requirements may also describe aspects of the system that don’t relate to its execution, but rather to its evolution over time (e.g. maintainability, extensibility, documentation, etc.).
(by Stackoverflow discussion)
General Requirements to the App’s Specification
There are several mandatory sections that must be in any app specification document. Those part form a structure of any specification and ease the navigation across the document:
- The scope of the document.
- Short description of the project.
- All terms & definition specific to the following app.
- General requirements
- System requirements (OS platforms, browser versions).
- Formats (date, time, currency, language, etc).
- Wireframe structure, pagination, imagery, etc.
- Functions (notifications, emails, alerts, actions that app preforms).
- External Integrations (payment system, analytics integration).
- Roles (admin, users, moderator, etc).
- Entity vocabulary.
- Use Cases for each and every Role.
Apart from this must have chapters, app’s specs can also contain specific design constraints, assumptions, and requirements for security, performance or database structure.
You’ve probably heard of code smells. Following this idea, project manager, team leads, and architects also proposed an idea of Requirements Smells. These are usually wordings and text part that are too vague to be transferred into structured code:
- No specific and definite results.
- Abound in adjectives.
- Subjective language.
- Negative statements.
In order to eliminate those non-technical statements out, Business Developer writes specs in close cooperation with Project Manager, Team Lead, and under the supervision of Software Architect.
How to Write Software Requirements Specification
It is easy to define what is SRS and point out what should be in it. But it is surprisingly hard to write down all those things. Partly because there are too many participants involved in the process: the client, business developer, and software architect to start.
In addition, it is exceptionally hard to transfer someone else’s ideas into definite and strict text document. Plus, you should write SRS in a technical, and sometimes by using indications on how the program should behave from the developer’s point of view.
That is why we have dedicated professionals in our company that are in charge of specifications development. By default, they involve into the process right from the very first moment you have contacted our team. You just don’t know them yet.
- On an estimation stage you communicate only with Sales Manager.
- Once you order SRS we put you in direct contact with our Business Developer.
- Once your specs are getting to the finish line, we introduce you to the Project Manager.
The development of software specifications starts from the very first time you contact our team and describe your idea.
The communication process behind the scene
- You contact us.
- We sign the NDA.
- Our Client Manager structures your inquiry.
- HIDDEN Provides the information to Software Architect and Business Developer.
- Client Manager requests you for the additional scope in order to develop a better quote.
- HIDDEN Software Architect and Business Developer prepare the first project estimation.
- We provide you with a quote.
- HIDDEN Every time you supply us with the new information it goes to the Business Developer and Architect.
- You refine your inquiry, provide additional details and describe your goals.
- HIDDEN Our specialists constantly optimize your project, so it could achieve the goals taking less time for development.
- You get a refined quote and request an SRS for your project.
- We put you in contact with our Business Developer, who is already familiar with your project, so you can get right from where you’re now.
- Business Developer makes clarifying questions and transfers the project in a technical language.
- HIDDEN Business Developer constantly consults with the Software Architect to find the most elegant software solutions to achieve your goals.
- HIDDEN Сloser to the end of the process our Client Manager contacts the Project Manager and books suitable software developers required for the project.
- HIDDEN Project Manager familiarizes with the specifications and makes clarifying question if needed.
- Software Requirements Specification is completed.
- HIDDEN Our Software Architect and Project Manager prepare the final project quote based on the completed specs.
- You get the final project quote.
- If you choose to develop the project with us, we introduce you to the Project Manager and the team and you’re good to start app development.
That’s how the communication process in our team goes from the first contact with our client, to the software development itself. As you may notice, the Business Developer gets involved in the process as early as the first contact occurs.
Why we’re describing all of it here, you may ask? Well, this list is called to illustrate that it requires more than one person in order to write down exceptional Software Requirements Specification.
We in GBKSOFT pay great attention to the specification stage and involve all team members required in order to make them flawless.
Need a tailor-made app specifications?