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
Final-Term Slides: Final Term Slides


Project Highlights

Changes in Scope

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

Change Logs (Mid to Finals)

Date Feature Affected Previously Currently Change Management Action
26/03/2014 Tournament Not part of scope Create a CSV file format that would include Tournament and Round details The team received a list of requirements from client's client. Due to agreed upon requirements and team's limited time, team decided to complete this requirement. Team would have to allocate time to complete this.
26/03/2014 Tournament Not part of scope Include tournament collaborator feature in the Tournament feature. This is so that client's client would have the school directors be able to have a higher control over the tournament. The team received a list of requirements from client's client. Due to agreed upon requirements and team's limited time, team decided to complete this requirement. Team would have to allocate time to complete this.
11/03/2014 Events When sharing the Ranking page under Events feature via Facebook, those who click on the Ranking page link will only view Ranking for that Events and would not know what the Ranking is for. Client wants to add "I'd like to participate" and other buttons on the Ranking page so that those who access the shared link would know it is an event that they themselves might want to join, watch or keep updated about. As this is a UI change, this will be taken into consideration
11/03/2014 Events No check box available to send RSVP to those who signed up for Tournament at one shot. Client wants check box option "Select All" that let's school facilitators to send RSVP to all the students in an event. As this is a UI change, this will be taken into consideration
09/03/2014 Mastery Based Coaching Client wanted 10 questions per game. Now Client wants 1 question per game. Logic will follow as such:
  1. Click Next problem
  2. New single problem game gets created
  3. Click run to solve problem
  4. Repeat until problem solved or player clicks "Skip Problem"
  5. Clear all boxes once game is over and wait for next problem to be pressed
As this is a major change in logic, team will only take into consideration a part of the change like taking the response per question and push it into the database
04/03/2014 Registration & Tracking Map that allows user to see the number of players registered with respect to each school. Event ranking for event, display the people who have done mastery based coaching and purpose driven, badges, Events map, badges and levels completed. This feature will be dropped. The team realised that the scope of this change is of a large scale and it would be best for the team to focus on polishing the current feature instead of trying to add on top of the existing feature.
04/03/2014 Easy Web Prototyping To do up a single page to implement simple Plunkr code. Save the text that people put in one box and insert it into an iFrame that renders it as a web page. Client changed feature name to 'Portfolio'. This feature will be dropped. The team realised that the scope of this change is of a large scale and it would be best for the team to focus on polishing the current features instead of adding new features
04/03/2014 Web Dev Games To do up two modules, HTML and AngularJS on Practice page for users to learn. The games will be similar to Easy web prototyping by having live rendering of the codes as user codes. Client wanted users to code out HTML, JS and CSS file. There will no longer be multiple files. Instead, the feature will be implementing E2E (End to End) testing. Team took this requirement change into consideration since the task is deemed doable with team's current resources (sufficient time, manpower available, etc.)

Project Challenges

From Mid-Term to Finals

S/N Challenge Consequence Action
1 Client often made changes to the team's scope.
  1. Caused delays in iterations
  2. Team had to consistently re-adjust priorities and resources
  3. Had to understand if requested changes were within scope or not
  1. Project manager discussed with client to fully understand the requirements
  2. Convinced client the additional requests he had were not necessary and would not affect the success of this project
  3. Team logged changes that the client requested and documented the action taken
  4. Discussed and agreed on a direction.(Removed Wed Prototyping, Problem Contribution and Map Registration)
2 Disorganised mode of communication between team, client and external stakeholders.
  1. Team used e-mail to keep track of bugs, stories and other requests from client and our external stakeholders, including our live users.
  2. As a result, team members did not know which bug they had to respond to.
  3. Team also needed to consolidate the changes the client requested to determine which ones are relevant or non-essential to the scope.
  1. Adopted Pivotal Tracker
  2. Client can assign stories or bugs
  3. Project manager will look through the stories and respond accordingly. (Accept/reject/clarify)
  4. Centralized system to communicate
3 Unexpected disagreement with external stakeholders
  1. Team met up with external stakeholder to teach faculty about team's features.
  2. External stakeholder had different expectations and was disappointed in both team and client.
  3. Team asked external stakeholder for their specific expectations
  1. Team talked to Supervisor and client
  2. Followed instructions and told client how we can meet external stakeholder in the middle
  3. Completed requested feature and asked client to liaise with external stakeholder

Project Achievements:

  • Successfully conducted 1 User Test and 1 Heuristic Evaluation By Mid Term
  • At least 150 new users have registered with SingPath and indicated interest in participating in the tournament through our Events Page
  • Conducted Actual Tournament for Secondary (21/3) , Polytechnic(29/3) and JC students(29/3). A total of 94 participants ( Sponsored by IDA & PayPal )
  • Successfully conducted 1 User Test as part of IS429 Cloud Computing lesson with 40 SIS students. (19/3).
  • Conducted A/B Split Test (29/3) with 74 students to determine if original or our improved homepage will give better experience.
  • At leas 2 Research paper by client relating to our work.




Project Management

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 )

Mid-terms up to Iterations 7 only.

  1. Change Request
  2. Value Added Willingly
  3. Regular Remark.


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.
7 UT 15th Feb UT 11th Feb
  • We moved forward the testing because more people were available on the 11th as opposed to 15th.
Mid-Term Preparation - Mid-Term Preparation -
  • The Slides and Wiki was updated throughout this iterations.
Events 17th Feb Events 11th Feb
  • As we agreed that events will be one of the feature presented during the presentation, we needed to re-arrange certain task in order to to make time for testing of the events feature. Our mid-term presentation drew the earlier slot, hence team just re-prioritise the task within the same iterations. Only what was completed for events was tested.
Group Based Tournament 14th Feb - -
  • There was some hold-back due to the API web service. As we are dependent on our client with this aspect, we decided to just push it to the next iteration as we are subjected to our client's availability. What we can do was to simulate it on a local server, until the client's server is up, there is not much point merely waiting. We decided to use the time to better prepare for our mid-term.
Mastery Based Coaching -
  • Before Mid-term, the client changed from single problem game to 10 problem games. However, this time, he realized that he requires each game to be created separately (back-end) while functon the same(front-end) in order for him to derive the necessary data for his research. The data derived from this feature is Valuable for our client's current research progress.
  • This change was evaluate careful and an impact analysis was done.Yousof code was initially designed for single problems, It took in a day of free time to revert part to the previous logic. We were still able to continue the iteration as per normal.

  • Team pushes the UT earlier as we drew the earlier time slot of Mid-terms.
  • Focuses on what we aimed and was required to present for mid-terms.
  • Delays was on client's web service, hence nothing much the team could do.
8 Map and Registration ( new Features) 28th Feb Resolving Map Issues 28th Feb
  • Initially the Map and registration works fine. However, due to an upgrade to the server, this function suddenly stopped working, the team had to resolve incompatibilities issues with Google Maps and our client's server.
  • There were several issues that our client wanted to change. However, after mid-term, we had a discussion about proper prioritization. Client has agreed to remove these new requirements.
Easy Web Prototyping 3rd March
  • There were several issues that our client wanted to add. However, after mid-term, we had a discussion about proper prioritization. Client has agreed to remove these requirements.
Wed Development Games 10th March Wed Development Games 3rd March
  • As our client agreed to drop Easy Web Prototyping, the time for the previous function was given to Wed Development Games.
  • After thorough analysis of what our client needs, the complexity may be higher than what we had planned for, hence the additional time is user to offset any possible delays or complication for this function
Events (Create & RSVP) 23rd Feb Events (Create & RSVP) 23rd Feb
  • Create was completed but there was a delay with the RSVP with regards to the client's Web service. However, given the buffer, it was still completed within the iterations.
  • Client wants check box option "Select All" that let's school facilitators to send RSVP to all the students in an event. The team acknowledge that this add on will improve the overall user experience. The team accepted this change which is merely a UI edit.
  • Client will like to display Events - details at the top of events ranking


Group based Tournament ( Mentor Assignment and Live Ranking ) 23rd Feb Group based Tournament ( Mentor Assignment and Live Ranking ) 23rd Feb
  • As the team completed most of the content only localhost, the team here merely require to make changes and test the system as it goes life.
  • Majority of the function work accordingly to plan upon transferring to live server, better than anticipated.
Value Added Service Recruiting of Students for Live-Tournament Event (UT)
  • On the side line, the team assisted our client by making his Live-Tournament event bigger by contacting various institutions.
  • The team spoke to NP , TP ,DMHS and NJC representative and got them to took part in the Live-Tournament.
  • This was not a change request by our client, but move allows us to conduct our UT with more user while adding more value to our client. ( Win-Win)
  • Team took personal time to do this.

  • Maps and Registration were to be put to its original working state.
  • Easy web prototyping is no longer client's key priority.
  • Minor UI changes for Events and logical changes for Mastery-based coaching ( After impact analysis )
9 Easy Web prototyping Wed Development Games.
  • Easy Web prototyping Feature is no longer in our scope.
  • Adjustment and enhancement to Wed Development games as client has prioritize this over Easy Web Prototyping.
Problem Contribution UT 2 - IS429 Cloud Computing Class 19th March
  • Problem Contribution Feature is no longer in our scope.
  • UT 2 was conducted in Dr. Boesch Class in an attempt to do a User Test (Load Test) before the actual IDA Secondary Tournament
UT 3 - With Secondary School( IDA ) 21st March UT 3 - With Secondary School( IDA ) 21st March
  • Conducted UT with 20 Secondary School students from various school in Singapore.
  • A total of 111 students registered for this event, and the top 20 students (based on number of Singpath questions solved) were invited to participate in the tournament.
  • UT/Tournament was proudly supported by IDA.
UT 4/5 - with JC/POLY Competition 29th March UT 4 - With JC Morning Competition (Paypal) 29th March
  • The UT/Tournament will be held specific for JC students only.
  • A total of 85 students registered for this event, and the top 40 students (based on number of Singpath questions solved) were invited to participate in the tournament.
  • UT/Tournament was proudly supported by Paypal.
UT 5 - With POLY Afternoon Competition (Paypal) 29th March
  • The UT/Tournament will be held specific for Poly students only.
  • A total of 82 students registered for this event, and the top 40 students (based on number of Singpath questions solved) were invited to participate in the tournament.
  • UT/Tournament was proudly supported by Paypal.
Value Added Service New Landing Page Design with Preference Testing 29th March
  • Client wants a way to improve the stickiness and appeal of the website.
  • Based on the team's research, the team created a new landing page in order to improve overall user's impression of Singpath .
  • Preference test was conducted to find out users' preference.
  • 64 users were involved in the preference test.

Value Added Service Discussion with RP on using Singpath Across Iterations
  • Spoke to Republic Polytechnic with regards to using Singpath for their curriculum.
  • Demonstrated system to Republic polytechnic Lecturers, Problem crafters and Modules Chair in their campus.
  • Did a user study on RP Teach Requirements needs and handed over to our client so that he could have a better idea on how to work with them
  • Suggested a CSV format as a quick fix solution to RP specific needs.

Debugging Group based tournament(All) Across Iterations Debugging Group based tournament(All) Across Iterations
  • This was scheduled as we expect high rates of Bugs discovered for UTs

  • As a respond to RP, Tournament can have 1 creator, but multiple collaborators ( who has similar rights to its creators ).


  • Multiple UTs to ensure best for users.
  • Additional service to improve value for our client.
  • Bugs count were high but extended debugging session was scheduled to mitigate this.

Project Metrics

Click to View Project Metric

Project Risk

Click to View 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 User Test Plan Tests
Handover Developers Documentation API Documentation
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 99.3%. 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:

Regression Test
Adhering to the advice given by reviewers during Mid Term Review, we decided to write scripts to automate Regression Testing. We approached this by leveraging on the Automated Testing capabilities of Singpath and further extended it.

Although there are many different ways to implement the scripts for automated testing, we have decided on the one that is the most cost-effective in terms of resources required - E2E test

User Test
We employed a variety of evaluation techniques learnt from IS306 class the previous semester. The evaluation tests that we administered include the following methods:

  1. Lab Experiment
  2. Heuristic Evaluation
  3. Field Study
  4. Sample Survey
  5. Judgement Study
  6. Preference Test


Summary of all the tests done:

  • A total of 5 tests has been conducted so far, out of the 5 tests, 4 were conducted with live users utilizing Singpath on actual use cases.
  • First test confirmed that our usability was on the right track, subsequent tests serve to refine our core functionality - Group Based Tournaments.
  • Provided solid value added-ness to our client by ensuring that the live tournaments were able to progress smoothly (which it did).
  • Minor hiccups observed during tournaments were resolved by the subsequent tournament(s).
    • A mischievous student tried to mess up our UI by setting his name to a long String, an incident which we immediately rectified by limiting text input as well as text display.
    • We found out that tournament participants were not clicking on the button to confirm that their assigned mentor has arrived, to mitigate that we have included a non-intrusive prompt.
  • Recognizing the importance of an attractive landing page, we decide to value add to the project by coming up with a new UI for the landing page and conducted a Preference Test to find out which landing page they prefer; an overwhelming majority chose our newly redesigned one which is now shown in the Live Site of Singpath.


For more details - please refer to the GENShYFT Tests Page

Reflection

Team Reflection:

Genshyft-finalreflection.png


Individual Reflection:

Genshyft-finalLO1.png

Genshyft-finalLO2.png