IS480 Team wiki: 2017T1 Codezilla MidTerm Wiki
- 1 Project Progress Summary
- 2 Deliverables
- 3 Quality of Product
- 4 Reflections
Project Progress Summary
Midterm Slides: here
Deployed Site Link: http://impactlaunch.space
To learn more about our Project: Project Description Link
Our project is being divided into a total of 15 iterations and we are currently at sprint 11 (02 October 2017 to 18 October 2017). We have so far completed 70% of our project. We made use of our buffer sprint in sprint 10 to complete our Project Management Module 1 and 2. In these 11 sprints, we have completed 2 User Testings where participants include actual professionals from various industries.
An unexpected event that occured would be that of the Project Management Module being uncompleted in Sprint 8, 9 due to our underestimation. As such, we made use of our buffer sprint in Sprint 10 to complete the Project Management Module.
- Improved the Resource Request statuses by adding coloured labels, making it easier to read and understand requests
- Landing page user interface was improved upon
- Guide for resource management created and included
- Built the Project Management Space that includes User Management and Document Uploading
- Notifications System included into the Navigation bar
|Module||Status||Confidence Level (0-1)||Comments|
|Account Modules (1 and 2)||100%||1||NIL|
|Resource Module||100%||1||There were improvements that had to be made with regards to understanding what a resource was and the design during UAT1|
|Search Modules (Project and Resource)||100%||1||NIL|
|Project Request Module||100%||1||NIL|
|Resource Request Module||100%||1||NIL|
|Project Management Modules (1 and 2)||100%||1||Tested in UAT2 in Sprint 11 and there are comments to improve it|
|Administration Module||0%||0.7||In Progress|
|Project Matching Module||80%||1||NIL|
|Feedback and Ratings Module||0%||0.5||Not Started|
|Communications Module||0%||0.5||Not Started|
|Analytics Module||0%||0.5||Not Started|
There has been no changes made to our Project Scope since Acceptance. Below is our scope and the status of each module.
To view all versions of the Project Schedule: Project Schedule Link
|9||4th Sept 2017 (Sprint 9)||2nd Oct 2017 (Sprint 11)||UAT 2 pushed back from Sprint 9 to Sprint 11|
|8, 9||21st Aug, 4th Sept 2017 (Sprint 8, 9)||18 Sept 2017 (Sprint 10 - Buffer)||Buffer Sprint 10 was used for Project Management Module|
|11||18 Sept 2017 (Sprint 11)||02 Oct 2017 (Sprint 11)||Sprint 11 initially did not include X Factor recruitment|
To view more details about the metrics used: Project Metrics Link
Sprint Velocity is a metric that predicts how much work Team Codezilla can successfully complete within our two-week sprint. It is calculated at the end of each sprint by summing the total points of completed user stories. It is used to accurately estimate and how much we are getting done each sprint, in order to estimate better in future.
Scrum Burndown is graphic representation that shows the rate at which work is completed and how much work remains to be done. The chart slopes downward over Sprint duration and across Story Points completed. It shows Team progress towards the Sprint Goal, not in terms of time spent but in terms of how much work remains.
We used a Matching Algorithm in order to carry out our project recommendations. This is done through:
- Similarity to the specified user
- Location of the user or Geofencing
Our team made use of the One Signal Platform in order to send out the notifications through Firebase Cloud Messaging and Swift apns. Subscriptions are listened to at the login page and upon each login. The code below initialises the notification subscription. On each subscription change, there is a post call to the DB to store a unique device:ID for each subscriber.
If it is a new subscriber, this logs the user’s latest geo-position in terms of longitude and latitude. However, if the user is being unsubscribed, the user’s particular device:ID is being removed to prevent overhead.
If its a existing subscriber, upon future logins, it updates the DB of the user’s last co-cordinates.
Below are screenshots of notifications being pushed out:
Below is a scoring algorithm on a small dataset to match the project to similar users.
We obtain candidate users based on their similarities in several categories. Scores are being calculated for for candidates in specific category:
- Project Area/ Cause
- Resource Category
Similarity multipliers help to establish greater scores The logic lies in the fact that: multiple similarities in one category > similarities in separate categories
- For similarities across 2 categories, for example Country and Project Area/Cause, we make use of the ACROSS_SIMILARITY_MULTIPLIER
- For similarities within a category, we make use of the WITHIN_SIMILARITY_MULTIPLIER
We get the latitude and longitude of user upon project creation. After which we obtain users in closest proximity based on defined range (Square perimeter). Lastly, we obtain device:IDs of each user in proximity
As for quality attributes, in terms of security we made use of Spring Security, that includes BCrypt and Variable SALT Authentication, making our application not vulnerable against SQL injections.
In term of performance, our application makes use of many file upload functions that result in the performance slowing after a period of time. As such, in order to ensure that we run at a high performance, our team makes sure that we close all connections and closable stream. We also compress all uploaded images (imgscalr) and remove all the unnecessary pulling of files to store on the local server.
Quality of Product
|Area of Interest||Link|
|Testing||User Testing Link|
- For every new function developed, we conduct Internal Testing
- We also conduct Regression Testing
- We planned to complete a total of 3 User Acceptance Testings
- We have conducted a total of 2 User Acceptance Testings - one in Sprint 6 and one in Sprint 11.
To learn more about the UAT: User Testing Link
Venue: SMU SIS GSR 2-2
Date:03 August 2017
Duration: About 30 minutes per user
Number of Participants: 4
- To gather feedback with regards to our User Interface
- To understand any usability problems in the account module, project/ resource module and search modules by observing their behavior
- To improve the account module, project/ resource module and search modules for the web application
- Account Module 1 and 2
- Project Module
- Resource Module
- Search Module
Venue: SMU SOL GSR B1-10
Date: 06 October 2017
Duration: About 30 minutes per user
Number of Participants: 8
- To look at the feedback with regards to our User Interface for the project management module
- To understand any usability problems for the pledging of resource to projects and the use of the project management space observing their behavior
- To improve the ease of pledging resources to projects and use of the project management space in our web application
- Account Module
- Project Request Module
- Resource Request Module
- Project Management Module 1 and 2
Learn more about our application and explore the projects and resources that we have to offer by clicking on the link provided below. Feel inspired to pledge a resource or jumpstart your very own social impact project and make a difference.
Deployed Site Link: http://impactlaunch.space
To better understand the market and the need for our application, we conducted a survey.
Below are some of our key findings:
- 67% of people don’t know of any current online platforms that allow you to offer up your expertise
- There is a good range of both Project Owners (56%) and Resource Offerors (44%)
- Participants were highly interested in multiple social impact causes and those that ranked the highest were: Health Welbeing, Technology and Children’s Support
To view the Data: Market Questionnaire Results
As a team, we have learnt that group synergy and proper communication is very important. Without which it would be difficult to work together to pull through with our various responsibilities to meet deadlines. When communication within the team breaks down, it becomes difficult to continue. This is one of the most important thing, whereby we respect each other and are transparent about any issues, enabling us to work together well.