IS480 Team wiki: 2015T2 spirITus Midterm Wiki

From IS480
Jump to navigation Jump to search


Official spirITus Logo.png



About Team spirITus


Project Overview


Project Management


Project Documentation

Slides and Links
  • View our midterm presentation slides here!]
  • Visit our deployed application here!

Note: As our application has a SMS functionality which would incur cost. Kindly send us an email to request for a login credential for testing purposes.

Project Progress Summary

Project Highlights

Unexpected events that have occurred:

  • Our designer was removed from the team as she did not met the prerequisite for IS480
  • Change of POC (Point of Contact)
  • Some change of requirements after the handover
  • List of changes:
    • Communication feature was changed to a form of 'Post" instead of real-time chat function
    • Addition of SMS notification as a good to have additional functionality
    • Timetable view on Desktop was reconsidered and implemented after Sponsor Test 2
    • Took the December term break to learn php and understand the laravel framework
    • Addition of "contact us" feature in application for users to provide feedback
  • Some problem faced:
    • Learning curve for email function for notification was higher than expected
    • Technical complexities during integration

Schedule Updates

Number of planned iterations: 13
Number of iteration completed: 7

  • Current iteration: 8

Number of iterations left: 5
Complete Testing: 4

  • Acceptance
  • UAT 1
  • Sponsor Test 1
  • UAT 2
  • Sponsor Test 2

Milestones left: 4

  • Midterm
  • Poster
  • Finals
  • Poster Day
Project Management

Functionality and Scope

Functionalities Progress in Task completion
Primary 100%
Secondary 90%
Tertiary 80%
Good-to-have 30%

Functionalities achieved

Iteration Module Functions / Comments Confidence
1 Admin and accounts UI UI using jQuery mobile. Coincides with IDP 1
2 Account Module Teacher account can View, create and search 1
Parent Account UI for reports, events and chats 1
3 Accounts Module Creation of profiles. Entity profiling 1
Classroom Module Teachers can mark attendance, guardians can view child's attendance 1
Feedback Module 1 Teachers can mark attendance, guardians can view child's attendance 1
4 Feedback Module 1 Guardians can view child's education progress 1
Communication Module 1 Teachers and parents are able to send message to each other 1
Search and Filter Module Teachers can search for student by name 1
5 Accounts Module 1 Admin account have CRUD access, able to reset password 1
Classroom Module Teachers, students and guardians can view lessons/ scheduled plans 1
Communication Module 2 Teachers can create announcements for class. Guardian can get notifications on child's progress 0.75
Rewards Module Teachers can award points to students and student can view their awarded points 1
6 Desktop rollout Desktop UI and Accounts CRUD implementation 1
Rewards Module Gamification techniques and concepts changes to make it more engaging. 0.75
Feedback Module 1 Teachers can generate student profile, attendance statistics including assessments 0.75
7 Forum Module All users can post queries in forum 0.75
Feedback Module 2 Student can view their attendance statistics 1
Teachers' dashboard showing class activities and student reports(Desktop) 1
8 Feedback Module 2 Teachers can opt to send generated reports to email accounts 0.75

Functionalities To Be Achieved

Iteration Module Functions / Comments
9 UI Enhancement, Validations UI Enhancement and more comprehensive validations for Mobile and Desktop site
10 Security Rate Limiting

Project Schedule

Our team has made very minimal changes to schedule, most of the changes were implemented during the planned iterations. The most notable changes were the change in functionality requirement, the communication module. Our client conducted their own trials and wanted a 'contact us' form for parents to communicate with the teachers. We were informed to focus more on the mobile development in December 2014 as DAS wanted to use our application in January for trials.

Planned Schedule

IS480 Timeline(New).png

Dated: December 2014

Actual Schedule

IS480 Timeline caa 23022015.jpg

Dated: February 2015

Project Metrics

Schedule Metrics

SpirITus Schedule Metrics.jpg
Current Status: Good standing

Iteration Planned Days Actual Days Score Remarks / Actions Taken
1 35 35 100% None. We are on schedule.
2 21 26 81% Reasons: Learning curve in learning new frameworks and integrating libraries resulted in slower-than expected-progress in development.

Extend iteration till the task is completed. Adjust the dates of the subsequent iteration to match the use of buffer days.

3 21 27 78% Reasons: All members are still learning the new language and framework. Coupled with other academic commitments, the difficulty in developing back-end logic for student attendance-taking in PHP resulted in minor delays in task completion.

Extend iteration till the task is completed. Adjust the dates of the subsequent iteration to match the use of buffer days.

4 21 20 105% None. We are on schedule.
5 14 15 93% Reasons: Our designer left the group, and existing work had to be reassigned to other members.

Used one buffer day to complete planned functionality in iteration. No need for adjustment of scope.

6 14 16 88% Reasons: Change of POC, handover of management to Sree. There were also new suggestions of additional functionalities by the directors, which led to some major changes in the database structure.

Used two buffer days to complete planned functionality + new requirements in iteration. Extend iteration till the tasks are completed. Adjust the dates of the subsequent iteration to match the use of buffer days.

7 14 14 100% None. We are on schedule.

Bug Metrics

Bugsiteration.PNG Bugs metricsgraph.PNG

Iteration Low High Critical Total Score Actions Taken
1 0 0 0 0 No actions required.
2 1 0 0 1 Used debugging time to debug.
3 4 1 2 29 Used debugging time + one buffer day to debug.
4 1 3 1 26 Bugs were fixed during testing and debugging time. No buffer time required.
5 4 1 0 9 Bugs were fixed during testing and debugging time.
6 8 4 0 28 Used debugging time to debug. One outstanding UI bug to be fixed in later iteration due to low importance. Used one buffer day to debug.
7 4 1 1 19 Bugs were fixed during testing and debugging time.

Technical Complexity

S/N Technical Description Remarks
1 PDF Generation of reports Getting things displayed nicely in a single page in the pdf.Special symbols and font embedding issues. Transformation of database records data to the display format required.
2 Attendance taking Transformation of database records data to the display format required
3 Lesson Feedback and makeup There are many client changes as to how lesson feedback and make ups are to be recorded. Resulting in frequent database schema changes.
4 Speeding up notifications (mass emails, sms.etc) To reduce the wait of teachers when publishing new announcements to guardians. The team has to learn about how to use a message queue. This is quite a challenge as more than 1 member have yet taken the Enterprise Integration module yet.


Risk Probability Impact Mitigation
Steep learning curve in exploring new frameworks, libraries and programming languages, such as SMS integration, E-mail sending, the Laravel framework and generation of PDF reports High High We will seek help from web resources (tutorials, videos) on how to implement it in our application. After many hours of effort and studying, we gradually became more familiar with the use of such libraries and frameworks.
Sudden changes in requirements, such as the communication methods available using the application, which arose after analysis of the results of their own trials High High We will seek advice from our supervisor and inform her about the new changes. We will proceed to implement the changes if it does not delay the completion of the project.
Juggling our academic workload in tandem with FYP when there are difficult tasks in a particular iteration Medium Low We will seek advice from seniors and read up on best practices on how we can utilize the framework chosen to make coding more efficient. Working long hours into the night was common as we tried not to exceed the planned iteration days.
There is a possibility that we may send out too many emails and get banned temporarily by Gmail, if we exceed their daily email sending limits (2000 for premium accounts, 100-500 for normal accounts) Medium Medium Make use of a reputable transactional e-mail service such as Mandrill, which allows up to 12,000 free emails per month. The team has also set up Mailgun, an alternative e-mail service such that in the unlikely event that we exceed Mandrill's free limits for a month, the team will also be able to switch to Mailgun without much hassle. It offers 10,000 free emails per month, which isn't too bad as well.

Quality of Product

Intermediate Deliverables

Stage Specification Relevant Links
Project Management Meeting Minutes Meeting Minutes
Schedule and Bug Metrics Metrics
Project Scope Scope / Functionalities
Analysis Architecture Diagrams Architecture Diagrams
ER Diagram ER Diagram
Use Case Use Case Diagram
Design Prototypes Prototypes
Testing User Acceptance Test & Sponsor Test Results Test Results


Team Reflection

  • Exploring a new language and framework
  • how the use of technologies solve trivial business problem
  • Handling a project involving a business entity and managing it well
  • Balancing expectations.
  • Effective time Management juggling IS480 commitments with other projects etc.
  • Conflict Management and resolution strategies
  • Staying positive and always have the end in mind

Individual Reflection

Project Manager: Tan Zheng Ming, Kenneth

  • Effective communication between stakeholders involved in project
  • Manage conflict and expectations effectively
  • Planning of technical tasks is often complex and subjected to changes
  • Establish effective collaboration by allocating tasks / resources appropriately

Lead Designer: Chua Chong Thee

  • Adapting to changes during development
  • Designing with the end users in mind
  • Difficult to have a design that can satisfy everyone
  • Perseverance is key

Lead Developer: Lan Ziming

  • Many helpful people online willing to help you learn.
  • See beyond the surface, sometimes I wanted to use a service but it's either paid or comes with a very limiting free plan as stated on their website. However when I decide to email some of them telling them that I'm a student or doing it for a social cause, I'm surprised that some are actually willing to let me use their paid plans for free just because I'm a student or doing something that benefit others.
  • I have also learn to be more people orientated. As IT students, we often think about doing what's technically the most impressive, scalable, cleanest solution. However it is also important to consider people. The best solution is often not what best fit the problem theoretically . But one that also consider the people and conditions around you (team mates, clients, supervisor, context.etc).
  • Lastly, I learnt that taking care of one health is very important. So as to last longer.

System Analyst: Chen Weifang

  • Adapting and working with members with different working styles
  • Breaking down the algorithm into smallest parts possible and be meticulous
  • Measure the trade-off of each possible solutions vs obvious solution
  • Picking up a new language is not complex as long as one has the interest to learn

QA Analyst: Chan Qianru

  • Be open to feedbacks by users
  • Knowing what the end users want is important to solve any problem
  • Good designs often make people have a lasting impression of the application
  • Responsiveness and real-time will make systems more user friendly