HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2016T1 Airvolution Midterm Wiki"

From IS480
Jump to navigation Jump to search
 
(22 intermediate revisions by 2 users not shown)
Line 48: Line 48:
 
==Project Progress Summary==
 
==Project Progress Summary==
 
[[Image:Airvolution-Project-Summary.jpg|center|1024px|link=]]
 
[[Image:Airvolution-Project-Summary.jpg|center|1024px|link=]]
 +
 +
<center>Please click [https://drive.google.com/a/smu.edu.sg/file/d/0By0L3h6EiBjBLUI5YjZVVDRaT2M/view?usp=sharing here] to view our Midterm presentation slides</center>
  
 
==Project Management==
 
==Project Management==
Line 104: Line 106:
 
|8.
 
|8.
 
| Price Watch Function + Push Notification
 
| Price Watch Function + Push Notification
| 40%
+
| Fully deployed not 100% tested.
 
| 1
 
| 1
| Remy is able to push notifications now. Currently working on the algorithm for the price watch function. Followed by linking the 2.
+
| Completed, pending testing with users.
 
|-
 
|-
 
|9.
 
|9.
Line 232: Line 234:
 
! style="color:white; background-color:#226C9A;" | Strategy Adopted
 
! style="color:white; background-color:#226C9A;" | Strategy Adopted
 
! style="color:white; background-color:#226C9A;" | Actions
 
! style="color:white; background-color:#226C9A;" | Actions
 +
! style="color:white; background-color:#226C9A;" | Status
 
|-
 
|-
 
| Client Risk
 
| Client Risk
Line 240: Line 243:
 
| Mitigate
 
| Mitigate
 
| Actively engage client to give us another party to validate our app. Client was able to get us Amadeus to vet our progress and app and to give comments for us to learn and improve on. Client has yet to meet Amadeus
 
| Actively engage client to give us another party to validate our app. Client was able to get us Amadeus to vet our progress and app and to give comments for us to learn and improve on. Client has yet to meet Amadeus
 +
| Fail
 +
|-
 +
| Technology Risk
 +
| The launch of iOS 10 would result in some libraries becoming incompatible, which would result in the app not being functional
 +
| HIGH
 +
| HIGH
 +
| HIGH
 +
| Mitigate
 +
| Plan a task for the app team to update the project to be compatible with iOS 10 and make the app future proof
 +
| Success
 +
|-
 +
| Dependency Risk
 +
| As we are using an external API for the speech-to-text, if the API provider becomes unusable, the app will not be functional
 +
| HIGH
 +
| HIGH
 +
| HIGH
 +
| Mitigate
 +
| Switch to Google-API as it is more stable.
 +
| Success
 
|-
 
|-
 
|}
 
|}
  
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Technical Overview</font></div>===
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Technical Overview</font></div>===
 +
 +
[[Image:Tech-Overview.jpg|center|600px|link=]]
 +
 
===<div style=" font-size:85%; font-family:Century Gothic">Technical Complexity===
 
===<div style=" font-size:85%; font-family:Century Gothic">Technical Complexity===
 +
[[Image:Tech-Comp.jpg|center|700px|link=]]
 +
3DS Authentication Send API request to Tocco’s payment URL Response returned will consist of bank’s ACS URL Start phone server Send POST Request to ACS URL with URL of phone server ACS URL returned will consist of page for OTP. OTP HTML will be sent as response which will be rendered on the app User will receive OTP from bank which he will enter. After entering OTP, a POST request will be sent from the bank’s server to which the phone server will receive indicating the payment was a success Once the payment succeeds, the server will be shut down.
 +
<br><br>
 +
<div style="margin-left:10%">
 +
[[Image:Tech-Comp--1.jpg|center|750px|link=]]
 +
</div>
 +
User submits price watch and the details of price watched is stored on Firebase.
 +
NodeJS Server runs an hourly check on pricing by retrieving prices via Tocco’s API If lowest price for flight is within 10% of the max pricing or less, NodeJS Server sends a notification user’s phone via Firebase
  
 
==Quality of Product==
 
==Quality of Product==
Line 279: Line 312:
 
|rowspan="1"| Testing
 
|rowspan="1"| Testing
 
|| User test plan
 
|| User test plan
|| Every sprint, the QA team will conduct an integration and regression testing to ensure that the app is still working fine after the new implementations and to look for more corner cases in order to make the app more stable. Our testing can be viewed here <URL>
+
|| Every sprint, the QA team will conduct an integration and regression testing to ensure that the app is still working fine after the new implementations and to look for more corner cases in order to make the app more stable.  
 
|-
 
|-
  
 
|rowspan="5"| Design & Research
 
|rowspan="5"| Design & Research
 
|| Use case
 
|| Use case
||This is the use case diagram for our iOS app and management dashboard. Our diagram can be viewed here <URL>
+
||This is the use case diagram for our iOS app and management dashboard. Our diagram can be viewed here [[ https://drive.google.com/a/smu.edu.sg/file/d/0By0L3h6EiBjBdDM1RWtMS29ETW8/view?usp=sharing| Use Case]]
 
|-
 
|-
  
 
|| Market Study
 
|| Market Study
||We conducted a market study of the popular travels apps in the market to see what are the unique selling points and mandatory features that these apps share to help validate our client's claim that there is a gap in the market for speech-to-text booking and a recommendation engine. Our research can be viewed here: <URL>
+
||We conducted a market study of the popular travels apps in the market to see what are the unique selling points and mandatory features that these apps share to help validate our client's claim that there is a gap in the market for speech-to-text booking and a recommendation engine. Our research can be viewed here: [[ IS480 Team wiki:  2016T1 Airvolution-Market-Study| Market Study]]
 
|-
 
|-
  
 
||Screen Shots
 
||Screen Shots
||As our project is under NDA, we cannot post the screenshots of our App here. To view it, please go to our private document <URL>
+
||As our project is under NDA, we cannot post the screenshots of our App here. To view it, please go to our private document.
 
|-
 
|-
 
|}
 
|}
Line 298: Line 331:
  
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Deployment</font></div>===
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Deployment</font></div>===
 +
Analytics Dashboard is deployed to our client Microsoft Azure Server, It can be found at this URL: http://tocco-trailblazer.azurewebsites.net/
 +
<br>
 +
<b>Note: Please ensure that you are using the latest version of Google Chrome browser & Javascript enabled to view the application.</b>
  
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Testing</font></div>===
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Testing</font></div>===
 +
<b> Test:</b> User Test 1 <br>
 +
<b> Date:</b> 11th August 2016 <br>
 +
<b>Total Number of Users: </b> 5 <br>
 +
<b>Scope:</b> Speech-to-Query, Flight Details, Trip Details <br>
 +
<b>Goals:</b> Test usability and user interaction with the speech-to-text function, Feedback on overall design of the app <br>
 +
<b>Key Findings:</b>
 +
#  Users prefer the speech function to be more accurate.
 +
# Flight search screen: Prepopulate Singapore as flight origin
 +
# Flight search screen: Inbound and outbound flight is unclear
 +
# Flight search screen: display flight details e.g. timing and no. of transits clearly
 +
<br>
 +
<b> Test:</b> User Test 2 <br>
 +
<b> Date:</b> 26th to 27th September 2016 <br>
 +
<b>Total Number of Users: </b> 26 <br>
 +
<b>Scope:</b> Speech-to-Query, Flight Details, Trip Details, Sort, Filter, Adding Passenger Details <br>
 +
<b>Goals:</b>
 +
# Measure the usability of our app
 +
# Understand which part(s) of our app may be confusing and misleading to users
 +
# How open millenials are to using speech-to-text technology<br>
 +
<b>Key Findings:</b>
 +
# Users are more inclined to use voice rather than manual input.
 +
# Home screen: Mic is not intuitive, thus hard to use speech-to-query function.
 +
# Home screen: Users prefer a prompt to know how to query for flight search.
 +
# Home screen: 'Show details' as navigation to conduct a manual search is vague in meaning.
 +
# Adding passenger: No autocomplete function for certain fields.
 +
# Adding passenger: Fields are too close to one another.
  
 +
<br>
 +
<br>
  
 +
<b> Overall Testing Procedure</b>
 +
# Create test cases based on functionalities to be developed during the sprint
 +
# Unit testing - Test functions internally before merging with code base in staging
 +
# Integration testing - Test functions after merging code base for developed functions with staging code
 +
# Internal testing by QA - test out new functionalities based on the test cases.
 +
# Regression testing by QA - test functionalities completed in previous sprints.
 +
# Documentation and debrief - record bugs found and discuss with app development team the results for fixing and improvements.
  
 
==Reflection==
 
==Reflection==
  
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Team Reflection</font></div>===
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Team Reflection</font></div>===
 +
<center>We learnt that change management is a very crucial skill especially in projects where changes are constant. Having the right processes in place to handle and mitigate the possible risks will help improve our productivity.</center>
  
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Individual Reflections</font></div>===
 
===<div style="background: #226C9A; padding: 15px; line-height: 0.3em; text-indent: 15px;  font-size:85%; font-family:Century Gothic"><font color= #FFFFFF>Individual Reflections</font></div>===
 +
[[Image:Reflection-h.jpg|center|850px|link=]]

Latest revision as of 13:31, 10 October 2016


Airvolution-Logo.png


Airvolution-House.png  HOME

 

Airvolution-About-Us.png  ABOUT US

 

Airvolution-Project-Overview.png  PROJECT OVERVIEW

 

Airvolution-Project-Management.png  PROJECT MANAGEMENT

 

Airvolution-Documentation.png  DOCUMENTATION

 
Main Wiki Midterm WikiAirvolution-Paper-Plane.png Final Wiki


Project Progress Summary

Airvolution-Project-Summary.jpg
Please click here to view our Midterm presentation slides

Project Management

Project Status

S/N Function/features, etc Status Confident Level (0-1) Remarks
1. Speech-to-query function Fully deployed and tested 100% 1 Completed
2. Search Function Fully deployed and tested 100% 1 Completed
3. Booking Function (Make a new Booking) Fully deployed and tested 100% 1 Completed
4. Payment Function Fully deployed and test 100% 1 In Progress
5. Booking Function Fully deployed not 100% tested. 1 In Progress
6. Account Management 50% 1 Front-end complete, coding back-end now.
7. Analytics Dashboard 30% 1 Basic dashboard is up for now. Analyzing dataset to come up with the charts which need to be included in the dashboard.
8. Price Watch Function + Push Notification Fully deployed not 100% tested. 1 Completed, pending testing with users.
9. Machine Learning Function Future Development 1 Future Development
10. Notification Function (Confirmation Email) Future Development 1 Future Development
11. Weather Function Future Development 1 Future Development

Project Schedule (Plan vs. Actual)

Planned Project Schedule

Airvolution-Project-Schedule-v2.jpg

Actual Project Schedule

Airvolution-Project-Schedule-v3.jpg
Changes in Schedule
Sprint No. Date Category Change Description Reason for Request Accept/Reject Priority Status of Request
4 19 Aug 2016 Application To change the Speech-to-text API from Nuance API to Google API Nuance API was becoming unstable and even crashing the app regularly Accept Accept & High Priority Closed
5 31 Aug 2016 X-Factor X- factor to be changed from getting 20 live users to test our app to getting GDSs to validate our app and analytics platform X-factor not able to be done as client is not comfortable with getting the 20 live UOB customers to test the app. Accept Accept & High Priority Closed
5 2 Sep 2016 Analytics Dashboard To deploy our analytics dashboard on their own Tocco Azure Server Client wants to have the analytics deployed on their own Azure server so that they can access the dashboard and maintain control over the dashboard as sensitive data will be hosted on it. Accept Accept & High Priority Closed
6 1 Sep 2016 Application To add mock flight data which are tagged as UOB preferred Client would like us to mock out some flight data which are UOB preferred so we can simulate such flights Accept Accept & Low Priority Closed
6 17 Sep 2016 Application Remove Notification Module - Boarding Gate Updates and belt no. API were not available and creating or sourcing for an API would be too time-consuming Accept Accept & Low Priority Closed
6 20 Sep 2016 Application Update project version to be compatible with iOS 10. To future proof the app so that future development on the app will be easier to integrate. This will reduce the risk of libraries becoming outdated in the future. Accept Accept & High Priority Closed
6 23 Sep 2016 Application Formally removed seat-booking function, update current booking function, SMS function There are no APIs are available and implementing it ourselves would be very time-consuming. Thus, we decided to formally drop these functions so we can focus on making the app better and on the machine learning Accept Accept & Low Priority Closed

Project Metrics

Sprint-Velocity-4.jpg

Burndown-Sprint6.jpgBug-5.jpg


Project Risks

To view past risks that the team may have/may not been affected by, please visit: IS480 Team wiki: 2016T1 Airvolution-Risk Management

Current Risks that may affect the team:
Risk Type Risk Event Likelihood Impact Level Category Strategy Adopted Actions Status
Client Risk Initial X-factor unable to be done as client does not want to expose his clients to the POC yet as our project is just the start. There are many more components which need to be added before it is ready to be shown to clients which is out of our scope. HIGH HIGH HIGH Mitigate Actively engage client to give us another party to validate our app. Client was able to get us Amadeus to vet our progress and app and to give comments for us to learn and improve on. Client has yet to meet Amadeus Fail
Technology Risk The launch of iOS 10 would result in some libraries becoming incompatible, which would result in the app not being functional HIGH HIGH HIGH Mitigate Plan a task for the app team to update the project to be compatible with iOS 10 and make the app future proof Success
Dependency Risk As we are using an external API for the speech-to-text, if the API provider becomes unusable, the app will not be functional HIGH HIGH HIGH Mitigate Switch to Google-API as it is more stable. Success

Technical Overview

Tech-Overview.jpg

Technical Complexity

Tech-Comp.jpg

3DS Authentication Send API request to Tocco’s payment URL Response returned will consist of bank’s ACS URL Start phone server Send POST Request to ACS URL with URL of phone server ACS URL returned will consist of page for OTP. OTP HTML will be sent as response which will be rendered on the app User will receive OTP from bank which he will enter. After entering OTP, a POST request will be sent from the bank’s server to which the phone server will receive indicating the payment was a success Once the payment succeeds, the server will be shut down.

Tech-Comp--1.jpg

User submits price watch and the details of price watched is stored on Firebase. NodeJS Server runs an hourly check on pricing by retrieving prices via Tocco’s API If lowest price for flight is within 10% of the max pricing or less, NodeJS Server sends a notification user’s phone via Firebase

Quality of Product

Intermediate Deliverables

Stage Specifications Work Product(s)
Project Management Minutes There are 3 types of minutes being maintained: Client Minutes, Supervisor Minutes and Internal Minutes. Our minutes can be found here: Meeting Minutes
Metrics We maintain 3 types of metrics to monitor our progress: Sprint Velocity, Scrum Burn down Chart, Bug Metrics. Our metrics can be viewed here: Metrics
Change Management Whenever changes are being made, the team will deliberate and decide on the severity and importance before coming to a group decision of accepting or dropping the change. Our changes can be viewed here: <URL>
Risk Management We have a risk metrics in place to keep track of the risks that may disrupt the success of our project as well as our mitigation. Our risks and mitigation can be viewed here Metrics
Sprint Backlog To look for the breakdown of tasks completed at each sprint, our Sprint Backlog can be viewed here: Sprint Backlog
Testing User test plan Every sprint, the QA team will conduct an integration and regression testing to ensure that the app is still working fine after the new implementations and to look for more corner cases in order to make the app more stable.
Design & Research Use case This is the use case diagram for our iOS app and management dashboard. Our diagram can be viewed here [[ https://drive.google.com/a/smu.edu.sg/file/d/0By0L3h6EiBjBdDM1RWtMS29ETW8/view?usp=sharing%7C Use Case]]
Market Study We conducted a market study of the popular travels apps in the market to see what are the unique selling points and mandatory features that these apps share to help validate our client's claim that there is a gap in the market for speech-to-text booking and a recommendation engine. Our research can be viewed here: Market Study
Screen Shots As our project is under NDA, we cannot post the screenshots of our App here. To view it, please go to our private document.

Deployment

Analytics Dashboard is deployed to our client Microsoft Azure Server, It can be found at this URL: http://tocco-trailblazer.azurewebsites.net/
Note: Please ensure that you are using the latest version of Google Chrome browser & Javascript enabled to view the application.

Testing

Test: User Test 1
Date: 11th August 2016
Total Number of Users: 5
Scope: Speech-to-Query, Flight Details, Trip Details
Goals: Test usability and user interaction with the speech-to-text function, Feedback on overall design of the app
Key Findings:

  1. Users prefer the speech function to be more accurate.
  2. Flight search screen: Prepopulate Singapore as flight origin
  3. Flight search screen: Inbound and outbound flight is unclear
  4. Flight search screen: display flight details e.g. timing and no. of transits clearly


Test: User Test 2
Date: 26th to 27th September 2016
Total Number of Users: 26
Scope: Speech-to-Query, Flight Details, Trip Details, Sort, Filter, Adding Passenger Details
Goals:

  1. Measure the usability of our app
  2. Understand which part(s) of our app may be confusing and misleading to users
  3. How open millenials are to using speech-to-text technology

Key Findings:

  1. Users are more inclined to use voice rather than manual input.
  2. Home screen: Mic is not intuitive, thus hard to use speech-to-query function.
  3. Home screen: Users prefer a prompt to know how to query for flight search.
  4. Home screen: 'Show details' as navigation to conduct a manual search is vague in meaning.
  5. Adding passenger: No autocomplete function for certain fields.
  6. Adding passenger: Fields are too close to one another.



Overall Testing Procedure

  1. Create test cases based on functionalities to be developed during the sprint
  2. Unit testing - Test functions internally before merging with code base in staging
  3. Integration testing - Test functions after merging code base for developed functions with staging code
  4. Internal testing by QA - test out new functionalities based on the test cases.
  5. Regression testing by QA - test functionalities completed in previous sprints.
  6. Documentation and debrief - record bugs found and discuss with app development team the results for fixing and improvements.

Reflection

Team Reflection

We learnt that change management is a very crucial skill especially in projects where changes are constant. Having the right processes in place to handle and mitigate the possible risks will help improve our productivity.

Individual Reflections

Reflection-h.jpg