IS480 Team wiki: 2013T1 ThunderBolt Final wiki

From IS480
Jump to navigation Jump to search


  Mid-Term Wiki   Final Wiki

Project Progress Summary

Immediate Deliverable

Click here [1] download final presentation slides

Link to deployment server: http://bit.ly/is480-ss
Link to live server :

Our Key Accomplishments

- 99% of the project completed
- Completed 12 iterations
- Conducted 3 User Tests with key users
- Live system first deployed on 26 Sept, followed by second deployment on 22 Oct and last deployment on 21 Nov

Project timeline overview

Final timeline.png.PNG

Click [2] to view our full project schedule.

Project Highlights

Video Pitch

Click here to watch the video!


Project Poster


Project Management

Project Status

We have completed all core, secondary and additional functionality of the system and its fully functional now
Click here to see more detail of our project status.

However, there are still some improvements that we would like to make after our final presentations:
- UI improvements as per our sponsors request
- Allow admin to change type of presentation
- Customize SMS to supervisors
- URL pointing to live server in emails should be configurable
- Allow the user to download an ICS file from the website

Project Schedule (Plan Vs Actual)

Click here to see plan vs actual schedule

Project Metrics

Schedule Metrics

The chart below shows the overview of schedule metrics for our entire project
Click here to understand how we derive our metrics and what are the action plans to each metric.

Schedule metric chart.PNG

Bug Metrics

Click here to find out how we calculate our bug score and what are the respective action plans for different category of score.
Click here for detailed bug log:
Figure 1 shows the distribution of bug severity
Figure 2 further elaborate figure 1 by breaking down bug severity distribution over iteration
Figure 3 shows an overall bug score for our system as of now
Overall bug severity distribution.PNGBug severity distribution over iteration.PNGBug score.PNG
Bugs logged here were discovered during internal testing which carried out at end of each iteration based on the test cases we created.Regression testing methodology was used to conduct internal testing.


Technical Complexity

Time-based View Selection

The problem with the IS480 schedules on the IS480 Wiki is that it is difficult to find exactly which one you are involved in. If you are a user of Term 1, and scheduling of the Acceptance presentations, the default top most item you can find on the IS480 Main Page would be Term 2. Finding which term you belong to, and the most important milestone, requires some effort.

Therefore, we have implemented an algorithm that does this work for you. The algorithm is as follows:

If there is only one term, the most important milestone is shown you. The default milestone is determined by, in descending order of importance:

Default Milestone
  1. The current time is within the range of dates of the milestone
  2. The current time is before the start date of the upcoming milestone
  3. The current time has passed the end date of the last milestone


If there are multiple terms, before the default milestone selection logic, the default term selection logic is determined by, in descending order of importance:

Default Term
  1. If you are a user of multiple terms, and the current time is at a point where both terms overlap, the earlier term is the default term because it is not complete yet.
  2. If you are a user of multiple terms and there are more pending bookings in the later term, the later term is the default term because it is more active.
  3. If you are a user of a future term and not the current term, the default term is the future term.
  4. If you are a non-user of any term and the current time is at a point where both terms overlap, the default term is the earlier term.
  5. If there is no current term and there are multiple future terms, the default term is the earliest future term.
  6. If there is no current term and there were multiple terms in the past, the default term is the latest past term.

Timebased2.png Timebased3.png


The Calendar Interface

We have adopted the ever-familiar calendar interface present in the most popular calendars out there: Microsoft Outlook Calendar, Google Calendar, and Apple iCal.

Our old calendar interface:


Our new calendar interface:


Multifunctional Calendar

There are 5 different roles in the IS480 course - Course Coordinator, Administrator, Faculty (Supervisor/Reviewer), Student, and TA. We have developed a calendar interface that caters to each role in terms of visuals and functionality.


The functions of each role are listed below. New functions implemented since Midterm are marked in green.

Course Coordinator
  • View a dashboard showing which teams haven't booked
  • Override the entire booking approval process
  • Book on behalf of teams
  • Update bookings by Drag-N-Drop
  • Invite SMU students and faculty
  • Track TA presentation sign ups
  • Email TAs to sign up for a slot with a single click
  • Do everything the Course Coordinator can do
  • View a dashboard showing which teams haven't booked
  • Approve or Reject bookings
  • Cancel bookings
  • RSVP to presentations
  • See only bookings that matter
  • Indicate availability
  • RSVP to presentations
  • Book with a single-click
  • See only bookings that matter
  • Invite SMU peers and faculty
  • Have a visual trail of their booking history
  • Swap slots with other TAs
  • See TA statistics
  • RSVP to presentations
  • See only bookings that matter
  • Sign up for filming

User Management

Since the IS480 Matching System Team was not able to create their IS480 user management system, we had to implement our own. Some of the features of the system are:

  • Database-like interface that is inter-linked between tabs
  • Assignment of teams
  • CRUD of all 5 roles
  • Overview of faculty's teams


Personal Calendar Integration

We have considered that most users like to use their own personal calendars on their computers or mobile phones. Therefore, in every email that is sent from the system, an ICS file is attached. The iCalendar protocol (ICS files) is a standard calendar protocol that is compatible with many popular calendar clients. So far, our ICS files have been tested and supported on Microsoft Outlook Calendar, Google Calendar, and Apple iCal.

When a new booking is created, a Request email is sent with an ICS attachment. The tentative event would look like the following:


When it is approved, an Approval email is sent with the updated ICS attachment, which would updated the tentative event to a confirmed event:


If the booking details such as time and venue are updated, an Updated Booking email is sent with the updated ICS attachment, which would update the time and venue of the same event:


Quality of product

Intermediate Deliverables

Stage Specification Links
Project Management Metrics
Requirements Change Requests Log
Analysis Use Case
Design System Architecture Diagram
Testing Internal Testing Test Plan
Internal Testing Test cases and results
User Testing 1
User Testing 2
User Testing 3


System was first deployed on 26 Sept, followed by second deployment on 22 Oct and final deployment with full functionality on 21 Nov 2013

Deployment phases.png.PNG


Internal Testing

Internal Testing was conducted at end of each iteration. Total of 12 internal testings were carried out.
Click here for internal testing test plan
Click here for internal testing test cases by iterations

User Testing

3 User Testings were conducted with key users of the system
- 1st User Testing: 2 Sep
- 2nd User Testing: 4 Oct
- 3rd User Testing: 18 Nov

Click here to find out more about our User Testing


Challenges and Learning Outcomes


Individual Learning Outcomes

Prakhar: Technical development, Importance of a proactive approach, Effective Communication both internally and externally, Embracing challenges

Xuling: Though the FYP journey was long and tiring, I learnt many lessons along the way. Firstly, its difficult to manage expectations as different people want different things. Secondly, perseverance is important for ongoing faith. Finally, team dynamics determines the success of the project

Tarlo: User tests feedback helps to understand and prioritize tasks to ensure the usability of a system. Being able to test on a live system and participate in the development process, I have realized the importance of the business-IT linkage value and stakeholder expectation management.


Suresh:Although it was a great avenue for gathering user feedback, live deployment was challenging to handle at later stages of the project