Difference between revisions of "GenSHYFT Final Term Wiki"
(35 intermediate revisions by 4 users not shown) | |||
Line 28: | Line 28: | ||
Deployed Site Link: [http://www.singpath.com Actual Site|<b> View Site </b>] <br/> | Deployed Site Link: [http://www.singpath.com Actual Site|<b> View Site </b>] <br/> | ||
− | Final-Term Slides: [[Media: | + | Final-Term Slides: [[Media:Final_GEnshyft_Slides2.pdf |Final Term Slides]] |
<!--Place your Final slides link and deployed site link here--> | <!--Place your Final slides link and deployed site link here--> | ||
Line 47: | Line 47: | ||
! Final !! Mid-term !! Acceptance | ! Final !! Mid-term !! Acceptance | ||
|- | |- | ||
− | | | + | | [[Image:GENSHYFT_IS480_SPCircle_Final.png|475px]] ||[[Image:GENSHYFT_IS480_SPCircle7.png|475px]] ||[[Image:Genshyft acceptance scope.jpg|600px]] |
|} | |} | ||
</center> | </center> | ||
Line 137: | Line 137: | ||
===Project Challenges=== | ===Project Challenges=== | ||
− | ==== | + | ==== From Mid-Term to Finals ==== |
− | # | + | {| class="wikitable" |
− | # | + | |- |
− | # | + | ! S/N !! Challenge !! Consequence !! Action |
− | # | + | |- |
+ | | 1 | ||
+ | || Client often made changes to the team's scope. | ||
+ | || | ||
+ | # Caused delays in iterations | ||
+ | # Team had to consistently re-adjust priorities and resources | ||
+ | # Had to understand if requested changes were within scope or not | ||
+ | || | ||
+ | # Project manager discussed with client to fully understand the requirements | ||
+ | # Convinced client the additional requests he had were not necessary and would not affect the success of this project | ||
+ | # Team logged changes that the client requested and documented the action taken | ||
+ | # 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. | ||
+ | || | ||
+ | # Team used e-mail to keep track of bugs, stories and other requests from client and our external stakeholders, including our live users. | ||
+ | # As a result, team members did not know which bug they had to respond to. | ||
+ | # Team also needed to consolidate the changes the client requested to determine which ones are relevant or non-essential to the scope. | ||
+ | || | ||
+ | # Adopted Pivotal Tracker | ||
+ | # Client can assign stories or bugs | ||
+ | # Project manager will look through the stories and respond accordingly. (Accept/reject/clarify) | ||
+ | # Centralized system to communicate | ||
+ | |- | ||
+ | | 3 | ||
+ | || Unexpected disagreement with external stakeholders | ||
+ | || | ||
+ | # Team met up with external stakeholder to teach faculty about team's features. | ||
+ | # External stakeholder had different expectations and was disappointed in both team and client. | ||
+ | # Team asked external stakeholder for their specific expectations | ||
+ | || | ||
+ | # Team talked to Supervisor and client | ||
+ | # Followed instructions and told client how we can meet external stakeholder in the middle | ||
+ | # Completed requested feature and asked client to liaise with external stakeholder | ||
+ | |} | ||
===Project Achievements:=== | ===Project Achievements:=== | ||
Line 542: | Line 578: | ||
|| | || | ||
* Problem Contribution Feature is no longer in our scope. | * Problem Contribution Feature is no longer in our scope. | ||
− | * <span style="color:red"> UT 2 was conducted in Dr. Boesch Class in an attempt to do a User | + | * <span style="color:red"> UT 2 was conducted in Dr. Boesch Class in an attempt to do a User Test (Load Test) before the actual IDA Secondary Tournament</span> |
|- | |- | ||
Line 552: | Line 588: | ||
|| | || | ||
* Conducted UT with 20 Secondary School students from various school in Singapore. | * 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 <b> IDA. </b> | * UT/Tournament was proudly supported by <b> IDA. </b> | ||
|- | |- | ||
|- | |- | ||
− | || UT 4 - with JC/POLY Competition | + | || UT 4/5 - with JC/POLY Competition |
|| 29th March | || 29th March | ||
|| UT 4 - With JC Morning Competition (Paypal) | || UT 4 - With JC Morning Competition (Paypal) | ||
Line 562: | Line 599: | ||
|| | || | ||
* The UT/Tournament will be held specific for JC students only. | * 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 <b> Paypal | + | * UT/Tournament was proudly supported by <b> Paypal</b>. |
|- | |- | ||
Line 573: | Line 610: | ||
|| | || | ||
* The UT/Tournament will be held specific for Poly students only. | * 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 <b> Paypal | + | * UT/Tournament was proudly supported by <b> Paypal</b>. |
|- | |- | ||
Line 582: | Line 619: | ||
|| | || | ||
|| | || | ||
− | || <span style="color:green"> <b> Value Added Service </b> | + | || <span style="color:green"> <b> Value Added Service </b> New Landing Page Design with Preference Testing</span> |
|| 29th March | || 29th March | ||
||<span style="color:green"> | ||<span style="color:green"> | ||
* Client wants a way to improve the stickiness and appeal of the website. | * Client wants a way to improve the stickiness and appeal of the website. | ||
− | * Based on the team's research, the team created a new | + | * Based on the team's research, the team created a new landing page in order to <b> improve overall user's impression of Singpath </b>. |
− | * | + | * Preference test was conducted to find out users' preference. |
− | * | + | * 64 users were involved in the preference test. |
<span> | <span> | ||
|- | |- | ||
Line 708: | Line 745: | ||
|- | |- | ||
− | |rowspan=" | + | |rowspan="1"| Testing |
− | + | ||
− | || | + | || User Test Plan |
− | |||
− | |||
|| [[IS480_Team_wiki:_2013T2_GENShYFT_Documentation_User|Tests]] | || [[IS480_Team_wiki:_2013T2_GENShYFT_Documentation_User|Tests]] | ||
|- | |- | ||
− | |rowspan="2"| Handover | + | |rowspan="2"| Handover |
|| Developers Documentation | || Developers Documentation | ||
− | || [[Media: | + | || [[Media:GENShYFT_API_Doc2.pdf|API Documentation]] |
|- | |- | ||
Line 731: | Line 766: | ||
===Quality Attributes=== | ===Quality Attributes=== | ||
====Availability==== | ====Availability==== | ||
− | * SingPath is hosted on Google App Engine. The cloud infrastructure ensures a high up-time which currently stands at | + | * 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 [https://code.google.com/status/appengine GAE Status Page]. |
====Flexibility==== | ====Flexibility==== | ||
Line 754: | Line 789: | ||
===Testing:=== | ===Testing:=== | ||
− | # | + | '''Regression Test'''<br /> |
− | # | + | 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.<br /><br /> |
− | # | + | |
− | # | + | 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<br /> |
− | # A/ | + | <br /> |
+ | |||
+ | '''User Test'''<br /> | ||
+ | We employed a variety of evaluation techniques learnt from IS306 class the previous semester. The evaluation tests that we administered include the following methods: | ||
+ | # Lab Experiment | ||
+ | # Heuristic Evaluation | ||
+ | # Field Study | ||
+ | # Sample Survey | ||
+ | # Judgement Study | ||
+ | # [http://www.intuitionhq.com/blog/2011/04/ab-and-preference-testing-for-usability Preference Test]<br /> | ||
+ | |||
+ | |||
+ | 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.<br /> | ||
+ | |||
For more details - please refer to the [[IS480_Team_wiki:_2013T2_GENShYFT_Documentation_User|GENShYFT Tests Page]] | For more details - please refer to the [[IS480_Team_wiki:_2013T2_GENShYFT_Documentation_User|GENShYFT Tests Page]] | ||
Line 765: | Line 820: | ||
<!--Compile common lessons and reflection for the team and for each team member. Be brief.--> | <!--Compile common lessons and reflection for the team and for each team member. Be brief.--> | ||
===Team Reflection:=== | ===Team Reflection:=== | ||
− | |||
− | + | [[Image:Genshyft-finalreflection.png |600px]] | |
− | + | ||
<!--Key lessons learned – indicating where the team improved, or would do things differently next time. You may refer to the learning outcome summary in your proposal. A very short checklist style will suffice. It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.--> | <!--Key lessons learned – indicating where the team improved, or would do things differently next time. You may refer to the learning outcome summary in your proposal. A very short checklist style will suffice. It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.--> | ||
===Individual Reflection:=== | ===Individual Reflection:=== | ||
− | [[Image: | + | [[Image:Genshyft-finalLO1.png |800px]] |
+ | <br><br> | ||
+ | [[Image:Genshyft-finalLO2.png |800px]] | ||
Latest revision as of 10:32, 21 April 2014
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 |
---|---|---|
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:
|
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. |
|
|
2 | Disorganised mode of communication between team, client and external stakeholders. |
|
|
3 | Unexpected disagreement with external stakeholders |
|
|
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 |
---|---|---|
Plan Vs Actual by iterations ( Beginning to End )
Mid-terms up to Iterations 7 only.
- Change Request
- Value Added Willingly
- Regular Remark.
Iterations | Planned | Actual | Comments | ||
3 | Purpose Driven - First Half | 7th Nov - 11th Nov | Gathering New Requirements | 5th Dec - 12th Dec |
|
Mastery Coaching - First Half | 7th Nov - 11th Nov | Creation of all paper prototypes | 5th Dec - 12th Dec | Client sign off prototypes | |
| |||||
4 | Purpose Driven - Second Half | 22nd Dec | Purpose Driven | 31st Dec |
|
Mastery Coaching- Second Half | 22nd Dec | Mastery Based Coaching | 31st Dec |
| |
Group Based Tournament | 31st Dec |
| |||
| |||||
5 | Co-organized event Hour of Code |
23 Dec | Purpose Driven | 15 Jan |
|
Recruit Participants for Singpath tournaments | 23 Dec | Mastery Based Coaching | 15 Jan |
| |
Group based tournament | 15 Jan |
| |||
Easy Web Prototyping | 15 Jan |
| |||
| |||||
6 | Predictive Analytics - ETL | 10th Jan | Group based tournament - Create Tournament | 9th Feb |
|
Predictive Analytics - Statistical Application | 10 Jan | Group based tournament - Join Tournament | 9th Feb |
| |
Predict User's School | 10 Jan | Group based tournament - Live Ranking | 9th Feb |
| |
Register for Event | 9th Feb |
| |||
Mastery Based Coaching | 9th Feb |
| |||
Purpose Driven | 9th Feb |
| |||
Developer's Documentation | 9th Feb |
| |||
| |||||
7 | UT | 15th Feb | UT | 11th Feb |
|
Mid-Term Preparation | - | Mid-Term Preparation | - |
| |
Events | 17th Feb | Events | 11th Feb |
| |
Group Based Tournament | 14th Feb | - | - |
| |
Mastery Based Coaching | - |
| |||
| |||||
8 | Map and Registration ( new Features) | 28th Feb | Resolving Map Issues | 28th Feb |
|
Easy Web Prototyping | 3rd March |
| |||
Wed Development Games | 10th March | Wed Development Games | 3rd March |
| |
Events (Create & RSVP) | 23rd Feb | Events (Create & RSVP) | 23rd Feb |
| |
Group based Tournament ( Mentor Assignment and Live Ranking ) | 23rd Feb | Group based Tournament ( Mentor Assignment and Live Ranking ) | 23rd Feb |
| |
Value Added Service Recruiting of Students for Live-Tournament Event (UT) |
| ||||
| |||||
9 | Easy Web prototyping | Wed Development Games. |
| ||
Problem Contribution | UT 2 - IS429 Cloud Computing Class | 19th March |
| ||
UT 3 - With Secondary School( IDA ) | 21st March | UT 3 - With Secondary School( IDA ) | 21st March |
| |
UT 4/5 - with JC/POLY Competition | 29th March | UT 4 - With JC Morning Competition (Paypal) | 29th March |
| |
UT 5 - With POLY Afternoon Competition (Paypal) | 29th March |
| |||
Value Added Service New Landing Page Design with Preference Testing | 29th March |
| |||
Value Added Service Discussion with RP on using Singpath | Across Iterations |
| |||
Debugging Group based tournament(All) | Across Iterations | Debugging Group based tournament(All) | Across Iterations |
| |
|
Project Metrics
Project Risk
Technical Complexity:
- 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
- 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:
- Lab Experiment
- Heuristic Evaluation
- Field Study
- Sample Survey
- Judgement Study
- 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:
Individual Reflection: