HeaderSIS.jpg

GenSHYFT Final Term Wiki

From IS480
Jump to navigation Jump to search

GENShYFT IS480 1314 Logo.jpg


Home   Project Overview   Project Management   Documentation   The Team



Project Progress Summary

Deployed Site Link: Actual Site| View Site
Mid-Term Slides: Mid Term Slides


Project Highlights

Changes in Scope

Final Mid-term Acceptance
Temp GENSHYFT IS480 SPCircle7.png Genshyft acceptance scope.jpg

Changes in Requirements (Acceptance to Finals)

Feature Affected Previously Currently Change Management Action
A B C D
A B C D
A B C D
A B C D
A B C D
A B C D
A B C D
A B C D


Project Challenges

Challenges in General : Mid-Terms - Finals

  1. Numbered list item
  2. Numbered list item
  3. Numbered list item
  4. Numbered list item

Project Achievements:

Actual users registered for tournaments
  • At least 93 new users have registered with SingPath and indicated interest in participating in the tournament through our Events Page
  • 70% of the project completed
  • Completed 6 iterations (out of 10 iterations in total)
  • Successfully conducted 1 User Test and 1 Heuristic Evaluation
  • Assisted Client with his Research Paper




Project Management

  • Current Iteration : 7
  • Status : Behind Schedule (details as to why below)

Project Schedule

Plan Vs Actual Timeline

FINAL Mid-term Plan
Genshyft final Timeline Week13.png Genshyft is480 Time line Summary7.1.PNG Genshyft Acceptance timline.jpg


Plan Vs Actual by iterations ( Beginning to End )

Iterations Planned Actual Comments
3 Purpose Driven - First Half 7th Nov - 11th Nov Gathering New Requirements 5th Dec - 12th Dec
  • Team discussed with clients new project scope from acceptance.
Mastery Coaching - First Half 7th Nov - 11th Nov Creation of all paper prototypes 5th Dec - 12th Dec Client sign off prototypes
  • Team was delayed during iteration 3 as we were revising for finals. Iteration 3 started immediately after finals.
4 Purpose Driven - Second Half 22nd Dec Purpose Driven 31st Dec
  • Assigned to Yousof.
  • Member originally assigned was away.(Notification only after acceptance)
  • Function was client top 3 priority.
Mastery Coaching- Second Half 22nd Dec Mastery Based Coaching 31st Dec
  • Assigned to Shanaaz.
  • Member originally assigned was away.(Notification only after acceptance)
  • Function was client top 3 priority.
Group Based Tournament 31st Dec
  • Assigned to Glen.
  • Member originally assigned was away.(Notification only after acceptance)
  • Function was client top 3 priority.
  • Fariq , Wah Chun and Eng Sen were away for December.
  • Each available member had to be in charge of the development of each of the 3 functionalities in parallel in order to meet client's priority.
  • Project Manager and Business Analyst joined in the development temporarily due to a lack of resources.
5 Co-organized event
Hour of Code
23 Dec Purpose Driven 15 Jan
  • Yousof was coding both Purpose Driven and Mastery Based Coaching.
  • Client made changes to UI on the features different from paper prototype.
Recruit Participants for Singpath tournaments 23 Dec Mastery Based Coaching 15 Jan
  • Yousof was reassigned to this as Shanaaz faced difficulties with angularJS.
  • She was tasked to focus on her secondary role as co-PM.
  • Client made changes to UI.
  • Client changed on the requirement of playing Mastery Base Coaching. User must complete a question before to master that question.
Group based tournament 15 Jan
  • Eng Sen was assigned 3rd week of December to assist - requires some time to learn.
  • Tournament which was planned to be held on the start of February was pushed back to 15 Feb, allowing the team to have more time to complete the functionality
  • As Glen was confident that the function was going well, only Eng Sen was assigned to assist.
  • Client wanted a new JSON data structure for tournament instead of re-using client's existing data structure model.
Easy Web Prototyping 15 Jan
  • Fariq and Wah Chun joined on the 29th of December.
  • Both of them were tasked to develop this functionality and seize the opportunity to explore angularJS as much as possible.
  • Client changed Collaborative Mode to Sharing of Codes Mode.
  • Team has several changes in scope by client during this time, mainly for Purpose Driven Coding and Mastery Based Coaching.
  • Tournament group needed to create a brand new JSON data structure to support tournament. Development can continue after data structure is completed. Codes needed to be re-adapted to new data structure.
6 Predictive Analytics - ETL 10th Jan Group based tournament - Create Tournament 9th Feb
  • Client changed the UI and logic flow of Create Tournament.
  • Eng Sen required to make changes to the UI.
  • As the Tournament was coming, this became top priority.
  • Client later postponed Tournament to March which required the team to re-prioritize.
Predictive Analytics - Statistical Application 10 Jan Group based tournament - Join Tournament 9th Feb
  • Glen encountered complication during creation of Join.
  • As competition is coming, this became top priority.
  • Client later postponed Tournament to March which required the team to re-prioritize.
Predict User's School 10 Jan Group based tournament - Live Ranking 9th Feb
  • As Tournament was behind, Fariq was reassigned from Web Development Prototyping to assist Tournament.
  • As competition is coming, this became top priority.
  • Client later postponed tournament to March which requires team to re-prioritize.
Register for Event 9th Feb
  • As date is nearing, our client has a new requirement. To create an Events page.
  • Client deemed this as high priority as currently, there is no means for people to register.
  • Wah Chun was reassigned to this.
  • Client added an Event-Ranking table requirement to display who will get in or get cut off from a particular event.
  • Client added Facebook Share requirement.
  • Client wanted current user's status to be shown requirement.
  • Client later postponed Tournament to March which required the team to re-prioritize.
Mastery Based Coaching 9th Feb
  • Republic polytechnic was interested on this function hence now became Client top priority after change in Tournament Competition date.
  • Client recommended a different JSON data structure.
  • Client change scope. Mastery will now load 1 game. Mastery will not load new game. Mastery will determine the type of improvement user can make.
Purpose Driven 9th Feb
  • Republic polytechnic was interested on this function hence now became Client top priority after change in Tournament Competition date.
  • Client recommended a different JSON data structure.
  • Client change scope. Client wanted a Video-Gallery at the bottom of the page to allow user to see video progress.
Developer's Documentation 9th Feb
  • Client wanted a technical documentation stating the API calls and explanation of codes.
  • Client wanted this ASAP.
  • Shanaaz, who was BA/Co-PM was assigned to do this documentation.
  • Client made several scope changes such as UI, Data structures and New Features. Almost every functionality had changes.
  • Tournament Competition had changed of dates which requires the team to re-prioritize while Client has different priorities along the way.
  • The team decided to put Web Development prototype on hold.

Project Metrics

Click to View Midterm Project Metric

Project Risk

Click to View Mid Term Project Risk

Technical Complexity:

  1. Testing and development is complex since team needs to code and test on 3 different platforms: localhost, development and live SingPath. Hence, higher scaled features like Tournament is complex to deploy. Click here to see SingPath's Deployment Process
  1. Need to compare users' scores from the levels they have practised under Practice section for Mastery-based coaching to measure the user's percentile. These statistics would also be used to find out the user's weak areas, based on the number of attempts with respect to a question and the time taken.

Quality of product

Project Deliverables:

List the artifacts produced for this project. The entire deliverable can be submitted in a separate thumb drive, web repository or place in the IS480 team wiki.

Stage Specification Modules
Project Management Minutes Sponsor Minutes
Minutes Supervisor Minutes
Minutes Group Minutes
Metrics Bug metrics
Metrics Schedule metrics
Requirements Paper Prototypes Paper prototype
Business Requirement Document Requirement Gathering
Analysis and Design Use case Use case
State Diagrams State diagrams
Component Diagram Component diagram
Market Survey Survey
System Architecture Diagram System Architecture Diagram
Testing Test plan Test Plan
User Testing Tests
Handover ( for Mid-term ) Developers Documentation API Documentation (In progress)
Code client server

Quality Attributes

Availability

  • SingPath is hosted on Google App Engine. The cloud infrastructure ensures a high up-time which currently stands at 97.05%. For the latest numbers, please refer to GAE Status Page.

Flexibility

  • The utilization of angularJS enforces a strict MVC architecture that defines clear responsibilities for each component. Business logic can be edited in the controllers without affecting the other components.

Interoperability

  • SingPath uses API calls to the backend server to retrieve data in JSON format. This approach allows for easy exchange and reuse of information with both new and old systems as long as they follow this widely accepted standard.

Usability

  • We will be conducting a total of 5 User Tests to ensure that our application is well received/accepted by the final presentation.
    • After each User Test, we will collate all the feedback and tweak our application to make it even more user friendly.

Scalability

  • Automatic Scalability (Infinitely Scalable) as advertised by GAE
    • "Automatic scaling is built in with App Engine, all you have to do is write your application code and we'll do the rest. No matter how many users you have or how much data your application stores, App Engine can scale to meet your needs." - Google App Engine
  • Tournament
    • Approximately 40 concurrent users will be accessing SingPath at the same time during the Tournament
    • Will be conducting stress/load test prior to the actual Tournament to anticipate potential performance issues and rectify accordingly

Testing:

A total of 1 User Acceptance Test has been completed along with a Heuristic Evaluation. For the UAT there was a total of 15 participants from SMU and the average age of the participants is 21.6 years old. The gender distribution of the participants is quite balanced as well. Participants were given either Tester Package A or Tester Package B. One contained detailed instructions while the other contained scenarios for the participants to follow. The participants were tasked to go through the 3 functionalities which we intended to test for UAT 1, namely - Purpose Driven Coding, Mastery Based Coaching and Events & Ranking. They wrote down the outcomes of the tasks assigned and filled in questionnaire form each which sought both qualitative and quantitative data from them such as programming languages currently known and ratings for Singpath in terms of utility and usability.

The survey results were generally positive, with the majority of the feedback focusing on the user interface more than the functions of the application, an indication that our functions developed are working perfectly and that we have to assign some resource to brush up on the usability aspect.

The bug points generated from the UAT was 7, which was quickly reduced to 1 as the developers were efficient in fixing the errors.

Looking ahead, we have 4 more UATs to go, and with each new test we aim to provide participants with an increasingly enrapturing experience.

For more details - please refer to the GENShYFT Tests Page

Reflection

Team Reflection:

Improved Communication Let it be within the team or with our client, our team has learnt to express their opinions in such a way that the team member or the client would be able to understand. In order to understand what our client exactly wants, we insist on doing up a rough sketch to have a better grasp of what our client wants.

Knowledge Sharing Environment The team has been able to accomplish thus far as members are helpful towards on another if they are unable to solve a critical bug or even understand how to implement certain frameworks or language like AngularJS.

Individual Reflection:

IndReflection midterm GENSHYFT2.jpg