IS480 Team wiki: 2016T2 Remix final wiki

From IS480
Jump to navigation Jump to search
Remix png .png


About Us

Project Overview

Project Management


Home Midterm Final

Project Progress Summary

Final Product:

Project Challenges:

  • Integration with Bitbucket API:
    • Speed limitation on issue retrieving
    • Unexpected changes happened in API provider: delete function was removed in Feburary
  • Learning curve in React Js
  • Lack of understanding of business process and basic analytical knowledge

Project Achievements:

  • Successfully integrated with Bitbucket, a third party issue tracking tool
  • Beta version released in January. Used data collected to improve the urgency calculation formula.
  • Successfully built real time chat function using React js, together with user search and offline email alert functions.
  • Successfully designed and implemented several analytical functions that helps our sponsor improve the efficiency

Project Management

Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.

Project Schedule (Plan Vs Actual):


Schedule Plan VS Actual

Following is the planned VS actual hour per iteration.

Total hours per iteration.png

Project Metrics:

Summary of analysis for the metrics collected. You may refer to another page for the details about the metrics and how it is collected.

Technical Complexity:

Message notification and updates

To handle complicated components that are:

  • Ajax enabled
  • have multiple states
  • have multiple data sources
  • responsible for computing data and rendering its own UI independently
  • responsible for distributing data to other components that require it

The nodes on the graph above represent components from our messaging services. There is a total of 10 different data flows. Additionally, depending on the data received or computed, nodes can have multiple states. (e.g. File upload component with file attached or no files attached)

This was a big problem as it caused our UI to be unresponsibe and our code to be unmaintainable.

Bitbucket Oauth 2.0 authentication

We integrated Bitbucket into application. For this, we have to help developers and project managers log in to Bitbucket from our application.

This is difficult as we not only have to manage an extra level of authentication but also also synchronize both sessions (TSPMS and Bitbucket). Synchronization of the sessions was crucial for the user interface to be rendered correctly.

We felt that an additional complexity of managing and storing the API keys was that the keys have short lifespans; they expire after 30 minutes to an hour.

Scheduled events

We collect data from multiple sources for our custom Remix Analytics module. This process is tedious as we need to be precise for the calculation of accurate metrics. Additionally, the process is computationally intensive as well.


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 weeks -10 -5 3 7 Supervisor weeks -2 3 5 7
Metrics Bug metrics
Requirements Story cards CRUD Customer, Trend Analytic
Analysis Use case overall
System Sequence Diagram client, server
Business Process Diagram
Screen Shots CRUD Customer, Trend Analysis
Design ER Diagram 1, 2, 3
Class Diagram 1, 2, 3
Testing Test plan instructions
Handover Manuals User tutorial, Developer manual, Setup manual
Code client server
Deployment Diagram instructions

Not all parts of the deliverables are necessary but the evidence should be convincing of the scope.


Explain the quality attributes (non functional) of your project deliverables. Have you designed the architecture, use a design pattern, etc? Does your architecture address scalability, performance, reliability, availability, fault tolerance, usability, etc. Does your design address maintainability, flexibility, configurability, etc. Be brief here but you can link to diagrams or code detail pages. Do not repeat the technical complexity part, link to it if necessary.


In an iterative approach, ready to use system should be available (deployed) for client and instructions to access the system described here (user name). If necessary, provide a deployment diagram link.


Describe the testing done on your system. For example, the number of user testing, tester profile, test cases, survey results, issue tracker, bug reports, etc.


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.

Sometimes, the client writes a report to feedback on the system; this sponsor report can be included or linked from here.