From idea to solution: Software Development Process. Specification.
We’ve already told you about the first integral part of software development process – project management. Another essential step is specification.
What is a specification?
It is a description of a software system to be developed. Software requirements specification includes a set of user stories and use cases, mockups and system structure, a plan and estimation.
Why do I need it?
User stories give a clear expression of the value to a business, including who expects it and why. Possessing knowledge of the value from a user point of view, enables us to make good decisions about the sequence of work – building the most important components first and receiving feedback early rather than trying to build everything at once. User stories also take into account a checklist of capabilities that new users may wish to specify in their system.
User story example: As a user I want to have the ability to recover my password.
Customers sometimes may be uncertain about how a process they own actually works. Writing a use case helps them align the narrative with the details of an existing process. We describe how the different features work step by step which is especially necessary when several operations are needed for one action.
Use case example: A user has lost his password. He fills out a form with his email address and clicks “Send”. The system then: -Resets the old password, – Sends him an email, – Redirects to login form, where the user can set a new password.
Interactive mockups and system structure are very useful because they give a visual representation of a system or a website to a customer. With online version of mockups a customer can click all interactive elements and see how a system (a website) is going to behave.
Accurate project estimation is one of the most challenging and essential component of a project. We provide you with detailed project estimation in excel format including the estimation in hours separately for server side, client side, HTML layout and design, testing, communication, risks etc. The customer receives the document with a fixed price of the project and he can then add and remove the features according to his budget.
Features are prioritized which helps to produce a highly efficient development plan.