Difference between revisions of "IS480 Team wiki: 2015T2 T-Club Final"
(Created page with "<table style="font-weight:bold; text-transform:uppercase; letter-spacing:-0.06em; font-family:Helvetica; background-color:#fff; color:#000; width:100%; text-align:center; bord...") |
|||
(109 intermediate revisions by 4 users not shown) | |||
Line 6: | Line 6: | ||
<table style="width:100%; font-weight:bold; text-transform:uppercase; letter-spacing:-0.06em; font-family:Helvetica; background-color:#505050; color:#fff; width:100%; text-align:center;" height="60px" cellspacing="15px"> | <table style="width:100%; font-weight:bold; text-transform:uppercase; letter-spacing:-0.06em; font-family:Helvetica; background-color:#505050; color:#fff; width:100%; text-align:center;" height="60px" cellspacing="15px"> | ||
<tr> | <tr> | ||
− | <td width="20%" style="border:8px double white; ">[[IS480 Team wiki: 2015T2 T-Club|<span style="color:#FFF">Home</span>]]</td> | + | <td width="20%" style="border:8px double white; background:rgba(255,255,255,0.5);">[[IS480 Team wiki: 2015T2 T-Club|<span style="color:#FFF">Home</span>]]</td> |
<td width="20%" style="border:8px double white; ">[[IS480 Team wiki: 2015T2 T-Club Team T-Club|<span style="color:#FFF">Team T-Club</span>]]</td> | <td width="20%" style="border:8px double white; ">[[IS480 Team wiki: 2015T2 T-Club Team T-Club|<span style="color:#FFF">Team T-Club</span>]]</td> | ||
− | <td width="20%" style="border:8px double white | + | <td width="20%" style="border:8px double white;">[[IS480 Team wiki: 2015T2 T-Club Project Overview|<span style="color:#FFF">Project Overview</span>]]</td> |
<td width="20%" style="border:8px double white;">[[IS480 Team wiki: 2015T2 T-Club Project Mgmt|<span style="color:#FFF">Project Management</span>]]</td> | <td width="20%" style="border:8px double white;">[[IS480 Team wiki: 2015T2 T-Club Project Mgmt|<span style="color:#FFF">Project Management</span>]]</td> | ||
<td width="20%" style="border:8px double white;">[[IS480 Team wiki: 2015T2 T-Club Project Doc|<span style="color:#FFF">Project Documentation</span>]]</td> | <td width="20%" style="border:8px double white;">[[IS480 Team wiki: 2015T2 T-Club Project Doc|<span style="color:#FFF">Project Documentation</span>]]</td> | ||
Line 19: | Line 19: | ||
<td width="15%" style="border:5px double white; ">[[#part6|<span style="color:white">Project Management</span>]]</td> | <td width="15%" style="border:5px double white; ">[[#part6|<span style="color:white">Project Management</span>]]</td> | ||
<td width="15%" style="border:5px double white; ">[[#part2|<span style="color:white">Quality of Products</span>]]</td> | <td width="15%" style="border:5px double white; ">[[#part2|<span style="color:white">Quality of Products</span>]]</td> | ||
+ | <td width="15%" style="border:5px double white; ">[[#part5|<span style="color:white">Analytics</span>]]</td> | ||
<td width="15%" style="border:5px double white; ">[[#part3|<span style="color:white">Reflections</span>]]</td> | <td width="15%" style="border:5px double white; ">[[#part3|<span style="color:white">Reflections</span>]]</td> | ||
Line 25: | Line 26: | ||
<table style="width:100%; font-family:Helvetica; background-color:#fff; color:#000; width:100%; text-align:left; border:10px solid #01344e; border-top:0; vertical-align:top;" height="200px" cellspacing="10" cellpadding="20"> | <table style="width:100%; font-family:Helvetica; background-color:#fff; color:#000; width:100%; text-align:left; border:10px solid #01344e; border-top:0; vertical-align:top;" height="200px" cellspacing="10" cellpadding="20"> | ||
− | </ | + | <tr><td> |
+ | ==<div style="background: #ffffff; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px;text-transform:uppercase;letter-spacing:-0.1em;font-size:24px; border-bottom:solid 4px #ffffff; "><font color= #084856 size="14pt"><span id="part1"></span>Project Progress Summary</font></div>== | ||
+ | <div style="border-left: #ffffff solid 12px; padding: 0px 30px 0px 18px; font-family: Arial, Helvetica; font-size:1.25em;"> | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px"><span id="#part1">Project Progress Status</span></font>=== | ||
+ | |||
+ | |||
+ | % Completion for the iteration: 95% | ||
+ | <br> | ||
+ | |||
+ | 8 Completed Milestones<br> | ||
+ | |||
+ | 3 Completed User Testing<br> | ||
+ | Download our slides [[Media:T-CLUB_FINAL_PPT_v4.pdf|here]]<br> | ||
+ | Preview our Deployed Site link, [http://www.kaleea.com/ here] <br/> | ||
+ | |||
+ | For Project Overview, please see visit our [[IS480 Team wiki: 2015T2 T-Club Project Overview| page ]] to better understand our project & scope. | ||
+ | |||
+ | <!--Describe the project progress briefly here. Is the project completed? Link to the final presentation slides and videos.--> | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">X-Factor</font>=== | ||
+ | *We Adapted fast! - We went LIVE with 10 Transaction within 1 Month from the date of change of client | ||
+ | *Great commercial values for any startups - Fully functional e-Commerce store with Shopping Cart, Product catalog, PayPal, Discount codes | ||
+ | *Value Add: Making use of predictive analytics to identify potential current consumer behaviour | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Completed Functions</font>=== | ||
+ | * Login & Registration | ||
+ | * Reset Password | ||
+ | * Search & Filter | ||
+ | * Product Catelog Browsing | ||
+ | * Cart Function (CRUD) | ||
+ | * Paypal Payment | ||
+ | * Product Suggestions | ||
+ | * Promo Code | ||
+ | * Mailing List Subscription | ||
+ | * Email Automation (Registration, Forget password email, Subscription, Order Confirmation) | ||
+ | * Reminder email to let customer cart their products | ||
+ | * Inventory Management in Salesforce (CRUD) | ||
+ | * Order Management in Salesforce (CRUD) | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Project Highlights</font>=== | ||
+ | * Delay in launch from1st March 2015 to 8th March 2015 due to the issues in automation in updating inventory upon payment | ||
+ | * Live Deployment of web application on 8th March 2015 | ||
+ | * 10 Transactions | ||
+ | * Embedded Google Analytics to track customer behaviour and profile | ||
+ | * Dropped Checkout as Guest Function due to the Salesforce Guest Licensing restriction where every user who enters the site are treated as the same guest session, resulting in public cart. (where other users share the same cart as the one another) | ||
+ | <!-- traffic and analytics--> | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Project Challenges</font>=== | ||
+ | * Problems in implementing Checkout As Guest Function due to the limitation in Salesforce guest license. | ||
+ | * Having to Google and post questions on Salesforce Stack Exchange (Forum) due to the lack of technical knowledge to implement the functions (eg. relations of carts and products, Paypal, Creating Customer Portal to manage Customers, picture rendering) | ||
+ | * Insufficient rights from objects in Salesforce which resulted in the user interface to defer from the active sites and sites within Salesforce | ||
+ | * Finding a common time to meet the different project stakeholders due to the heavy workload in the second half of the semester. | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Project Achievements</font>=== | ||
+ | |||
+ | <!--Methods, technologies, processes, teamwork, etc. which were particularly successful – highlight things which worked very well towards completing the project. A bulleted list of one to two sentences each will do. If there are no achievement, remove this section.--> | ||
+ | |||
+ | Teamwork: | ||
+ | *The project requires the coordination between the Front-End Developer and the Back-End Developer. Designing the programming model is required so that coding will be much easier. In any event if team members is facing any difficulty in coding or documentation,the rest will give advice in completing it if they are competent in the codes or documents. | ||
+ | |||
+ | Team Communication: | ||
+ | *The arrangement of meeting every Tuesday and Friday, informal integration of members completed functions and development sessions among developers & progress updates. We also make use of whatsapp & email to foster closer teamwork and also optimized our working efficiency. | ||
+ | |||
+ | ==<div style="background: #ffffff; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px;text-transform:uppercase;letter-spacing:-0.1em;font-size:24px; border-bottom:solid 4px #ffffff; "><font color= #084856 size="14pt"><span id="part6"></span>Project Management</font></div>== | ||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Project Scope</font>=== | ||
+ | <!-- | ||
+ | [[File:Scope_FAL.PNG|600px]] | ||
+ | [[File:scope_kaleea.PNG|600px]] | ||
+ | --> | ||
+ | [[File:Kaleea_Project_Scope.PNG]] | ||
+ | * The strike out functions are those module that our team has implemented for our previous client but we will dropped these functions due to the difference in business model with our new client | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Project Timeline</font>=== | ||
+ | [[File:T-Club_Timeline_Final.jpg|70%|center]]<br>Click [https://wiki.smu.edu.sg/is480/File%3AT-club_timeline(old).jpg here] to view our old timeline | ||
+ | <strong>Planned Vs Actual</strong><br> | ||
+ | <p align="center">[[File:PvsA_TClub_1.PNG|500px]] <font color="white">Blank</font> [[File:PvsA_TClub_2.PNG|500px]] | ||
+ | <br> | ||
+ | [[File:PvsA_TClub_3.PNG|500px]] | ||
+ | </p> | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Schedule Metric</font>=== | ||
+ | |||
+ | [[File:Tclub_schedulemetrics.JPG|500px|500px]]<br>[[File:T-Club_ScheduleMetric.PNG|800px]] | ||
+ | *Iteration 4: delay in work because team members are preparing for mid terms. Hence, pm decided to shift the some of the task for product catelog enhance to the next iteration | ||
+ | |||
+ | *Iteration 6: Issues in integrating paypal, re-scheule the remaining paypal integration task to the next phase | ||
+ | |||
+ | *Even though there is a change in requirement, the schedule is on track. This is because for every iteration PM will review all the task and in any even if team members cannot complete the task on time, PM will either shift other task to next iteration or to allocate more time for the current tasks. | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Bug Metric</font>=== | ||
+ | [[File:Tclub_bugmetrics.JPG|600px]]<br> | ||
+ | |||
+ | [[File:TClub_bugmetric_Final.png|500px|500px]] [[File:TClub_NoOfBug_Final.png|600px|400px]] | ||
+ | Observations: | ||
+ | *Bug score is 0 for iteration 4 because this iteration is used to debug all the backlog bugs | ||
+ | |||
+ | *Iteration 11 has the highest bug score as there are 2 critical bugs that resulted in delay in launch | ||
+ | |||
+ | * Bug score shoot up tremendously after iteration 9 because the team did not consider all possible scenario while working on the system. | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Risk Management</font>=== | ||
+ | [[File:Tclub_risk_metric.png|550px]] | ||
+ | |||
+ | Risk Activated<br> | ||
+ | {| class="wikitable" style="text-align: center; | ||
+ | |+ | ||
+ | |- | ||
+ | ! scope="col" width="100" style="background-color:black"| <font color="white">No.</font> | ||
+ | ! scope="col" width="150" style="background-color:black"| <font color="white">Risk</font> | ||
+ | ! scope="col" width="300" style="background-color:black"| <font color="white">Type</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Likelihood</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Impact</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Risk Level</font> | ||
+ | ! scope="col" width="600" style="background-color:black"| <font color="white">Risk Management</font> | ||
+ | ! scope="col" width="300" style="background-color:black"| <font color="white">Status</font> | ||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| 1 | ||
+ | |style="text-align: center;"| Change in requirements from Salesforce | ||
+ | |style="text-align: left;"| Business | ||
+ | |style="text-align: left;"| Medium | ||
+ | |style="text-align: left;"| High | ||
+ | |style="text-align: left;"| A | ||
+ | |style="text-align: left;"| Project manager is to compare and determine the difference in scope and how it will impact the project. Inform project supervisor and course coordinator immediately and seek advice on how the team should proceed. Pm is to review the project plan and identify new milestones and delegate work to the respective members. | ||
+ | |style="text-align: left;"| Activated | ||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| 2 | ||
+ | |style="text-align: center;"| Insufficient technical knowledge to code out the function | ||
+ | |style="text-align: left;"| Technical | ||
+ | |style="text-align: left;"| Medium | ||
+ | |style="text-align: left;"| High | ||
+ | |style="text-align: left;"| A | ||
+ | |style="text-align: left;"| PProject manager is to review the plan and track the progress of the team members. Prioritise the tasks that needs to be done first and schedule a meeting to relay these to the team members. Work on the unfinished task once they are done with the critical task | ||
+ | |style="text-align: left;"| Activated | ||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| 3 | ||
+ | |style="text-align: center;"|Unresolved backlog bugs | ||
+ | |style="text-align: left;"| Technical | ||
+ | |style="text-align: left;"| Medium | ||
+ | |style="text-align: left;"| Medium | ||
+ | |style="text-align: left;"| B | ||
+ | |style="text-align: left;"| Backlog bugs are bugs that but will not affect the entire system. Bugs should be log down in the bug metrics and pm is to assign members to resolved the bug asap when they have nothing on their plate or to resolve it during the debugging phase | ||
+ | |style="text-align: left;"| Activated | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | Future Risk<br> | ||
+ | {| class="wikitable" style="text-align: center; | ||
+ | |+ | ||
+ | |- | ||
+ | ! scope="col" width="100" style="background-color:black"| <font color="white">No.</font> | ||
+ | ! scope="col" width="250" style="background-color:black"| <font color="white">Risk</font> | ||
+ | ! scope="col" width="300" style="background-color:black"| <font color="white">Type</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Likelihood</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Impact</font> | ||
+ | ! scope="col" width="250" style="background-color:black"| <font color="white">Risk Level</font> | ||
+ | |||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| 1 | ||
+ | |style="text-align: center;"|Kaleea Web Application notcompatible with Salesforce System upgrades | ||
+ | |style="text-align: left;"| Technical | ||
+ | |style="text-align: left;"| Medium | ||
+ | |style="text-align: left;"| High | ||
+ | |style="text-align: left;"| B | ||
+ | |||
+ | |- | ||
+ | |||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| 2 | ||
+ | |style="text-align: center;"|Paypal Down Time Resulting in Disrupted Business | ||
+ | |style="text-align: left;"| Technical | ||
+ | |style="text-align: left;"| Medium | ||
+ | |style="text-align: left;"| High | ||
+ | |style="text-align: left;"| B | ||
+ | |||
+ | |- | ||
+ | |||
+ | |||
+ | |} | ||
+ | Click [https://www.dropbox.com/s/w28u6a4l3bizvoa/T-club_RiskManagament.xlsx?dl=0| here] for a comprehensive risk assessment for every iterations | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Change Management</font>=== | ||
+ | |||
+ | <font color="red">** Changes after Mid-Term</font><br> | ||
+ | Click [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Midterm#part9| here] to view the Mid-Term Change Metrics | ||
+ | |||
+ | {| class="wikitable" style="text-align: center; style="font-size:30%"; | ||
+ | |+ | ||
+ | |- | ||
+ | ! scope="col" width="500" style="background-color:black"| <font color="white">Change Task/Event</font> | ||
+ | ! scope="col" width="500" style="background-color:black"| <font color="white">Mitigation Plan</font> | ||
+ | |- | ||
+ | ! scope="row"|Low | ||
+ | |style="background: red";style="text-align: left;"|Functions can be added to tertiary/good-to-have functions. Team will implement this function only if the core and secondary functions are done. | ||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"|Medium | ||
+ | |style="text-align: left;"|Team is to only work on these function if the core functions are fulfilled. PM is to reschedule the task based on the level of priorities. | ||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"|High | ||
+ | |style="text-align: left;"|Tasks is to be included in project schedule immediately. PM to reschedule tasks. Inform project supervisor if necessary to seek advice on how the team is going to proceed. | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | {| class="wikitable" style="text-align: center; style="font-size:30%"; | ||
+ | |+ | ||
+ | |- | ||
+ | ! scope="col" width="500" style="background-color:black"| <font color="white">Change Task/Event</font> | ||
+ | ! scope="col" width="150" style="background-color:black"| <font color="white">Type</font> | ||
+ | ! scope="col" width="100" style="background-color:black"| <font color="white">Requestor</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Priority</font> | ||
+ | ! scope="col" width="500" style="background-color:black"| <font color="white">Description</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Member in charge</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Date Changed</font> | ||
+ | ! scope="col" width="100" style="background-color:black"| <font color="white">For Which Iteration</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Inform Team?</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Inform Supervisor?</font> | ||
+ | ! scope="col" width="200" style="background-color:black"| <font color="white">Inform Sponsor?</font> | ||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| Delay in Product Launch | ||
+ | |style="text-align: left;"|Business | ||
+ | |style="text-align: left;"|Team | ||
+ | |style="text-align: left;"|High | ||
+ | |style="text-align: left;"| Delay in the product launch due to problem deploying paypal live which resulted in the manual update of inventory | ||
+ | |style="text-align: left;"|Gerald | ||
+ | |style="text-align: left;"| 28/02/2015 | ||
+ | |style="text-align: left;"| 10 | ||
+ | |style="text-align: left;"| Yes | ||
+ | |style="text-align: left;"| Yes | ||
+ | |style="text-align: left;"| Yes | ||
+ | |- | ||
+ | |||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| Drop Checkout as Guest Function | ||
+ | |style="text-align: left;"|Technical | ||
+ | |style="text-align: left;"|Team | ||
+ | |style="text-align: left;"|High | ||
+ | |style="text-align: left;"|Dropped this function due to some limitation in Salesforce where all users share the same public cart when they are not logged in. Refer to project highlights for more info. | ||
+ | |style="text-align: left;"| SMU | ||
+ | |style="text-align: left;"| 02/04/2015 | ||
+ | |style="text-align: left;"| 12 | ||
+ | |style="text-align: left;"| Yes | ||
+ | |style="text-align: left;"| Yes | ||
+ | |style="text-align: left;"| Yes | ||
+ | |- | ||
+ | |||
+ | ! scope="row" style="background: #eeeeee"| Add Email Reminder to checkout items feature | ||
+ | |style="text-align: left;"|Technical | ||
+ | |style="text-align: left;"|Team | ||
+ | |style="text-align: left;"|Medium | ||
+ | |style="text-align: left;"|Added this feature which is under the good to have function as the team decided to drop the checkout as guest function | ||
+ | |style="text-align: left;"| SMU | ||
+ | |style="text-align: left;"| 02/04/2015 | ||
+ | |style="text-align: left;"| 12 | ||
+ | |style="text-align: left;"| Yes | ||
+ | |style="text-align: left;"| No | ||
+ | |style="text-align: left;"| No | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Technical Complexity</font>=== | ||
+ | |||
+ | <strong>1. Checkout as Guest Function</strong> <br> | ||
+ | |||
+ | *Each site has a special user with a user type called guest user type | ||
+ | *There is no session for guest browsing | ||
+ | *Each guest user (site) has a unique profile (public access settings) | ||
+ | *Guest profiles are called Guest User Licenses | ||
+ | These profiles are associated to guest user licenses which give the ability to read/create on standard objects and full CRUD on custom objects. However, by default no CRUD is given. Admins needs to enable the right level of access based on their flow | ||
+ | |||
+ | At the moment, no solution are available. Moreover, our team has consulted with both our sponsors and clients and we have come to an agreement to drop this functionality. | ||
+ | |||
+ | <strong>2. Paypal IPN</strong><br> | ||
+ | |||
+ | When a customer makes a payment on Kaleea, PayPal will post a notification to our server at the URL we specified. Included in this notification will be all the customer’s payment information (e.g. customer name, payment amount) as well as a piece of encrypted code. When our server receives a notification, it will then post the information, including the encrypted code, back to a secure PayPal URL. PayPal will authenticate the transaction and send confirmation of its validity back to our server. Receiving IPN is crucial as it triggers our update inventory function. | ||
+ | |||
+ | We have done the following steps to receive IPN on our web: | ||
+ | *Establish a publically visible end point | ||
+ | *Implement a custom controller to execute the behaviour | ||
+ | |||
+ | |||
+ | <strong>3. Change of Domain</strong><br> | ||
+ | |||
+ | Domain names are used in URLs to identify particular Web pages. For example, in the URL http://www.pcwebopedia.com/index.html, the domain name is pcwebopedia.com. As we all know, our e-commerce site are build on Force.com platform. Force.com Sites enables us to build and deploy public web sites and web applications using Force.com. These Web sites can be assigned custom domain names, letting us run Kaleea web sites on the platform. During the initial phase of the project, we register our domain name as tclub.force.com. This can only be done once. However, we run into issues when our client decide to host and change the domain name to their store name (Kaleea). | ||
+ | |||
+ | As a result, | ||
+ | *Force.com sites provides built-in registration and login logic | ||
+ | *Registration and Login method will throw error to Force.com sites domain | ||
+ | *Recoded the entire Registration & Login logic | ||
+ | *Catch all the wrong condition! | ||
+ | |||
+ | |||
+ | References: <br /> | ||
+ | https://help.salesforce.com/apex/HTViewSolution?id=000006778&language=en_US | ||
+ | http://www.webopedia.com/TERM/D/domain_name.html | ||
+ | https://developer.salesforce.com/page/An_Introduction_to_Force.com_Sites | ||
+ | |||
+ | ==<div style="background: #ffffff; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px;text-transform:uppercase;letter-spacing:-0.1em;font-size:24px; border-bottom:solid 4px #ffffff; "><font color= #084856 size="14pt"><span id="part2"></span>Quality of Products</font></div>== | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Intemediate Deliverables</font>=== | ||
+ | |||
+ | {| class="wikitable" style="text-align: center; height:350px" | ||
+ | |+ | ||
+ | |- | ||
+ | ! scope="col" width="100" style="background-color:black"| <font color="white">Stage</font> | ||
+ | ! scope="col" width="150" style="background-color:black"| <font color="white">Specification</font> | ||
+ | ! scope="col" width="300" style="background-color:black"| <font color="white">Links</font> | ||
+ | |- | ||
+ | |||
+ | ! scope="row" rowspan="2" style="background: #eeeeee"|Project Management | ||
+ | |style="text-align: center;"|Metrics | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Metrics#part5| Schedule Metrics] | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Metrics#part5| Bug Metrics] | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Risk#part5| Risk Metrics] | ||
+ | |||
+ | |||
+ | |- | ||
+ | |||
+ | |style="text-align: center;"|Minutes | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part5|Internal Minutes] | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part5|Project Supervisor Minutes] | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part5|Client External Minutes] | ||
+ | |- | ||
+ | |||
+ | |||
+ | ! scope="row" rowspan="1" style="background: #eeeeee"|Requirements | ||
+ | |style="text-align: center;"|Prototype Mockups | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part3| Mockups] | ||
+ | |- | ||
+ | |||
+ | |||
+ | ! scope="row" rowspan="4" style="background: #eeeeee"| Analysis | ||
+ | |style="text-align: center;"|Use Cases Workflow | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part2| Use Case] | ||
+ | |- | ||
+ | |||
+ | || System Architecture Diagram | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part5| System Architecture Diagram] | ||
+ | |- | ||
+ | |||
+ | |||
+ | || Architecture Diagram | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part6| Architecture Diagram] | ||
+ | |- | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | || Workflow | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part4|Workflow] | ||
+ | |- | ||
+ | |||
+ | ! scope="row" rowspan="2" style="background: #eeeeee"| Design | ||
+ | |style="text-align: center;"|Technical Diagram | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part6| Technical Diagram] | ||
+ | |- | ||
+ | |||
+ | || Class Diagram | ||
+ | |style="text-align: left;"| | ||
+ | *[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_T-Club_Project_Doc#part6| Class Diagram] | ||
+ | |- | ||
+ | |||
+ | |- | ||
+ | |||
+ | |||
+ | |} | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Deployement</font>=== | ||
+ | [[File:T-club_system_achi.jpg|1000px]] | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px"> Testing</font>=== | ||
+ | |||
+ | Download a copy of our test plan here: [https://www.dropbox.com/s/8yhy010gy61e2b9/TClub%20UAT%201.docx?dl=0 UAT 1] | [https://www.dropbox.com/s/9jvnt7nohgv3796/TClub%20UAT%202.docx?dl=0 UAT 2] |[https://www.dropbox.com/s/o565tj7ge7ij8tp/TClub%20UAT%203.docx?dl=0 UAT 3] | ||
+ | |||
+ | |||
+ | {| border="1" | ||
+ | |- style="background:black; color:white" | ||
+ | | align="center"| User Test | ||
+ | | align="center" width = "7%"| Date of Test | ||
+ | | align="center" width="400px"| Objectives of Test | ||
+ | | align="center" width="150px"| Number of participants | ||
+ | | align="center" width="100px"| Age range | ||
+ | |- | ||
+ | |||
+ | |||
+ | | align="center"| User Test 1 (Client & Sponsors) | ||
+ | | align="center"| 13-Feb-14 | ||
+ | || Re-Align Business requirements | ||
+ | For more information, please click[[IS480 Team wiki: 2015T2 T-Club User Testing|<b> here </b>]] | ||
+ | | align="center"| 4 | ||
+ | | align="center" width = "5%"| 25-30 | ||
+ | |- | ||
+ | |||
+ | | align="center"| User Test 2 (Users & Client) | ||
+ | | align="center"| 23-Feb-14 to 24-Feb-14 | ||
+ | || | ||
+ | Evaluation of Usability<br> | ||
+ | For more information, please click[[IS480 Team wiki: 2015T2 T-Club User Testing|<b> here </b>]] | ||
+ | | align="center"| 10 | ||
+ | | align="center" width = "5%"| 20 - 35 | ||
+ | |- | ||
+ | |||
+ | | align="center"| User Test 3 (Users & Client) | ||
+ | | align="center"| 5th -7th April | ||
+ | || Sampling of Kaleea’ customers | ||
+ | For more information, please click[[IS480 Team wiki: 2015T2 T-Club User Testing|<b> here </b>]] | ||
+ | | align="center"| 15 | ||
+ | | align="center" width = "5%"| 20 - 35 | ||
+ | |- | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |} | ||
+ | |||
+ | ==<div style="background: #ffffff; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px;text-transform:uppercase;letter-spacing:-0.1em;font-size:24px; border-bottom:solid 4px #ffffff; "><font color= #084856 size="14pt"><span id="part5"></span>Analytics</font></div>== | ||
+ | |||
+ | Click [[IS480 Team wiki: 2015T2 T-Club Analytics| <b>here</b>]] for more information on our analysis | ||
+ | |||
+ | ==<div style="background: #ffffff; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px;text-transform:uppercase;letter-spacing:-0.1em;font-size:24px; border-bottom:solid 4px #ffffff; "><font color= #084856 size="14pt"><span id="#part3"></span>Reflection</font></div>== | ||
+ | |||
+ | ===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Team Reflection</font>=== | ||
+ | Our team has learnt the importance of effective communications and teamwork to achieve a common goal. The regular meetings that we have allow us to ensure that all members are on the same page and none are neglected before we move on to our specific tasks. Also, we support and learnt from one another by lending a helping hand if anyone has difficulties in completing the tasks and move forward as a team. In any event there is any doubts, we also learnt to express our opinions via the meetings, whatsapp or email. | ||
+ | |||
+ | === <font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Individual Reflection</font>=== | ||
+ | [[File:ref1.png]] |
Latest revision as of 08:12, 16 April 2015
Home | Team T-Club | Project Overview | Project Management | Project Documentation |
Project Summary | Project Management | Quality of Products | Analytics | Reflections |
Contents
|
No. | Risk | Type | Likelihood | Impact | Risk Level | Risk Management | Status |
---|---|---|---|---|---|---|---|
1 | Change in requirements from Salesforce | Business | Medium | High | A | Project manager is to compare and determine the difference in scope and how it will impact the project. Inform project supervisor and course coordinator immediately and seek advice on how the team should proceed. Pm is to review the project plan and identify new milestones and delegate work to the respective members. | Activated |
2 | Insufficient technical knowledge to code out the function | Technical | Medium | High | A | PProject manager is to review the plan and track the progress of the team members. Prioritise the tasks that needs to be done first and schedule a meeting to relay these to the team members. Work on the unfinished task once they are done with the critical task | Activated |
3 | Unresolved backlog bugs | Technical | Medium | Medium | B | Backlog bugs are bugs that but will not affect the entire system. Bugs should be log down in the bug metrics and pm is to assign members to resolved the bug asap when they have nothing on their plate or to resolve it during the debugging phase | Activated |
Future Risk
No. | Risk | Type | Likelihood | Impact | Risk Level |
---|---|---|---|---|---|
1 | Kaleea Web Application notcompatible with Salesforce System upgrades | Technical | Medium | High | B |
2 | Paypal Down Time Resulting in Disrupted Business | Technical | Medium | High | B |
Click here for a comprehensive risk assessment for every iterations
Change Management
** Changes after Mid-Term
Click here to view the Mid-Term Change Metrics
Change Task/Event | Mitigation Plan |
---|---|
Low | Functions can be added to tertiary/good-to-have functions. Team will implement this function only if the core and secondary functions are done. |
Medium | Team is to only work on these function if the core functions are fulfilled. PM is to reschedule the task based on the level of priorities. |
High | Tasks is to be included in project schedule immediately. PM to reschedule tasks. Inform project supervisor if necessary to seek advice on how the team is going to proceed. |
Change Task/Event | Type | Requestor | Priority | Description | Member in charge | Date Changed | For Which Iteration | Inform Team? | Inform Supervisor? | Inform Sponsor? |
---|---|---|---|---|---|---|---|---|---|---|
Delay in Product Launch | Business | Team | High | Delay in the product launch due to problem deploying paypal live which resulted in the manual update of inventory | Gerald | 28/02/2015 | 10 | Yes | Yes | Yes |
Drop Checkout as Guest Function | Technical | Team | High | Dropped this function due to some limitation in Salesforce where all users share the same public cart when they are not logged in. Refer to project highlights for more info. | SMU | 02/04/2015 | 12 | Yes | Yes | Yes |
Add Email Reminder to checkout items feature | Technical | Team | Medium | Added this feature which is under the good to have function as the team decided to drop the checkout as guest function | SMU | 02/04/2015 | 12 | Yes | No | No |
Technical Complexity
1. Checkout as Guest Function
- Each site has a special user with a user type called guest user type
- There is no session for guest browsing
- Each guest user (site) has a unique profile (public access settings)
- Guest profiles are called Guest User Licenses
These profiles are associated to guest user licenses which give the ability to read/create on standard objects and full CRUD on custom objects. However, by default no CRUD is given. Admins needs to enable the right level of access based on their flow
At the moment, no solution are available. Moreover, our team has consulted with both our sponsors and clients and we have come to an agreement to drop this functionality.
2. Paypal IPN
When a customer makes a payment on Kaleea, PayPal will post a notification to our server at the URL we specified. Included in this notification will be all the customer’s payment information (e.g. customer name, payment amount) as well as a piece of encrypted code. When our server receives a notification, it will then post the information, including the encrypted code, back to a secure PayPal URL. PayPal will authenticate the transaction and send confirmation of its validity back to our server. Receiving IPN is crucial as it triggers our update inventory function.
We have done the following steps to receive IPN on our web:
- Establish a publically visible end point
- Implement a custom controller to execute the behaviour
3. Change of Domain
Domain names are used in URLs to identify particular Web pages. For example, in the URL http://www.pcwebopedia.com/index.html, the domain name is pcwebopedia.com. As we all know, our e-commerce site are build on Force.com platform. Force.com Sites enables us to build and deploy public web sites and web applications using Force.com. These Web sites can be assigned custom domain names, letting us run Kaleea web sites on the platform. During the initial phase of the project, we register our domain name as tclub.force.com. This can only be done once. However, we run into issues when our client decide to host and change the domain name to their store name (Kaleea).
As a result,
- Force.com sites provides built-in registration and login logic
- Registration and Login method will throw error to Force.com sites domain
- Recoded the entire Registration & Login logic
- Catch all the wrong condition!
References:
https://help.salesforce.com/apex/HTViewSolution?id=000006778&language=en_US
http://www.webopedia.com/TERM/D/domain_name.html
https://developer.salesforce.com/page/An_Introduction_to_Force.com_Sites
Quality of Products
Intemediate Deliverables
Stage | Specification | Links |
---|---|---|
Project Management | Metrics |
|
Minutes | ||
Requirements | Prototype Mockups | |
Analysis | Use Cases Workflow | |
System Architecture Diagram | ||
Architecture Diagram | ||
Workflow | ||
Design | Technical Diagram | |
Class Diagram |
Deployement
Testing
Download a copy of our test plan here: UAT 1 | UAT 2 |UAT 3
User Test | Date of Test | Objectives of Test | Number of participants | Age range |
User Test 1 (Client & Sponsors) | 13-Feb-14 | Re-Align Business requirements
For more information, please click here |
4 | 25-30 |
User Test 2 (Users & Client) | 23-Feb-14 to 24-Feb-14 |
Evaluation of Usability |
10 | 20 - 35 |
User Test 3 (Users & Client) | 5th -7th April | Sampling of Kaleea’ customers
For more information, please click here |
15 | 20 - 35 |
Analytics
Click here for more information on our analysis
Reflection
Team Reflection
Our team has learnt the importance of effective communications and teamwork to achieve a common goal. The regular meetings that we have allow us to ensure that all members are on the same page and none are neglected before we move on to our specific tasks. Also, we support and learnt from one another by lending a helping hand if anyone has difficulties in completing the tasks and move forward as a team. In any event there is any doubts, we also learnt to express our opinions via the meetings, whatsapp or email.