Reach - Software Project Management Plan

Version 1.1, December 15, 2018

Authors: Ali Shahid, Dan Huynh, Kobi Lee, Michael Pintur, Muzammil Elahi, Nick Marecek, Prayrit Khanna, Yousef Fahim

Table of Contents

1. Overview

This section provides a detailed overview of our projects scheduling and logistics.

1.1 Purpose Scope Objectives

Reach is an android and web-based application which implements Google Maps API allowing users to advertise and locate events, parties and other social gatherings in their relative proximity. The objectives of this project is to provide users with an easy way to advertise or find events within their area.

1.2 Assumptions and Constraints

Assumptions:

Constraints:

1.3 Project Deliverables

no. Deliverable Deadline Adjusted Deadline
1 SPMP September 23, 2018 December 16, 2018
2 Requirements September 23, 2018 December 16, 2018
3 GUI December 3, 2018 December 3, 2018
4 Web Back End & Front End December 5, 2018 December 16, 2018
5 Database Server & Connection November 15, 2018 December 2, 2018
6 Android Back End & Front End December 5, 2018 December 16, 2018

2. References

1. Course Website
2. IEEE Standard for SPMP

3. Terms & Definitions

This section provides definitions and terms used through the SPMP to better understand it.

Item Definition
Google Maps API Google Maps API is a programming interface that allows 3rd party apps to communicate with the Google Maps services

4. Project Organization

This section provides details to the project's overall organization and implementation framework.

4.1 Internal Structure

The team has agreed on a democratic leadership style. If the majority votes, then the majority rules. This democratic style of leadership ensures that the majority of members' needs are satisfied, which in turn results in a more productive team. To organize a large team, members are split into seperate working categories. The categories include: Database, Front End and Back End (for both web and app), Design, Implementation, SQA, etc.
Furthermore, in order to ensure even workloads, members are only able to pick 3 categories at a time and a fair distribution of work, ensures members are not overwhelmed with too many roles.
Finally, each subgroup has a group representative who is responsible for keeping their group aware of and following the standards all members agreed to set at the beginning of the project. As group representatives, they must meet once or twice a week with updates of new constraints, timelines, and commits.

4.2 Roles and Responsibilities

# Role Members
1 Android Back End Development Ali Shahid, Dustin Dugal, Joshua Varga, Julius Fan, Rosario Elmy
2 Android Front End Development Joshua Varga, Midusa Nadeswarathasan, Nick Marecek, Qiao Liu, Pranavy Perinparajah, Zach VanderBurgt
3 Back End Development James Robertson, Joshua Varga, Julius Fan, Kobi Lee, Michael CWJ, Morgenne Besenschek, Yousef Fahim
4 Database Michael Pintur, Muzammil Elahi, Prayrit Khanna, Qiao Liu, Rosario Elmy, Yingxu Zhao, Yousef Fahim
5 SPMP Ali Shahid, Dan Huynh, Kobi Lee, Michael Pintur, Muzammil Elahi, Nick Marecek, Prayrit Khanna, Yousef Fahim
6 SQA All Members
7 SRS Document Bethel Adaghe, Jamie Omorodion, Joshua Varga, Morgenne Besenschek, Muzammil Elahi
8 UML diagrams Midusa Nadeswarathasan, Muzammil Elahi, Pranavy Perinparajah
9 Website Front End Development Bethel Adaghe, Dan Huynh, Midusa Nadeswarathasan, Muzammil Elahi, Nick Marecek, Qiao Liu, Yingxu Zhao, Yousef Fahim, Zach VanderBurgt

4.3 Group Representatives

# Sub Group Representative
1 Android Front End Development Qiao Liu
2 Android Back End Development Julius Fan
3 Back End Development Kobi Lee
4 Database Prayrit Khanna
5 SPMP Ali Shahid
6 SQA Rosario Elmy
7 SRS Document Joshua Varga
8 UML diagrams Pranavy Perinparajah
9 Website Front End Development Rosario Elmy

4.4 Standards

This section contains the set of standards that the group has implemented to ensure organization and synchronously.

Team Standards

  1. Members can be a part of 3 sub-groups maximum, and a minimum of 1 sub-group.(Not including SQA)
  2. Group representatives are to ensure the members of their group are aware of timelines and overall project logistics.
  3. Each sub-group has 1 group representative and no more.

Coding Standards

  1. Push requests must be made at 11pm to to any changes in code made that day.
  2. All code must be commented. The comments must include:

SQA Standards

  1. Every commit is analysed by 3 different SQA members, and an edit from the author of the commit does not count as an SQA chec
  2. SQA analyists return reports to the author about issues that have to be resolved, but they do not change the code themselves.

GUI Standards

Component Colours
Menu and Boxes #0000000
Buttons
#282828
Borders
#FF0000
Text
#FFFFFF

CSS Styling Standards

Styling/guideline: CSS Styling:

  1. General Link Button Attributes:
  2. Every page contains a div element at the bottom of the page with 7 links

5. Managerial Process Plan

5.1 Management Objectives and Priorities

The objective of this project is to develop a web and android application that allows hosts to post events, and users to find those events using Google Maps platform. Our main priorities are securing funding in order to purchase access to the Google API as well as setting up a mock up of our front end. Ultimately, we plan to finish all of our deliverables by the end of the term.

5.2 Monitoring and Controlling Mechanisms

  1. Weekly progress meetings Monday’s and Wednesday’s after class
  2. Team leads for all deliverables as well as working meetings for deliverables to be organized by team leads
  3. Communication through Discord and Facebook messenger
  4. SQA review of all aspects of the project to ensure everything is correct and according to the requirements

5.3 Risk Management Plan

Risk 1: Misuse of the application, for example, fake party set-ups for other purposes.
Solutions:
i. In-depth terms of service clause which alleviates legal responsibility from us
ii. Report function implemented to circumvent this issue
iii. Cautionary message to warn users when looking at locations (Similar to Pokemon Go warning about not using the app while driving)

Risk 2: Server overload due to high traffic.
Solutions:
i. Application must be portable from server to server
ii. Queue system could be implemented preventing complete server overload, causing users to wait

Risk 3: Malicious use of app by hosts and/or users.
Solutions:
i. Rating system implemented so users/hosts who receive excessive reports are flagged and potentially blocked from features in the application
ii. Ban systems in place in case of excessive reports, ranging from temporary bans to permanent bans

6. Technical Process Plan

6.1 Methods, Tools & Techniques

The following is being used for the development of the project.

7. Supporting Process Plan

7.1 Documentation Plan

Android Application Development: The code pertaining to the android application must be documented fully following the Javadocs format. Web Application Development: The code pertaining to the web application must be documented fully following the Javadocs format.