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

Project inception

Jack Eadie edited this page Jul 6, 2018 · 5 revisions

Project Inception / Planning Page

Process

We use a hybrid of waterfall and Scrum processes due to the very limited time of this program.

Initial Feature List

  • Functional Android application for users
  • Survey and question completion
  • Discussion room interactions
  • Demographic and preferences selection and editing
  • Business portal login
  • Focus Group Dashboard
  • Individual Focus Group results for both complete and in progress focus groups
  • Manual creation and deployment of Focus Groups

Initial Planning

Risk Management

Risk Severity Response
1 Competitors High Work first on new feature
2 New Technology Medium Take an online Mean course
Build Prototype
3 New Team Low Diversity will help us overcome problems
4 Lack and/or diversity of skill Medium Tailor our platform stack and design to current skills and aim for minimal learning time or frameworks with low learning curves
5 Insufficient or invalid market research medium Quick MVP release and initial feedback cycles
6 Platform is not worth valuable at cost Medium Pivot.

Development

Initial Architecture

The current architecture features two main disjoint systems: the user and business side clients. The business side application is an in-browser web application. The user program is a standalone android application. These two programs will be able to integrate with our backend servers for data submission and processing.

Tools

The two main tools for development are Android SDKs and emulators for the user application as well as proto.io for business side prototyping and html generation.

Deployment

For the initial version, the user side program is an Android application just requiring download and operating locally on usable devices. The Business side website is yet to be deployed and is being developed locally.

Version Control

Git is being used through a Github organisation. Feature branches are being used to maintain an easy development environment for multiple developers working on the android application. When the first generated website code is produced from prototyping. It will also be released onto Github as its own repository. Likewise, the backend servers when begun.

Coding Convention

In the Android application, Google's Java coding convention is being maintained. A styling static analysis tool is yet to be used in our CI through GitHub and/or its pull requests.

Testing Strategy

Although current testing strategies are not more extensive than manual developer testing, on a long term scale testing would involved automated unit and integration testing for the android application. Secondly the business portal would have integration testing as well as individual unit testing. The backend servers would have more specific unit testing as well as non functional testing done on a long term schedule to ensure proper security, load handling, latency and throughput.

Clone this wiki locally