IS480 Team wiki: 2015T2 6Sigma final wiki
- 1 Documents
- 2 In A Nutshell
- 3 Project Management
- 4 Changes in Scope
- 5 Project Metrics
- 6 Team's Metrics
- 7 Risks
- 8 Technical Complexity
- 9 Learning Outcomes
In A Nutshell
|1||Student Module||CRUD Student Profile||Allows students to CRUD their profiles.||1||-|
|Team Module||CRUD Team Profile||Allows a student to CRUD a team profile.||1||-|
|CRUD Team member||Allows a student to CRUD team members.||1||-|
|General Module||SSO||Allows all users with SMU domain credentials to login to the system.||1||Initially faced some issue configuring the SSO to suit our application, but it was resolved quickly.|
|2||Faculty Module||CRUD Faculty||Allows faculty to CRUD their profiles.||1||-|
|Sponsor Module||CRUD Accounts||Allows new sponsors to request an account and propose a project.||1||-|
|Login||Allows external sponsors to login as they do not have SSO accounts.||1||-|
|3||Project Module||CRUD Projects||Allows sponsors to CRUD projects for students to take||1||-|
|4||Project Module||CRUD Project Teams||Allows sponsor to approve or reject teams for their projects.||1||-|
|Team Module||CRUD Project Status||Allows the course coordinator/supervisor to update the status of the team’s project. (i.e. accepted or rejected)||1||-|
|Coordinator Module||CRUD Term||Allows the Course Coordinator to CRUD terms in the system.||1||-|
|5||Faculty Module||Assign Supervisor/Reviewer to Team||Allows Course Coordinator to a specific supervisor and assign him to a specific team manually.||1||-|
|Coordinator Module||Suspend Team||Suspend the team users so that they will not be a nuisance to the other users. Team will be unsuspended once the Course Coordinator deemed its ok. There is a user status attached to all the users (active/ suspended) which is only viewable by the admin.||1||-|
|Coordinator Module||Assign Sponsor Role||Course coordinator can assign sponsor roles to faculty.||1||-|
|6||Project Module||Request Project Approval||Allows students to request the sponsor to accept the team for the project.||1||-|
|Team Module||CRUD Proposal/Mid- Term/Final Review||Allows course coordinators, supervisors, reviewers and sponsors to add their proposal/mid-term/final reviews||1||-|
|Project Module||CRUD Project Details/Documents||Allows team to use the website as a replacement for wiki for their project.||1||-|
|7||General Module||Download statistics||User must be able to download IS480 statistics.||1||-|
|Search Module||Search Student / Faculty / Project / Sponsor / Team||Search for Student / Faculty / Project / Sponsor / Team based on what user entered into the search bar so that he can retrieve the information||1||-|
|8||General Module||Generation of Email to Sponsors||Generate an email to sponsor upon signing up for the system||1||-|
|9||Analytics Module||Cosine Similarity Index||Use of algorithm to find out the similar teams in IS480 based on Technologies Used, Industries and Project Type.||1||-|
|10||General Module||View Statistics||Displaying of statistics through the use of NVD3 Charts||1||-|
|Logging||Logging of important information for accountability purposes||1||-|
Issues Faced And Reasons for Change in Schedule
|Issues||Solution||Mitigation towards schedule|
|Previously, we had resource files (File containing end points) which separated the different roles from their business functions (Eg: Faculty's business functions on teams were classified into FacultyTeamResource). this did not conform the the REST API standards, and resulted in repeated codes.
This resulted in many different resource files, and it was difficult to trace code and fix bugs, resulting in delay. This has also frustrated a lot of teammates.
|It was decided for all business functions to be grouped together under a same resource file, with different roles executing different tasks through the use of If-Else blocks. Eg: Functionalities involving teams would be classifed under TeamResource.||This resulted in a delay of 2 days. As we previously had an increase in buffer day from iteration 3, this resulted in a deduction of 2 days from our buffer.|
|Our team was still new to the technology of JPA, and we developed our business logics in the resource files.
This resulted in repeated codes.
|After researching on the best practices online, we discovered that business logics were best to be encapsulated in the service files, in order to achieve a Service Oriented Architecture. This resulted in refactoring of business logics into the service files.|
|Issues||Solution||Mitigation towards schedule|
|Although we have finished the main functionalities required according to our sponsor’s requirements, our sponsors suggested many usability improvements which we tried to cater to. As a result, we found ourselves working harder and harder. This is a significant signal of a creep of scope. Moreover, our supervisor Prof. Chris Boesch reminded us that the ultimate aim of the system should be to benefit all stakeholders.
After much discussion with sponsors during the sponsor test on 16th Jan 2015, Fiona has suggested to the team that it would be advisable for the team to remove functions which are of less priority and without much value add such that more can be achieved by focusing on the core functionalities / functionalities with the most value add.
|In order to find out whether this would be much of a value add to our main target users (Students), our team has actually conducted a survey and we’ve summarized the results in the surveys page HERE||6Sigma has decided to remove CRUD Comments, iterations from our project scope,|
|Issues||Solution||Mitigation towards schedule|
|After a series of user tests (Student and Faculty) conducted on 28 - 30th Jan, our team realized that usability was a huge issue to all of our stakeholders. Most of our users found that our fonts and colors were difficult to read, functionalities were difficult to find as they were not intuitively displayed.||While our team understand that it would not be feasible to develop a UI which suits the needs of all members in the IS480 Community, we decided to research more about the best practices of UI Designing. Hence, we discovered Angular Material, a library built for AngularJS, which implements Google's material design principles. Angular Material provides a set of reusable, well-tested, and accessible UI components based on the Material Design system. We decided to adopt this because the elements in Material Design is based on Google's empirical research on the best design principles.
Google Material Design is a comprehensive guide for visual, motion, and interaction design across platforms and devices.To find out more about Material Design, click here
|6Sigma has decided to replace the previously scheduled Integrated Grid View for faculty. Also, our team has finished the "send email notifications to sponsors upon creation" function. However, the rest of the notifications functions and view notifications would be pushed to iteration 11. If need be, our team would use our Iteration 12 buffer to handle this functionality.|
|Event||Previous Date||Re-scheduled to||Re-scheduled date|
|Sponsor Test 1||2 Jan 2015||Faculty Test||30 Jan 2015|
|Student Test 1||12 Jan 2015||Student Test||30 Jan 2015|
|Student Test 2||2 Feb 2015||User Test 2||12 Feb 2015|
|Faculty Test 2||9th Feb 2015|
Changes in Scope
|Function||Scheduled into:||Mitigation towards schedule|
After gathering feedback from Prof. Jason Woodard, he suggested that an integrated grid view for grading would be useful for the faculty members.
UPDATE: The grading view is pushed back after mid term and was replaced by Google (Angular) Material Design due to usability concerns which was one of the reason why the previous project failed. Angular Material Design provides a set of reusable, well-tested, and accessible UI components based on the Material Design system, which is a researched and well tested visual language for users that synthesizes the classic principles of good design. This is done so as to benefit all stakeholders through a more usable application based on best UI design practices.
|Iteration 8||Send notifications to users and View Notifications would be scheduled to iteration 11. If need be, we would use the 2 weeks buffer (Iteration 12), which was previously allocated for bug fixing before full time rollout|
|Function||Mitigation towards schedule|
We conducted a survey to find out whether sponsor comments would be beneficial to the student community. The results of the survey suggests that majority of the students preferred communicating with the sponsors on a face to face basis, and they were also worried about the privacy of their comments. Hence, we decided not to proceed with the development of this function.
More information about the survey
|The time allocated for developing this function would be allocated into Integrated Grid View and Analytics module|
We conducted a survey to find out whether students would prefer to upload their iteration information onto the system such that analysis results could be provided to them for better project management. The results of the survey suggests that majority of the students did not welcome this as they felt that the increase in workload outweighs the added advantage it brings.
More information about the survey
|The time allocated for developing this function would be allocated into Integrated Grid View and Analytics module.|
|Iteration||Planned Days||Actual Days||Score||Actions Taken|
|1||14||14||100%||None. We are on schedule|
|2||14||14||100%||None. We are on schedule|
|3||14||13||107%||Add one day to buffer|
|4||14||14||100%||None. We are on schedule|
|5||14||16||87.5%||As we previously had an increase in buffer day from iteration 3, this resulted in a deduction of 1 day from our buffer. For more information on the problems and solutions for this iteration, refer to the "Issues Faced" tab.|
|6||14||14||100%||None. We are on schedule|
|7||14||14||100%||Decided to push Manipulate Statistics to further iterations. For more information on the problems and solutions for this iteration, refer to the "Issues Faced" tab.|
|8||14||14||100%||We completed the sending of email notification to sponsors. However, other notifications would be pushed to further iterations such that we can focus on Angular Material. For more information on the problems and solutions for this iteration, refer to the "Issues Faced" tab.|
|9||14||14||100%||None. We are on schedule. However, it is important to note that there were still many bugs in this iteration, which is due to the Angular Material UI change|
|Iteration||Score||Notable reasons||Actions Taken|
|1||26||-||Stop current development and resolve the bug immediately. However, as we completed the functionalities early, we managed to solve the bugs before the end of iteration. Hence, project was not rescheduled|
|2||6||-||Use scheduled debugging time for debugging|
|3||30||-||Stop current development and resolve the bug immediately. However, as we completed the functionalities early, we managed to solve the bugs before the end of iteration. Hence, project was not rescheduled|
|4||35||-||Stop current development and resolve the bug immediately.We managed to solve the bugs before the end of iteration. Hence, project was not rescheduled|
|5||95||Previously, we had resource files (File containing end points) which groups all business functions together, regardless of the role of the executor. Our team foresaw that maintainability was going to be a problem in the long run with the adoption of this structure.
A major overhaul of codes was done in this iteration, and hence, the high bug count.
|Stop current development and resolve the bug immediately. We are unable to complete bug fixing on time, and hence, we decided to use up 2 days of our buffer. Currently, we are left with 5 days of buffer after this iteration.|
|6||30||-||Stop current development and resolve the bug immediately. We managed to solve the bugs before the end of iteration. Hence, project was not rescheduled.|
|7||42||It was evident that the basic core functionalities of our application was still not up to standard, and the basic functionalities require more work to be added on. Apart from that, the user test was to be conducted 2 weeks’ time, on Jan 30th.||Stop current development and resolve the bug immediately. As too many funactionalties was breaking at this point in time, we decided to reschedule "Manipulate Statistics" to later iterations. Click HERE to find out more|
|8||75||We decided to revamp our UI to adopt the best practices and principles of design through the use of Angular Material. As such, there were many UI bugs which were discovered with the re-designing of our UI.||Stop current development and resolve the bug immediately. Click HERE to find out more about the change management plan for Angular Material|
|9||80||We decided to revamp our UI to adopt the best practices and principles of design through the use of Angular Material. As such, there were many UI bugs which were discovered with the re-designing of our UI.||Stop current development and resolve the bug immediately. Click HERE to find out more about the change management plan for Angular Material|
Non Coding Hours
Punch Card (GIT)
'A' risks need the most attention and most well developed mitigation or recovery strategies,
'C' risks can occur but deserve the least amount of planning.
|Risk Type||Risk Event||Occurrence||Impact||Category||Mitigation|
|Adoption Risk||Our system might not be well received by the IS480 Community for usage and efforts to capture user's data for analytics might fail||High||High||A||We intend to roll the system out in week 7, such that the next IS480 Batch can start using our system. Also, our team would be conducting numerous user tests and survey to improve usability.|
|Regulatory Risk||Analytics and statistics used in this project may require the use of personal data and may violate the Personal Data Protection Act (PDPA).||High||High||A||The use of any personal data will be declared to the sponsor and all data will be protected from unauthorized access/use.|
|Technology Risk||As mediawiki is highly unfavorable to crawling, crawling efforts might fail||High||High||A||The development for learning analytics is kept to the end so as to cater time to manually extract data in the event the wiki is uncrawlable.|
Link to our Knowledge Based Contribution :here