HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2016T2 Remix final wiki"

From IS480
Jump to navigation Jump to search
Line 81: Line 81:
  
 
===Project Scope (Plan Vs Actual):===
 
===Project Scope (Plan Vs Actual):===
[[Image: RemixScope Diagram change.png|600px]]
+
[[Image: RemixScope Diagram change.png|800px]]
  
 
===Project Metrics:===
 
===Project Metrics:===

Revision as of 00:36, 11 April 2016

Remix png .png

Home

About Us

Project Overview

Project Management

Documentation

Home Midterm Final

Project Progress Summary

Final Product:

Project Highlight:

What unexpected events occurred?

  • We did not consider the client's impact (delay, new change request etc.) on the project process. Overload alert function was delayed.
  • Extremely high bug metrics happened in Iteration 4 <before midterm>
  • List of requirement changes - As shown above in "Process based on Functions --> Change in Scope" <before midterm>

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

Project Schedule (Plan Vs Actual):

Plan.png

Following is the planned VS actual hour per iteration.

Total hours per iteration.png

Project Scope (Plan Vs Actual):

RemixScope Diagram change.png

Project Metrics:

  • Schedule Metrics: Not applicable since we are using time boxing.
  • Bug Metrics:

Remix Bug metrics.png

Project Risks:

Update the proposal assumptions and risks. Describe what you learn from the risk update and mitigation steps taken.

Description Likelihood Impact Mitigation
The sponsors have only a vague idea of the application that they want built. This could lead to situations where there is mismatch between the built product and their expectations. High High - Using agile development process to keep continuous testing and regular communication with sponsors.
The team needs to utilize libraries that have only been released recently such as ReactJS. Support for the library and the information that can be found online regarding the library is little. Hence, learning the libraries will be even more challenging than usual. Medium-High High - Regular communication and interaction with mentors/sponsors to slowly ramp up familiarity with the library.

- Self-study and experimentation with the library to better understand and utilize it

Analytics requires strong understanding of business model and data structure while the team is not sure about the accessibility of such data, and fine-tuning the analytics models may take long time. Medium Medium - Interviews and observation studies with sponsor to determine the data that they need for project management analysis

- Familiarize ourselves with the latest research on analytics for project management
- Release beta version of the system earlier to collect data

As our application is in the beta stage (deployed for use by real clients), we have to consider security risks that emerge from external users. Low High - Explicitly setting the character encoding and sanitizing client-side form fields for malicious content
Third-party service such as Bitbucket API maybe unstable Low High - Constantly check the system, and moderate our system.

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

Hhahha.png
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.

RemixTech3.png

Quality of product

Project Deliverables:

Stage Specification Modules
Project Management Minutes 19Internal Meeting; 13Sponsor Meeting; 14Supervisor Meeting
Metrics Bug metrics
Analysis Use case Use Cases
Business Process Diagram Here
Design ER Diagram Here
Class Diagram Here
Testing Testing plan Here
User testing UT1

UT2 UT3

UAT Here
Handover Manuals Instruction on connecting to Bitbucket

Quality:

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.

Deployment:

Testing:

User Testing:

Each week, we will hold a meeting with our sponsors where we run through our application to garner feedback from the end-users of the application on both the usability and functionality of the currently developed application. This allows us to continuously align our application with the business needs of our sponsors.

On top of this, we have held 4 user testing sessions and 2 user acceptance test session thus far.

The main purpose of user testing sessions was to obtain pointers on how to improve the look and feel of our application. Further, the sessions allow us to test our newly developed functions over the past few interactions. To that end, we recruited SMU SIS students to take on the role of project managers and cast a critical look over our application.

User Test 1
Date: 23 October 2015

User Test 2
Date: 18 December 2015

User Test 3
Date: 8 January 2015

User Test 4
Date: 1 March 2015

UAT:

We also conducted a user acceptance test to test our application in its totality. The focus of our UAT was to determine whether our application is able to satisfy the needs of our users - both the project managers as well as the clients. As such, the UAT has a larger scope as compared to our user testing sessions. In our UAT, we've recruited SMU SIS students to assume the role of project managers while we recruited the real clients of The Shipyard to gain feedback on the client-side ap plication. User Acceptance Test 1
Date: 3 February 2015 to 5 February 2015

User Acceptance Test 2
Date: 2 April 2015

Reflection

Team Reflection:

We've underwent a lot of challenges throughout the project - changes to our scope, learning of new tools and technologies and manpower management. Through each, we've learned how to be flexible in our approach and open in our mindset. We also grabbed a lot more new technical knowledge including but not limited to:

  • Project Management
    • Agile development
    • Managing stakeholders
    • Change management
    • Unified Modeling Language (UML) and Rational Unified Process (RUP) methodologies in software design and development
  • Technical Skills
    • PHP
      • CodeIgniter (CI)
    • Javascript
      • React.JS
    • Cloud Services
      • Amazon Web Service
      • Mandril
    • AJAX
  • Other Skills
    • Presentation Skills
    • Video Editing
    • Graph Design

Individual Reflection:

YANG Chengzhen

Doing a real business project makes me realize there is no best solution but the most suitable one. The more I learn about project management for start up company ,the deeper I realize it is not simply applying any existing methodology. The journey as a business analyst teaches me how to implement user study and market analysis. Moreover, maintaining good relationship with sponsor and having frequent communication are the key to success.

YEONG Foong Wai

I've learned how to better interpret and analyze results from user tests, using them as feedback to improve the quality of the application.

WANG Tiantong

What I learnt the most is how to make changes to our work in order to meet the needs of various stakeholders, of course including ourselves. We should not only evaluate the tasks themselves, but also our man power, time schedule, the possible conflicts or impacts on the other parts and if the changes under limited resources and really meet the expectation. Through the whole experience with IS480 and my team, I believe I can be more prepared and planned towards my other upcoming "projects", in work or life.

YUAN Yuxuan

As project manager of a team, I obtained much better understanding of software development life cycle, and agile development process. Interacting with our sponsor let me know how a startup company is operating in the real life. To design and implement analytical modules push me to learn more analytics knowledge and Unified Modeling Language (UML) and Rational Unified Process (RUP) methodologies. This is a unique and great learning experience in my univeristy life.

LU Ning

LIM Anyu

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