The Right Way to Compose an Ecommerce Website Requirements Specification Document
05 September 2019
Launching an ecommerce store sounds simple enough — all you have to do is add some images and descriptions, right? Nothing could be further from the truth.
The late, great Yogi Berra once said, “If you don’t know where you are going, you’ll end up someplace else.”
If you want to create a great ecommerce store, you need a great plan. Before ever adding products, design elements, or anything else, you need to have an ecommerce website requirements specification document.
In this article, we’ll focus on ecommerce specifications — what they are, what they’re for, and how to write them.
What is a specification?
A specification is a set of requirements. Requirements define website behavior and user interaction. In other words, requirements are capabilities and functionalities that are required in the end-product.
A website requirements specification document describes your ecommerce website in detail — including who will do what, how they will do it, and what the business goals are. It also serves as an agreement between you and the development agency, ensuring both sides are on the same page.
There are two main sets of requirements: functional and non-functional. Functional refers to the technical functionality of the website — what the website is supposed to do. Non-functional requirements describe how the website is supposed to perform a certain function.
For example, among the essential functional requirements for an ecommerce website are things like: adding items to the cart, navigating the website, interacting with the user interface, etc. Non-functional requirements would be how the server handles requests, how it stands up to increasing amounts of logins/users, and other concerns like security and usability.
Who writes the specification document and what is it used for?
This document is usually put together by a business analyst, project manager, or project lead, and must be cohesive and unambiguous.
What are the main purposes of a website specification document?
Establish an agreement between the client and IT team/development agency on the deliverables of the project
Reduce miscommunication, rework time, and development efforts/resources
Reduce the need to redesign, recode, and retest
Ensure that you have a realistic timeline and budget expectations
Define the project’s success criteria
Serve as a baseline for future enhancements and post-deployment support
Depending on which role a person plays in the project, a specification document is used differently.
As a client, you use it for validation and contractual purposes.
Business and systems analysts use it to analyze how the business goals are being achieved.
Developers, designers, and technical leads use it as a guideline for implementing the solution
QA testers use it to make sure the requirements have been met.
Project managers use it to manage and control the project.
Our process: From first contact to first line of code
Clients come to us with their ideas and problems. It’s our task to turn both into deliverable ecommerce solutions that will help our clients grow their businesses. This is the customer lifecycle from first contact to the first day of development.
Step 1 — Initiation
Our partnership begins with an initial discussion that doesn’t go too deep, but deep enough for us to get an idea of a rough estimate for budget and timeline.
Step 2 — Brief
Our next objective is to help our clients fill out a brief. It includes questions related to functional and non-functional requirements. Depending on the type of project (migration, project from scratch, custom module), the brief has its distinctive features.
Examples of questions for a project from scratch:
Who is your target audience (geography, tastes, needs, gender, age)?
What are your marketing channels and selling points?
What are your scaling plans for the next 3-5 years?
Who are your closest competitors?
What is your country’s tax policy?
How many currencies/languages will you have on your website?
What are the user roles and desired access/actions for them?
Do you plan on having third-party integrations (CRM, ERP, PIM, etc.)?
What payment methods/payment gateways do you plan on using?
Step 3 — Research
After we finalize the brief, our business analysts do a full competitor and market analysis. We identify market trends, perform an SEO audit, and do research on technologies and services that may be required.
Step 4 — Prepare the ecommerce website requirements specification document
Once we go over the research and brief, we start working on the requirements specification document. If we have additional questions or concerns, we get in touch with the client. By ironing out the specifics ahead of time, we reduce the chances of something going wrong during development.
Step 5 — Multiple rounds of editing
Multiple rounds of editing ensure everything is included in the development plan and requirements document. This may take some back and forth, and may require additional research.
Step 6 — Planning stage
The planning stage includes writing a work-breakdown structure (WBS). A WBS outlines the project in smaller components.
Here’s an example of a WBS for building a bicycle:
For an ecommerce website, you would break it down by headers, footers, text blocks, and sections for each page.
Step 7 — Roadmap
With all the necessary documentation in hand, we can accurately estimate the timeline and cost of the deliverables. We agree to set up a schedule and a scope of the project.
Step 8 — First line of code
Once everything is planned and agreed upon, we start coding.
What should be included in a website requirements specification document?
A specification document includes general sections and some ecommerce and platform-specific sections.
Here’s the structure we use:
1) Project Overview
Describe the business and industry. Outline your main business goals and what services/solutions you want to provide.
2) Technologies used
Content management system (CMS) – Which CMS do you want to use? Magento is a popular ecommerce platform and CMS. Other examples ofCMS software include WordPress, Drupal, and Joomla.
Web framework – Which technologies do you want to use? Bootstrap is a well-known front-end framework for building responsive websites.
Web server – Which web server do you want to use? Nginx is by far the most popular. It’s a web server which can also be used as a reverse proxy, load balancer, mail proxy, and HTTP cache.
Programming language – Which programming/scripting language will be used? Platforms like Magento 2.3.x support PHP 7.1.3+. Depending on the ecommerce platform, this may vary.
Communication – How will you communicate with developers and your in-house team? Common choices are email, Skype, and Slack, but this is all up to you.
Hosting/Scaling – Do you want to set up cloud server hosting or virtual private server hosting? Amazon Web Services (AWS) is one of the leading cloud platforms. AWS makes it easy to set up and manage cloud-hosted databases.
Web application accelerator – How will you deliver fast, reliable, and secure web-based applications in a cost-effective way? For Magento, Varnish Cache is a good choice. It’s a web accelerator and HTTP caching reverse proxy.
Data structure store – How do you plan on structuring and storing data? Redis is an open-source (BSD licensed), in-memory data structure store that is used as a database, cache, and message broker.
Mobile frameworks – How will you deliver fast, responsive mobile websites? jQuery Mobile is a touch-optimized web framework used to build websites and apps for smart devices.
Widgets – Do you want responsive carousels and sliders? There are tons of widgets out there; look for ones that work with your ecommerce platform of choice.
DNS hosting – What domain are you going to have and where are you going to host it? There are lots of options. Ecommerce experts can recommend which hosts work best for your platform.
Others – Depending on your project.
3) Business Requirements
General – Company description with general business goals and guidelines.
Scope – A breakdown of the project, from development to release, to support. Specify how many hours per role you plan to have.
Team – Roles and responsibilities for each member of the project.
Tasks & Release management
Task workflow – Who creates tasks? Where do they create them? Who decides if a task is completed?
Deploy workflow – How many deploy environments are you going to have? Who has access to them? Who decides when and where to deploy?
4) Functional Requirements
UX requirements – What should users be able to do? How can they interact with your website? Examples: buy products, add products to cart, go through secure checkout process, pay online, etc.
Management requirements – What should staff and management be able to do? Examples: access admin panel, check order history, create invoices, etc.
Marketing requirements – What type of marketing activities should your website support? Examples: launch email marketing campaigns, create discounts and promo codes/gift cards, change cart price rules, etc.
Sales requirements – What should your sales/management team be able to do? Examples: add payment and shipping methods, change prices, manage categories, etc.
This section includes all the features (native and third-party) that you want to add. Regardless of the ecommerce platform you choose, you will likely want to add:
A customizable menu
A product wishlist
A product inventory management system
A blog module
Enhanced search (Algolia, Elasticsearch)
The ability to log in with social media/email accounts
Integrations with review sites
Integrations with payment processors/gateways
6) Project Roles
Basic Permission Scheme – This is where you specify which permissions and restrictions are in place for specific roles and responsibilities. Usually, there are four basic options available for every feature: Create, Read, Update, and Delete. For an ecommerce site, there are three main roles: admin, customer, and customer support. Outline these roles accordingas an to their abilities (permissions/actions) within the system. Group actions according to something general, then break it down into smaller, more specific components, when applicable.
Here are some examples:
(General) As an admin, I want to manage all products
(Specific) As an admin, I want to create products
(More specific) As an admin, I want to add a valid product name
(General) As a customer, I want to buy a selected product
(Specific) As a customer, I want to create an account to proceed with the order from the shopping cart
(General) As customer support, I want to send order confirmation emails
This is where you list all the third-party extensions you need to buy/subscribe/integrate to complete the project.
If you set up SEO objectives, you can write them in a separate appendix. Examples of objectives include: page speed, link building, branding, lead generation.
Takeaways — Things to remember
Having an ecommerce website requirements specification document won’t guarantee your project succeeds, because having a plan and executing a plan are two very different things.
However, a specification requirements document is essential, because without a clear understanding of all elements, features and requirements, no one can give you any guarantees that development and implementation will stay within your budget and timeline.
We value client partnerships and we’re proud to be partners with leading brands across a number of industries. If you’re thinking of launching an online store, remember: if you fail to plan, you are planning to fail.