Skip to content
This repository has been archived by the owner on Apr 4, 2020. It is now read-only.

Soft Requirements Specification

alexandraCrawley edited this page Jul 12, 2018 · 43 revisions

SRS - Software Requirements Specification

Prototype & Risk Status

In order to successfully develop a prototype within a restricted time period, a number of potential risks needed to be considered, to maximise the opportunity for the successful development of a product. A summary of these risks is provided in the table below.

Technical Risks

Risk Severity Response
1 Very short development time High To work on key features, with a focus to complete additional features if there is enough time
2 A large project scope (creating both a website and android application) High Clearly define team roles to clarify what are the requirements for each team member
3 Large variation in team skill levels Low Allocating tasks according to team member's experience and expertise
4 Cultural differences within the team Medium Making sure that tasks are clearly defined and that concepts are applicable to both China and Australia
5 Issues associated with developing a complex chat program in a short amount of time Medium Using a chat SDK to allow for a chat program to be completed in the time frame
6 Difficulties in the integration of the website and android application High Using a Firebase database to store data. Completing the full integration of the website and android application at a later date

Introduction

Goal

To design a system to enable companies developing or retailing products to gain feedback regarding questions of their choice through focus groups. Focus group participants are chosen based on demographic information, to address a company's target audience and receive compensation in turn for completing surveys and participating in a focus group discussion with other individuals.

Scope

Due to the limited development time provided, not all proposed features will be able to be implemented in their entirety. As a result of these limitations, the scope for this project has been limited, and a number of potential future features have been deemed to be out of scope. A table is provided below for functionality that is in scope and out of scope.

In scope Out of scope
Allowing focus group users to create an account and include their own demographic data Integrating this with WeChat or Facebook to remove the requirement for users to make their own account
Enabling focus group users to participate in a focus group discussion Allowing for users to complete the focus group discussion as a WeChat chat or through Facebook Messenger
Creating a system to allow users to receive some method of compensation Allowing users to use or withdraw the money they have earned from the system
Creating a website for companies to create and view results from focus groups Providing data analytics tools and additional suggestions for future focus groups
Creating a prototype in English Modifying the system to provide support for Chinese language speakers

Glossary

Compensation: This is a form of reward given to focus group participants once they participate in a focus group. It is typically in the form of money, but can be expanded to include gift cards, discounts or special offers.

Focus group: A focus group is a small, but demographically diverse group of people and whose reactions are studied especially in market research or political analysis in guided or open discussions about a new product or something else to determine the reactions that can be expected from a larger population.

Focus group participant: A member of the general public who has elected to participate in a chosen focus group.

Use cases

Actor & Stakeholder Table

Actor Description
Focus Group Member Participates in focus groups to receive e-commerce coupons/savings
Company Administrator Builds surveys/sessions and receives insights based on focus group discussions

Main Use-case Diagram

Untitled_Diagram_2.png

User Stories

Focus Group Participant

As a focus group participant I should be able to add and change details regarding personal information and demographics, to be able to participate in focus groups that are relevant to me.

Requirements:

  • The user be able add their own demographic information when they first use the application
  • The user should have the option to alter personal information at any point in time

As a focus group participant I want to be able to view the amount I have earned in a focus group, to know how much money I have made.

Requirements:

  • The user be able to see both the amount of money earned in a since focus group, and their total balance
  • This option should be available regardless of whether the user participated in the entire focus group process (for instance, in the case where a group could not be found)

As a focus group participant I should be able to view the details of the focus groups I am participating in before I join them to know the full details of what I will be completing.

Requirements:

  • The user be able to view the incentives for participating in the focus group
  • Details regarding what the focus group is about (description) and how long the task will take to complete should be provided
  • Only focus groups that the user can participate in (ie: groups which have not been closed or that the user has not previously participated in) should be available

As a focus group participant I should be able to participate in a focus group of my choice, to be able to provide feedback for companies and receive incentives.

Requirements:

  • A user should be able to select and begin to participate in a focus group of their choice
  • This option should be easily accessible, and the user should be able to withdraw from the focus group at any point in time

As a focus group participant I should be able to know when other members for a discussion group have been found, to allow for me to be aware of how long I need to wait.

Requirements:

  • Users should be aware of how long they have been waiting, or an estimate of how much longer they need to wait
  • Users should be notified (such as through an alarm) when a group has been found
  • Users should be able to exit and stop waiting for a group

As a focus group participant I should be able to participate in a focus group by discussing topics with others, to learn of others opinions of a product and fully explain my ideas regarding the product.

Requirements:

  • Users should be able to post messages
  • The discussion groups should be of a limited size, but consist of more than one user
  • Messages posted by users should be able to be viewed by all discussion group members
  • A time limit for discussion should be present, limiting the time required for the user to participate, with the user being aware of how much time is remaining
  • The topic which the users are discussing should be available throughout the discussion process, in addition to the user's previous responses to initial survey questions

As a focus group participant I should be able to know when I have finished participating in a focus group, to know when I can participate in other activities and to find out how much of a contribution I have made.

Requirements:

  • The user should be able to view and quantify their participation in the discussion
  • The next options for the user to complete should clearly be available

As a focus group participant I should be able to complete initial and post-completion surveys to allow me to express how my views have changed over the course of the discussion.

Requirements:

  • The user should be able to complete both multiple choice, likert scale and short answer questions
  • The questions posed in the initial and post-completion surveys may be different

General User

As a general user I should be able to participate in a user tutorial, to help me to understand how to use the product.

Requirements:

  • Common problems that users encounter should be highlighted
  • The tutorial should automatically be conducted when a user first uses the product
  • A user should have the option to revisit the tutorial whenever they choose to do so

As a general user I should be able to know when an error has occurred, so that I can receive help regarding my problem and continue using the product.

Requirements:

  • The problems that occurred should be clearly communicated without the use of technical language
  • The user should have an option to refer to help, either to specific documentation or to submit a problem for the development team to resolve

Business Portal

As an unauthorised user, I want to log in with username and password, so that I have security.

As an unauthorised user, I want to create an account, so that I can use Convo.

As an authorised user, I want to view all my current focus groups so I can quickly make decisions

As an authorised user (now described as user), I want to change my preferences and setting, so that I can best customise my experience.

As a user, I want to see more specific details about a particular, ongoing focus group, so that I can fully understand how my focus group is going.

As a user, I want to see more specific details about a particular, finished focus group, so that I can fully understand how my focus group went.

As a user, I want to see a quick summary of a particular focus group so that I can quickly understand its performance.

As a user, I want to be able to view all responses to a specific question in a focus group so that I can do market research.

As a user, I want to be able to stop an active focus group so that I have greater control over my research.

As a user, I want to be able to filter response in a focus group so that I can get delineated responses.

As a user, I want to create a new focus group so that I can perform new market research.

As a user, I want to choose specific demographics and preferences for my participants so that I can get tailored market research.

As a user, I want to detail the questions for the focus group so that I can get tailored market research.

As a user, I want to have an expected bill calculated before launch, so that I can estimate the cost of my research.

As a user, I want to receive a summary of my focus group before launch so that I can ensure it is correct.

Other / Non-functional Requirements

Environmental Requirements

The form of the final solution will utilise an Infrastructure as a Service platform such as AWS for the implementation of the database and servers. This means that environmental requirements are mostly out of scope. However, it is expected that any long maintained server infrastructure that is involved in realising the solution be housed according to local laws and best practice standards.

Hardware Requirements

The hardware requirements can be divided into three main categories: the participant client, the company client and shared services.

Participant Client

  • Smartphone with a minimum of 1GB RAM, stable internet connection, running Android V7.0 and up

Company Client

  • Desktop with a stable internet connection with a minimum of 2GB RAM and 1GHz CPU.

Shared Services

  • Multiple AWS instances serving customer data and running live chatrooms
  • Instances budgeted for minimum 100K requests per hour

Additional Requirements

Where requirements are unclear, it may be necessary to make decisions arbitrarily. It is expected that any decision made that affects the project observes and adheres to the ACS Code of Ethics and the China Telecom Corporation Limited Code of Ethics http://www.chinatelecom-h.com/en/cg/pdf/yuangong.pdf

The ACS Code of Ethics is as follows:

  1. The Primacy of the Public Interest: You will place the interests of the public above those of personal, business or sectional interests.
  2. The Enhancement of Quality of Life: You will strive to enhance the quality of life of those affected by your work.
  3. Honesty: You will be honest in your representation of skills, knowledge, services and products.
  4. Competence: You will work competently and diligently for your stakeholders.
  5. Professional Development: You will enhance your own professional development, and that of your staff.
  6. Professionalism: You will enhance the integrity of the ACS and the respect of its members for each other.

User Interface Prototype

See the Soft-Design-Specification section for further wireframe prototype details.

Requirements Table (optional)