Difference between revisions of "GenSHYFT Mid Term Wiki"
Line 265: | Line 265: | ||
<!--Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.--> | <!--Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.--> | ||
− | ===Project Schedule | + | ===Project Schedule=== |
==== Plan Vs Actual Timeline ==== | ==== Plan Vs Actual Timeline ==== |
Revision as of 01:09, 21 February 2014
Home | Project Overview | Project Management | Documentation | The Team |
Contents
Project Progress Summary
Deployed Site Link:
Mid-Term Slides: Mid Term Slides
Project Highlights:
Changes in Scope
Actual | Planned |
---|---|
Changes in requirements
Feature Affected | Previously | Currently | Change Management Action |
Registration & Tracking | Map that allows user to see the number of players registered with respect to each school. | Added to scope, event ranking for event, display the people who have done mastery based coaching and purpose driven, badges, Events map, badges and levels completed. | This requirement change will be taken into consideration after mid-terms as this requirement is recent (9/2) and team has yet to finish up the minimum requirements |
Mastery-based Coaching | Users would be able to resolve questions that they solved below their average performance in the past | User should redo any question that they have attempted before on the Practice page | This change was implemented as it was still early in the development process. |
Mastery-based Coaching |
Client will provide audio files and text captions for the Coaches |
Client requested team to do up the audio files and text captions for the Coaches either personally or engage in professional services. |
Team decided to do the files up personally instead as it would take longer time if it was done by professionals. This change was implemented as client did not have materials ready yet. |
Mastery-based Coaching |
Pictures of mentors will be images |
Pictures of mentors in animated GIF format |
This feature was taken into consideration as this was UI fix but requirement change was not of high importance |
Mastery-based Coaching |
On landing page, player select mentor, language and difficulty. Player will select as such for each Mastery coaching session. |
On landing page, player only selects mentor and language. User does not need to select the difficulty. |
This feature was taken into consideration as team was in the midst of developing this feature and it was of utmost priority since client wanted to show it to RP and IDA |
Mastery-based Coaching |
This option did not exist when signing off prototype View Paper Prototype |
Client wants an admin page for Mastery-based coaching |
This feature was not taken into consideration as team tried to develop it and realise feature is too complex to implement. |
Mastery-based Coaching |
When user starts the Mastery coaching session, user will be starting a new session |
For each question,a new Mastery coaching session is launched. |
This requirement change will be taken into consideration after mid-terms as this requirement is recent (9/2) and team has yet to finish up the minimum requirements |
Purpose Driven Development | UI discussed as such in prototype View Paper Prototype |
UI changed after prototyping, client changed position of video and feedback. The buttons for the options to answer the feedback has been changed from slider to radio button and as of recent (9/2) normal button. |
This change was implemented as it was mostly a UI issue. |
Purpose Driven Development |
This option did not exist when signing off prototype |
Client wants a video gallery below (on the page that the user is viewing the video). It would indicate which videos are locked and unlocked. This translated into a change in the data structure. |
This change is implemented because team assessed the requirement change and realised it would make sense for the video gallery to appear so that player knows the videos he has unlocked so far. |
Purpose Driven Development |
No Admin page was discussed during the paper prototype sign off |
Client wants an Admin page where he can manage the videos to upload on the Purpose page. He wants to be able to copy and paste the link, description of the video, survey question for each video and thumbnail image of the video. |
This feature was taken into consideration as team tried to develop it and realised feature is not too complex to implement |
Purpose Driven Development |
Client wanted to have a landing page where user can select unlocked to video to watch. |
Client does not want a landing page. He wants an indication on the video gallery which was the last watched video. This would result in a change in data structure |
This requirement change will be taken into consideration after mid-terms as this requirement is recent (9/2) and team has yet to finish up the minimum requirements |
Group-based Tournament |
Team could use client's existing data structure for Tournament. |
Client wants team to create a new heat so that tournament game information is not attached to the rounds but to the heat instead. |
Taken into consideration. Did not affect team's development progress. |
Group-based Tournament |
Team could use client's existing data structure for Tournament. |
Client wants team to create a new heat so that tournament game information is not attached to the rounds but to the heat instead. |
Taken into consideration. Did not affect team's development progress to a large extent. |
Group-based Tournament |
Tournament feature (existing) used to make calls to different APIs |
Tournament feature now called to one API which the team created. |
Taken into consideration. This did not affect team's development progress to a large extent and team thought it was wise to have this feature call to one API |
Group-based Tournament - Create Tournament |
Team discussed with client regarding the UI of this page using paper prototypes |
Client wants team to follow the page layout of an older version of SingPath |
Team first attempted Client's suggestion and realised it was possible to implement this change as it focused more on UI |
Group-based Tournament - Live Ranking |
'Country' field on the live ranking page |
Remove 'country' field and add 'last solved time' |
This requirement change will be taken into consideration after mid-terms as this requirement is recent (9/2) and team has yet to finish up the minimum requirements |
Events Registration | SingPath users would be able to request for an event by SingPath, Sponsorship Collaboration or Donate to SingPath. (Initially secondary feature) |
Client wants Events to be where users would be able to sign up for a tournament. |
This affected manpower allocation to a large extent. |
Events Registration |
Platform for participants to join and database will take note of who has signed up. |
Include a table that shows the number of students registered, school they are from, who is coming for the event, rank them according to the problems solved,back button to return to Events Registration page, Top 50 with a cutoff line at 40, Facebook share button, highlight current player, always put the current player in the bottom row and if current player is not in top 50, don't show their rank. They should be able to see how many problems they are away from moving ahead of number 50. |
This requirement change was taken into consideration as team was in the amidst of coding the feature. |
Project Challenges:
Challenges in General:
- New coding language; Team had to learn AngularJS to start developing the features
- No one on the team had prior experience with AngularJS, as such the team spent the December holidays to understand how to develop in AngularJS and this was done in tandem with the development of their assigned features
- Needed to understand and debug some of the existing codes
- This was a bottleneck to some of our features like Mastery-based Coaching; we decided to solve the codes that impacted our development progress
- Meeting Client’s KPI (i.e. Get 80 users to register on SingPath by Feb 22)
- Had to develop an Events Registration page, previously a secondary feature, where students can sign up in order for the team to hit this goal
- Need to understand SingPath Architecture
- Before development started, team needed to understand how their developed features could be pushed to the live website hence a meeting with the client was set-up to have a better insight on this.
- Changing requirements (as seen above)
- Action taken is mentioned in the table above
- Limited access to back-end server
- Team liaised with client whenever team is ready to deploy features on to the live website
Project Achievements:
- 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
Actual | Plan |
---|---|
Plan Vs Actual by iterations
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 |
| |||
| |||||
Project Metrics
Click to View the Latest Schedule and Bug Metrics
Project Risk
Click to View Mid Term Project Risk
Technical Complexity:
- Some features were dependent of existing codes. However, some of those codes were buggy. As a result, the team had to trace
through the existing codes and remove all problems before we could proceed with ours. Having no reference to documentation or understanding of previous codes increase the difficulty of finding bugs.
- Duplicate a legacy system that the client wanted without having any real reference to its function,features or codes until much later.
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 Infinite Scalability of Google App Engine
- According to Google, no matter how many users you have or how much data your application stores, App Engine can scale to meet any need
- Tournament
- Approximately 40 concurrent users will be accessing SingPath concurrently during the Tournament
- Will be conducting stress/load test prior to the actual Tournament to anticipate potential performance issues and rectify accordingly
Quality of product
Provide more details about the quality of your work. For example, you designed a flexible configurable system using XML.config files, uses Strategy Design Pattern to allow plugging in different strategy, implement a regular expression parser to map a flexible formula editor, etc.
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 | |
Architecture Diagram | Architecture Diagram | |
Testing | Test plan | Test Plan |
User Testing | Tests | |
Handover ( for Mid-term ) | Developers Documentation | API Documentation (In progress) |
Code | client server |
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
Compile common lessons and reflection for the team and for each team member. Be brief.
Team Reflection:
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 and linked here.
Individual Reflection:
Describe in a paragraph, the key areas of learning or improvement. These should be personal areas of growth or learning. Each individual should list his/her effort, responsibility, actual contributions and personal reflection. Do not repeat team project contributions or member roles. Link if necessary.
Sponsor Comment:
Sometimes, the client writes a report to feedback on the system; this sponsor report can be included or linked from here.