Difference between revisions of "IS480 Team wiki: 2013T1 BANKREVELS/Midterm"
(44 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<center> | <center> | ||
[[Image:Group_Logo.png]] | [[Image:Group_Logo.png]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</center> | </center> | ||
Line 19: | Line 6: | ||
<center> | <center> | ||
− | [[Image:Arrow_bankrevels.png|28px]] Please click [[ | + | [[Image:Arrow_bankrevels.png|28px]] Please click [[Media:bankrevels-midterm-presentation.pptx|HERE]] to download our Midterm Slides. |
− | [[Image:Arrow_bankrevels.png|28px]] Please click [[IS480 Team wiki: 2013T1 Bankrevels | | + | [[Image:Arrow_bankrevels.png|28px]] Please click [[IS480 Team wiki: 2013T1 Bankrevels |HERE]] to view our Project Description. |
</center> | </center> | ||
Line 29: | Line 16: | ||
<br /> | <br /> | ||
− | [[Image: | + | [[Image:Rmb-architecture.png|700px]] |
====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Project Highlights</font></div>==== | ====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Project Highlights</font></div>==== | ||
− | + | ||
===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Project Management</font></div>=== | ===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Project Management</font></div>=== | ||
Line 44: | Line 31: | ||
[[Image:Timeline-bankrevels3.png|1000px]] | [[Image:Timeline-bankrevels3.png|1000px]] | ||
+ | |||
+ | <br> | ||
+ | |||
+ | Key Issues <br> | ||
+ | |||
+ | 1. Iteration 7 | ||
+ | Implementation of Next Best Offer with the LiveLabs took longer than expected. | ||
+ | The iteration was shifted to iteration 10. | ||
+ | <br> | ||
+ | |||
+ | 2. Iteration 9 | ||
+ | The team spent hours solving the issues encountered on the funds transfer and thus leading to a shorter time frame to complete iteration 9. | ||
+ | RM Scheduler has finished the back-end work, left the integration on the front end of mobile app | ||
+ | Loan Calculator was shifted to iteration 10 as well. (done with mock-up of loan calculator) | ||
+ | The team is given a shorter period of time to complete stock ticker and notification | ||
+ | Team members have to put in extra man-hours to finish iteration 10 on the rescheduled time frame. | ||
+ | PM have to readjust the project schedule and add in more man power to work on the tasks in iteration 10. | ||
+ | |||
+ | ====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Priority Circle</font></div>==== | ||
+ | |||
+ | [[Image:Priority-circle-bankrevels.jpg|600px]] | ||
====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Project Highlights</font></div>==== | ====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Project Highlights</font></div>==== | ||
Line 72: | Line 80: | ||
|} | |} | ||
− | |||
− | + | ||
+ | |||
====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Man Hours</font></div>==== | ====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Man Hours</font></div>==== | ||
+ | |||
+ | [[Image:man_hours.png|600px]] | ||
+ | [[Image:sch.png|600px]] | ||
====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Project Metrics</font></div>==== | ====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Project Metrics</font></div>==== | ||
Line 103: | Line 114: | ||
* A bug is defined as errors in code that causes system to behave differently from expected. | * A bug is defined as errors in code that causes system to behave differently from expected. | ||
</p> | </p> | ||
− | |||
− | |||
=== Bug Metrics === | === Bug Metrics === | ||
[[Image:bug metrics bankrevels.jpg|700px]] | [[Image:bug metrics bankrevels.jpg|700px]] | ||
− | [[Image:bug_bankrevels.png| | + | [[Image:bug_bankrevels.png|500px]] |
− | + | <br> | |
+ | Bugs identified from iteration 6 onwards. | ||
<br> | <br> | ||
− | |||
− | <br> | + | [[Image:outstanding_bankrevels.png|500px]]<br> |
+ | Iteration 8 has the highest number of bugs while iteration 9 has an increase in number of bugs due to the feedback from UT 1 participants. | ||
+ | No immediate action is required as outstanding score is 5. | ||
=== Action Plan === | === Action Plan === | ||
Line 121: | Line 132: | ||
<br><br> | <br><br> | ||
[[Image:action plan bankrevels.jpg|700px]] | [[Image:action plan bankrevels.jpg|700px]] | ||
− | |||
− | |||
Line 132: | Line 141: | ||
[[Image:Bankrevels_risk.png|900px]] | [[Image:Bankrevels_risk.png|900px]] | ||
+ | |||
+ | ====<div style=" border-bottom: 1px dotted; background: #FFFFFF; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= black size = 4>Change Management Log</font></div>==== | ||
+ | |||
+ | [[Image:change.png|700px]] | ||
+ | |||
+ | Whenever there is a change in the services at the back-end during our client meeting, the changes has to be recorded in the change management log in order to assist individual team member to make successful personal transitions resulting in the adoption and realization of change. | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | [[Media:bankrevels-schedule.xlsx|Download]] the detailed project schedule | ||
===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Technical Complexity</font></div>=== | ===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Technical Complexity</font></div>=== | ||
+ | ====Login Using 2FA==== | ||
+ | [[Image:Bankrevels midterm techdiagram01.png|700px]] | ||
+ | ====RIB Mobile 2FA Login==== | ||
+ | [[Image:BR_RIBmobile2falogin.png|700px]] | ||
+ | ====QuikPay==== | ||
+ | [[Image:Bankrevels midterm techQuikpay.png|700px]] | ||
+ | For the NFC integration within our Quikpay function, we made use of the Titanium NFC module. Quikpay consists of the sender and the recipient function. For the sender function, we made use of the foreground dispatcher. The foreground dispatcher allows the app to intercept the ndef messages containing the quikpayID. The recipient function makes use of the createNDEFRecord method to push the message to the sender. We will be having a Quikpay QR code version as well, which is currently still in progress. | ||
− | + | The main issue faced with the NFC was with the Quikpay transaction. If a sender were to attempt to transfer funds more than once, it would not actually work. One of the reasons for the failure of the NFC in the Quikpay function was due to the design of the UI and the method in which the NFC was integrated within the application. | |
+ | ====iOS 2FA==== | ||
+ | '''X-Code''' | ||
+ | * Integration of native QR code scanner into tBank mobile app | ||
+ | * Language used : Objective – C | ||
+ | '''Zbar''' | ||
+ | * An open-source C barcode reading library | ||
+ | * Suitable for iOS | ||
+ | * Compared with Zxing, easier to use upon integration with the mobile app using X-code | ||
+ | **Clearer API documentation | ||
+ | **More samples | ||
+ | **Can read both barcode and qr-code | ||
+ | **More standardardised | ||
+ | <br> | ||
+ | '''Problems Encountered''' | ||
+ | * Programming Language | ||
+ | ** No prior knowledge of the language used | ||
+ | * Environment | ||
+ | ** OS X: UNIX Kernel | ||
+ | ** IDE: X-code | ||
===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Project Quality</font></div>=== | ===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Project Quality</font></div>=== | ||
+ | === Intermediate Deliverables === | ||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | |- | ||
+ | ! scope="col" width="100" style="background:#190707; color:#ffffff"|Stage | ||
+ | ! scope="col" width="300" style="background:#190707; color:#ffffff"| Specification | ||
+ | ! scope="col" width="300" style="background:#190707; color:#ffffff"| Modules | ||
+ | |- | ||
+ | !scope="row" rowspan="2" align="center"|Project Management | ||
+ | |align="center"| Minutes | ||
+ | |align="left"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2013T1_Bankrevels_Administrative Sponsor meeting] | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2013T1_Bankrevels_Administrative Supervisor] | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2013T1_Bankrevels_Administrative Team] | ||
+ | |- | ||
+ | |align="center"| Metrics | ||
+ | |align="left"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2013T1_Bankrevels_Metrics Schedule metrics] | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2013T1_Bankrevels_Metrics Bug metrics] | ||
+ | |- | ||
+ | !scope="row" align="center"|Analysis | ||
+ | |align="center"| Use case | ||
+ | |align="left"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2013T1_Bankrevels_Diagrams Use Case Diagram] | ||
+ | |- | ||
+ | !scope="row" rowspan="4" align="center"|Design | ||
+ | |- | ||
+ | |align="center"| tBank Architecture Diagram | ||
+ | |align="left"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2013T1_Bankrevels_tBank Retail Mobile Banking (RMB) Architecture] | ||
− | + | |} | |
Line 148: | Line 224: | ||
===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Deployment</font></div>=== | ===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Deployment</font></div>=== | ||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | |- | ||
+ | ! scope="col" width="100" style="background:#08088A; color:#ffffff"|Area | ||
+ | ! scope="col" width="300" style="background:#08088A; color:#ffffff"| Details | ||
+ | |- | ||
+ | !scope="row" align="center"|Development Environment | ||
+ | |align="left"| | ||
+ | * Deployed to Apache Tomcat server, Android and iOS | ||
+ | |||
+ | |- | ||
+ | !scope="row" align="center"|Database | ||
+ | |align="left"| | ||
+ | * mySQL | ||
+ | * ActiveSpaces (In-memory data grid) | ||
+ | |||
+ | |||
+ | |- | ||
+ | !scope="row" align="center"|Web Links | ||
+ | |align="left"| | ||
+ | *[http://10.0.106.169:8080/SMUtBank_IBS/login.action Click here to view our internet banking application] | ||
+ | |- | ||
+ | |} | ||
===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Testing</font></div>=== | ===<div style="background: #000066; padding: 12px; font-weight: bold; line-height: 0.5em"><font color= white size = 5>Testing</font></div>=== | ||
Line 289: | Line 388: | ||
=====Results and Follow Up===== | =====Results and Follow Up===== | ||
− | Data will be collected using the Questionnaire provided by the team which participants are required to fill it up after going through the application. After the collection of all the data required, the team will collate and organize the raw data into appropriate tables and give a summary of the results of this user testing. A team meeting will be held to discuss the changes to be made. | + | Data will be collected using the Questionnaire provided by the team which participants are required to fill it up after going through the application, and the facilitator's Observation Sheets. After the collection of all the data required, the team will collate and organize the raw data into appropriate tables and give a summary of the results of this user testing. A team meeting will be held to discuss the changes to be made. |
=====Key Findings===== | =====Key Findings===== |
Latest revision as of 17:39, 9 October 2013
Contents
- 1 Project Progress Summary
- 2 Project Management
- 3 Bug Metrics
- 4 Action Plan
- 5 Technical Complexity
- 6 Project Quality
- 7 Intermediate Deliverables
- 8 Deployment
- 9 Testing
- 10 Reflection
Project Progress Summary
Please click HERE to download our Midterm Slides.
Please click HERE to view our Project Description.
Project Overview
Project Highlights
Project Management
We are currently at the stage of preparing for the midterms and have completed 9 out of 11 iterations so far.
Project Timeline
Key Issues
1. Iteration 7
Implementation of Next Best Offer with the LiveLabs took longer than expected.
The iteration was shifted to iteration 10.
2. Iteration 9 The team spent hours solving the issues encountered on the funds transfer and thus leading to a shorter time frame to complete iteration 9. RM Scheduler has finished the back-end work, left the integration on the front end of mobile app Loan Calculator was shifted to iteration 10 as well. (done with mock-up of loan calculator) The team is given a shorter period of time to complete stock ticker and notification Team members have to put in extra man-hours to finish iteration 10 on the rescheduled time frame. PM have to readjust the project schedule and add in more man power to work on the tasks in iteration 10.
Priority Circle
Project Highlights
ITERATION | HIGHLIGHT / ISSUE | MITIGATION/CONTINGENCY PLAN |
---|---|---|
Iteration 6 | No prior knowledge on the Titanium
Team members requires a period of time to be familiar and explore the use of Titanium |
Arrange meeting during buffer time to complete outstanding tasks.Remind members of the risk involved. |
Iteration 8 | Resolving bugs generated during User Testing
Many bugs have surfaced during the UT 1, especially for the fund transfer functionality, and thus the team took more man hours than the planned duration to resolve them. After receiving the feedback from User Testing 1, our team has also decided to make a huge revamp (giving it a new and improved look) on the Internet Banking Application. |
Consult Prof Alan immediately on the issues faced on the Fund Transfer backend services. Individual team member has to put in more man hours to complete the tasks at hand. |
Man Hours
Project Metrics
1. Schedule Metrics
- To ensure that all project tasks are completed on time and milestones are met which will be tracked by Project Manager on a per iteration basis.
CALCULATION:
Schedule Ratio = Actual Duration / Planned Duration |
---|
2. BUG METRICS
- To minimize and keep track of the number of bugs that surface during project development and thus ensuring the quality of the application.
- A bug is defined as errors in code that causes system to behave differently from expected.
Bug Metrics
Bugs identified from iteration 6 onwards.
Iteration 8 has the highest number of bugs while iteration 9 has an increase in number of bugs due to the feedback from UT 1 participants.
No immediate action is required as outstanding score is 5.
Action Plan
Total score = (1*Number of Low) + (3*Number of High) + (10*Number of Critical)
Project Risks
We prioritized the more specific and pertinent risks that we currently facing for our midterms. please refer to our detailed schedule for other risks identified.
Change Management Log
Whenever there is a change in the services at the back-end during our client meeting, the changes has to be recorded in the change management log in order to assist individual team member to make successful personal transitions resulting in the adoption and realization of change.
Download the detailed project schedule
Technical Complexity
Login Using 2FA
RIB Mobile 2FA Login
QuikPay
For the NFC integration within our Quikpay function, we made use of the Titanium NFC module. Quikpay consists of the sender and the recipient function. For the sender function, we made use of the foreground dispatcher. The foreground dispatcher allows the app to intercept the ndef messages containing the quikpayID. The recipient function makes use of the createNDEFRecord method to push the message to the sender. We will be having a Quikpay QR code version as well, which is currently still in progress.
The main issue faced with the NFC was with the Quikpay transaction. If a sender were to attempt to transfer funds more than once, it would not actually work. One of the reasons for the failure of the NFC in the Quikpay function was due to the design of the UI and the method in which the NFC was integrated within the application.
iOS 2FA
X-Code
- Integration of native QR code scanner into tBank mobile app
- Language used : Objective – C
Zbar
- An open-source C barcode reading library
- Suitable for iOS
- Compared with Zxing, easier to use upon integration with the mobile app using X-code
- Clearer API documentation
- More samples
- Can read both barcode and qr-code
- More standardardised
Problems Encountered
- Programming Language
- No prior knowledge of the language used
- Environment
- OS X: UNIX Kernel
- IDE: X-code
Project Quality
Intermediate Deliverables
Stage | Specification | Modules |
---|---|---|
Project Management | Minutes | |
Metrics | ||
Analysis | Use case | |
Design | ||
tBank Architecture Diagram |
Deployment
Area | Details |
---|---|
Development Environment |
|
Database |
|
Web Links |
Testing
Objective
The objectives of UT 1 are to understand the intuitiveness, ease of using the application, as well as to get feedback from users on the design and layout of the application on all two platforms (Android and web).
Devices tested for Android
- Samsung S3
- Samsung Note 2
- LG Optimus G
Documents
- UT 1 Execution Plan
- Observation Sheet (Android)
- Observation Sheet (Internet)
- Raw Results (Android)
- Raw Results (Internet)
- Summary of UT 1 results
Purpose
The purpose of the UT 1 is to find out the following from the users:
- How does user find the login 2FA using QR code instead of the conventional hardware token?
- Is the QuikPay function intuitive enough?
- Can the user use the Fund Transfer function with ease?
- How easy it is for the user to navigate through the whole application?
- How does the user feel about the layout and design of our application?
- What are the user's emotions when using the application?
- What are the user's general impressions of the application?
Data Collected
Qualitative Data | Quantitative Data |
---|---|
Questionnaire
Observation sheet
For RMB only
|
Questionnaire
For RMB only
Observation Sheet
For RMB only
|
Participants, Timing and Venue held
Number of participants: 20
Date and Time held: 19 - 20 September 2013 (10am - 7pm)
Venue: SMU
Implementation
Participants will be welcomed to the user testing by the facilitator. Thereafter, participants will be given a brief overview of the application and given a list of tasks they need to complete. Participants will be required to complete all tasks, without the guidance of the facilitator. However, the participants can ask the facilitator for help should they face any problems and such instances will be recorded down on the Observation Sheet provided.
After going through the user testing of the application, participants are required to do an evaluation of the application on the Questionnaire provided. Participants are encouraged to discuss any problems they encounter with the facilitator.
The User Testing will end after the participants complete the Questionnaire. The facilitator will then thank the participants for their time and feedback provided.
Functions Tested
No. | Functions Tested |
---|---|
1 | Login 2FA |
2 | View account information |
3 | View transaction history |
4 | Fund Transfer |
5 | QuikPay |
6 | Add new payee |
7 | Remove existing payee |
Results and Follow Up
Data will be collected using the Questionnaire provided by the team which participants are required to fill it up after going through the application, and the facilitator's Observation Sheets. After the collection of all the data required, the team will collate and organize the raw data into appropriate tables and give a summary of the results of this user testing. A team meeting will be held to discuss the changes to be made.
Key Findings
Mobile Banking
- Most users have given positive feedback about using QR code such as increased convenience and ease of use. However, several users also point out the lack of security of QR code as it does not generate a dynamic password unlike the hardware token.
- Almost all users find using QR code for login 2FA easy
- No issue in usability for Account Summary and Transaction History
- Almost all users have no problems using QuikPay, Standard Funds Transfer and Adding a new payee
- Some users mentioned the lack of intuitiveness and instructions required for the delete payee function
- Navigation of the whole application is easy among the users
- Users had feedback that the application is easy to use and navigate and commented that they like the bright colour scheme of the application
- For points that users dislike, many users reflect that they had problems deleting the payee as the function is not obvious. Security issue is another point brought up by users for the usage of QR code login 2FA
- The general impression of users is our application is relatively easy to use and is able to navigate without any major issues. Some commented that they like the trendy feel the application gives
Internet Banking
- A variety of feedbacks from users on Account Summary were collected. The difficulty in reading grey fonts stood out the most among the other feedbacks collected
- A variety of feedbacks from users on Transaction History were collected. The inappropriate font size stood out the most among the other feedbacks collected. Users commented that font size used is too small to read
- No major issue in usability for Standard Funds Transfer, Adding a payee and Deleting a payee
- Navigation through the whole application is deemed to be moderately difficult among users. Users commented that the segments of the web application are unclear
- For points that users like, many users commented that it is easy to navigate the web application. The basic neat design is well-liked by the users
- For points that users dislike, some users reflect that they had problems reading the font due to its size and it being grey in colour. Few users reflect that there is too much white space for some pages
- The general impression of the application is that it is relatively easy to use
Deployment exercise
Objective
The objectives of the deployment exercise is to carry out stress testing of the our application (web and android) and to identify any bugs present in our application that we have not surfaced out during our own testing.
Participants, Timing and Venue held
Number of participants: 45 students from the Retail Banking class
Date and Time held: 2 October 2013 (8.15am - 9.30am)
Venue: SMU
Implementation
Participants are required to go through a Retail Banking Lab that involves the mobile and internet banking functions. 2 of the members will be facilitators of the exercise to help the participants should they face any problems with the application.
After going through the lab exercise, participants are encouraged to give any feedback to the facilitators.
Functions Tested
Internet Banking
No. | Functions Tested |
---|---|
1 | Login 2FA |
2 | View account information |
3 | View transaction history |
4 | Fund Transfer |
5 | Set up Customer Preferences |
Mobile Banking
No. | Functions Tested |
---|---|
1 | Login 2FA |
2 | View account information |
3 | View transaction history |
4 | Fund Transfer |
Follow Up
The facilitators will collect the feedback and communicate to the members of the group to make any necessary changes to the application (Android and web).