Difference between revisions of "IS480 Team wiki: 2015T2 T-Club Final"

From IS480
Jump to navigation Jump to search
Line 100: Line 100:
===<font style="font-family:Calibri;letter-spacing:-0.1em;font-weight:bold;text-transform:uppercase; font-size:22px">Project Timeline</font>===
===<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 [[Meida:T-club_timeline(old).jpg| here]] to view our old timeline
[[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>
<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]]
<p align="center">[[File:PvsA_TClub_1.PNG|500px]]  <font color="white">Blank</font> [[File:PvsA_TClub_2.PNG|500px]]

Revision as of 08:03, 16 April 2015

Home Team T-Club Project Overview Project Management Project Documentation
Project Summary Project Management Quality of Products Analytics Reflections

Project Progress Summary

Project Progress Status

% Completion for the iteration: 95%

8 Completed Milestones

3 Completed User Testing
Download our slides File:Here
Preview our Deployed Site link, here

For Project Overview, please see visit our page to better understand our project & scope.


  • 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

Completed Functions

  • 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)

Project Highlights

  • 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)

Project Challenges

  • 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.

Project Achievements


  • 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.

Project Management

Project Scope

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

Project Timeline


Click here to view our old timeline

Planned Vs Actual

PvsA TClub 1.PNG Blank PvsA TClub 2.PNG
PvsA TClub 3.PNG

Schedule Metric

Tclub schedulemetrics.JPG
T-Club ScheduleMetric.PNG

  • 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.

Bug Metric

Tclub bugmetrics.JPG

TClub bugmetric Final.png TClub NoOfBug Final.png 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.

Risk Management

Tclub risk metric.png

Risk Activated

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!

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

Requirements Prototype Mockups
Analysis Use Cases Workflow
System Architecture Diagram
Architecture Diagram
Design Technical Diagram
Class Diagram


T-club system achi.jpg


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
For more information, please click here

10 20 - 35
User Test 3 (Users & Client) 5th -7th April Sampling of Kaleea’ customers

For more information, please click here

15 20 - 35


Click here for more information on our analysis


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.

Individual Reflection