Software requirement specification (SRS) is must to kickstart any project. This document helps a client to put their ideas and software needs on paper. This document was written as a how-to to writing a good specification for a small to mid-size project. A good specification may be combination of words, screenshots, and flowcharts. We have included several case studies in this document for a good SRS. The document includes a list of free tools that are available to anyone to write a good SRS.
Why a SRS document?
The document addresses the following issues.Issue 1
Projects are stalled because of incomplete documentation. Clients have committed to the project but they don't know what they really want for their projects or how to get started?Issue 2
Clients communicate one website to be done and start adding features by features and this becomes unsustainable for the budget.Issue 3
Clients are unable to clearly communicate their ideas on paper, and as such the project cannot go on to the next level.
The purpose of this document is to present to our clients a way of organizing their ideas into usable requirements specifications, and in order to put ideas on paper. This document outlines methods that can be followed in order to prepare a requirements study of your projects, so as to move on to the next level (project feasibility study)
Technical documentation can take different forms ranging from high-level overviews, to step-by-step walk-throughs.
At a high level, we can break down the different types of documentation into three different formats:
- Step-by-step tutorials with wireframes and screenshots that help clarify the overall structure of the website/web application,
- Overviews and guides to the various conceptual areas of the project (website / web application)
- Features list to gain an idea of the features needed for the project or web application
Clarifying the web application structure
In this document it is important to highlight the overall structure of the web application. Internal page links to different sections of the web application can be shown via diagrams, that provide a visual interface linking "actions" to "page requests".
For example, a visitor on page A, initiates action C1, which prompts the web browser to load page B, with some data which depends upon the action C1.
Diagrams such as the one above seek to clarify the linkage between different pages based on actions taken by a user of the application.
On-page organization of content can be achieved by drawing wireframes of different pages. These wireframes serve as guides for designers and content writers.
Guides to conceptual areas of the project (website / web application)
Conceptual areas of a project include domain-specific information.
For instance, a travel portal will need to make use of travel booking engines, the use of which would need to be clearly documented, in order to simplify the process of making further enhancements at a future date.
In order to provide thorough documentation for the above mentioned use-case, divide the document into sections based on roles, for example, 'travel bookers' and 'administration'.
Indicate websites that you like, on which we could base your website design and development:
We present below some case studies of client requirements, and our development based on it. These case studies are meant to help you create requirements specification for your own project / website.
Case Studies1Our client gave us the following
(a) wireframe image as a guideline for design
(b) appearance look and feel like: blackberry.com
The finished website design looks like the image below:
Case Study 2
A real estate CMS can list the following features:Internationalization
- Multi Lingual Support
- Multiple Currencies
- Search property listing based on zip code with proximity search
- Sort search results based on different parameters
- Boosting up a listing in search results (paid)
- RSS feeds for listings matching certain property search criteria
- Customizable Search Features - based on searchable fields.
- Adding videos to a property listing
- Virtual Tour feature for creating property panoramic tours
- Listing owners can mark a listing as 'Sold' or 'Leased'.
- Property listing integration with Google Maps
- Listings syndication with Trulia,
- Listings syndication with Zillow
- IDX Integration for MLS Search
- SEO Friendly Links
- SiteMap.xml Creation
- Page By Page Search Engine Optimization
- GZip compression support to save bandwidth
- Query Caching
- Discount coupons for paid members
- Offline Payments like cheque, M.O., Wire Transfer, etc.
- Banner Ad Mgmt.
- Google Ads integration
- Rotating banner ads for featured listings
- WYSIWYG CMS feature
- CSV Import / Export Tool
- Database Auto-backup
- Built-in mortgage calculator
- Newsletter Management
- Customizable Lead Capture Forms
Client QuestionnaireProject Specific Questions
The above case studies should enable you to create your own requirement specifications, as will the questionnaire below.
Platform Choice: if Any (MVC Frameworks such as CodeIgniter, Zend)
Reference Web Designs:
Brief Project Summary:
Features List: (as explained in the case study 2)
Index Page Specific Questions (Homepage Page)
Photographs suggestions (1) For Banner (2) Widgets:
Structure: (see Case Study 1)
Appearance: Please give examples for color, appearance, fonts
Project Feasibility Study
After all features have been outlined, we need to make a feasibility study before programming effort is budgeted for the project.
A big part of this study centers around the choice of technology platform (for instance, do we use Magento, Custom PHP, MVC platforms such as CodeIgniter or Wordpress). The choice of platform is dictated by budget, availability of suitable programmers, and also whether the platform would be a good fit for the project.
In any SRS, it is important to weigh the pros and cons of platforms, so that there is clarity in the choice of platform.
A timeline for implementation is also helpful at this stage.
- http://cacoo.com/ - free online drawing tool for creating wireframes, flow diagrams, etc.
- http://bubbl.us - free tool for creating mindmaps.
- http://www.techsmith.com/jing/free/ - free screen capture technology
- http://99designs.com/web-design/contests/website-fotochimp-home-page-only-coding-14908 - an example of a project specification done well.