Difference between revisions of "IS480 Team wiki: 2016T1 Charlies Angels Final Wiki"

From IS480
Jump to navigation Jump to search
Line 476: Line 476:
===<div style="background: #000000; padding: 15px; line-height: 0.3em; text-indent: 15px; font-size:16px; font-family:Helvetica; font-weight:bold"><font color= #FFFFFF>Sponsor Testimonial</font></div>===
===<div style="background: #000000; padding: 15px; line-height: 0.3em; text-indent: 15px; font-size:16px; font-family:Helvetica; font-weight:bold"><font color= #FFFFFF>Sponsor Testimonial</font></div>===
[[Image:Charlies Angels Sponsors Testimonial.png|1000px|center]]
[[Image:Charlies Angels Sponsors Testimonial.png|1000px|center]]

Latest revision as of 12:53, 21 November 2016

Charlies Angels Logo.png

Charlies Angels Home.png  HOME


Charlies Angels About Us.png  ABOUT US


Charlies Angels Project Overview.png  PROJECT OVERVIEW


Charlies Angels Project Management.png  PROJECT MANAGEMENT


Charlies Angels Project Documentation.png  DOCUMENTATION

Main Wiki Midterm Wiki Charlies Angels Current Stage.png Final Wiki

Project Progress Summary

Charlies Angels Final Project Summary.png

Charlies Angels Deployed Project.png Charlies Angels Final Slides.png Charlies Angels Poster.png Charlies Angels Pitch Video.png

*Note: Access to Poster and Pitch Video requires SMU-Gmail Login to View

Project Highlights

There are several Key Highlights as to what Team Charlies Angels faced during the course of Project StockBook. The following are several, but not exhaustive, key highlights of Project StockBook:

  • First Singapore-centric stock investment portfolio management application
  • Risk profiling to assess your risk appetite and having a clearer direction of where you should invest
  • Robot Advisor that automatically assesses your portfolio performance against the Straits Time Index (STI)
  • Retirement Analyser assesses on how to reach your retirement goals, and provide suggestions on how to reach your retirement goals. Also, giving knowledge to the user on how he/she fares against their peers
  • First time deployment using Continuous Integration server
  • When scheduled cron-tasks on the server successfully executed
  • Using GitLab Issues as an effective means of team communication to express bugs and feature requests - really easy to see what tasks are left/you are assigned and satisfying to check them off one by one

Project Challenges

Due to the high technical and business complexity that this project endeavours, team Charlies Angels faced several key challenges during the course of this project. The following list depicts the top key challenges faced:

  • Managing state of front-end web application. This ushers in a new 'era' of web development on stateful development as compared to the traditional stateless web development
  • Keeping front-end and back-end APIs consistent with one another
  • Managing Sponsor's and Supervisor's expectations
  • No financial data purchased. Thus requiring crawling of financial data from all possible sources
  • Absence of Domain knowledge at the beginning. Hence, the team face a steep learning curve in understanding financial investments, and to understand the needs of stock investors
  • Cross-Geographical boundaries challenges faced by the team in the early phases of the project as most members were situated in India for our internship

Project Achievements

Several key achievements during the course of this project that team Charlies Angels are proud and delighted to share are as follows:

  • Proof of Concept that such an application would be well-accepted and well-received by millennials. This is achieved through our constant engagement and validation of our product with millennials
  • Proof of Concept that we are able to produce a portfolio management application with all relevant financial information for free
  • ~800 transactions made by Users
  • Developed using the latest front-end technologies such as Grommet, React, Redux

Project Management

Project Status

Charlies Angels Final Project Status.png

Project Schedule (Plan vs. Actual)

More details of the Project Schedule in its totality, please refer to: Charlies Angels Project Schedule

Team Charlies Angels is pleased to announce that there were NO major changes to the Project Schedule since our Mid-Terms presentation. The small changes made to the Project Schedule is firstly, the confirmation of our UT date has shifted to 16 Nov. This is to ensure that our functionalities are thoroughly tested before we gather users [Investors in the Market] to test our application, as they are professionals in the field, we wanted to ensure that the product is of highest possible quality before rolling it out. Second, it is the confirmation of our Final Presentation date that is on the 30th November to ensure that our sponsor could attend. Third, in lieu of ensuring that the sponsor gains more value from this project, the team has collectively broach the request of adding a Landing Page as a functionality in Iteration 11. However, no major change to the schedule was necessary. Overall, the team is highly confident on the successful completion of the project, and would seek to have a proper documentation detailing the handover process to the sponsor.

Planned Project Schedule

Charlies Angels Project Schedule MidTerms.png

Actual Project Schedule

Charlies Angels Project Schedule Finals.png

Project Metrics

For more information on how the team tabulates the score for each component, please refer to the following page on our Wiki: Charlies Angels Metrics

Team Charlies Angels is pleased to share that on the whole, there has not been major lapse(s) in our project metrics. And the team has managed to successfully steer in the right direction despite the high technical and business complexity the team faced in the course of this project.


Bug Scores


Project Risks

Please note that the following are risks in which are the top 2 faced since Mid-Terms. For a full list of the risks faced by the team, please refer to: Charlies Angels Risks & Mitigations

Due to the nature of our application, Team Charlies Angels has been proactively monitoring our efforts to mitigate risk(s). We would like to highlight the top two risks that our project is facing since the mid-terms presentation, the details are found in table below:

Charlies Angels Risk Matrix.png

Current Risks that may affect the team:

1. Technology Risk The recent acquisition of Yahoo by Verizon poses an imminent threat to the existence of the Yahoo API where the team utilises to call for its financial information. Probable Critical Unacceptable The team has identified that Yahoo would close the service only in 2017. However, in the event that the service is closed during the phase of development, the purchase of a paid API is absolutely necessary. In the event of this purchase, the team would propose the drop of all functions happening thereafter, and focus on the fetch of data as it is essentially what makes the application.

A list of websites have been provided to the client as alternate sources for varying financial data information:
  1. http://www.indexq.org/index/FSSTI.php
  2. http://www.tradingeconomics.com/singapore/stock-market
  3. http://www.tradingeconomics.com/analytics/api.aspx?source=footer
  4. http://www.shareinvestor.com/fundamental/factsheet.html?counter=D05.SI
  5. http://www.shareinvestor.com/membership/plans_overview.html
  6. https://www.google.com/finance?q=SGX%3AD05&ei=X_wFWKmtMsOFuASk-o3IAQ
  7. http://www.marketwatch.com/investing/Stock/D05?countrycode=SG
  8. https://sg.uobkayhian.com/page/UOBKH/STI_ComponentStk.jsp
  9. http://www.marketwatch.com/investing/index/sti?CountryCode=sg
  10. http://www.sharesinv.com/prices/index-sti/
  11. http://www.tradingeconomics.com/singapore/government-bond-yield
  12. http://sg.morningstar.com/ap/quicktake/returns.aspx?PerformanceId=0P00006PNA&activetab=TotalReturn
2. Technology Risk As the application is utilising web crawling patterns, this aspect is subjected heavily on the patterns that are used on the host(s) which we crawl the data from. Probable Critical Unacceptable The team has come up with mitigation plans to have two possible steps to take. The first choice would be to proceed to find an alternative website that displays the essential information that we require and proceed to crawl from there. Should the former step fail, we would proceed to consult our client, and proceed to make a purchase for paid API for financial data. In the event of this purchase, the team would propose the drop of all functions happening thereafter, and focus on the fetch of data as it is essentially what makes the application.

Technical Complexity

Please find the following complexities that are faced by Team Charlies Angels. Segregated by Business Domain, Front-End and Backend complexities.
Please note that complexities indicated with an Asterisk (*) are newly faced challenges from Mid-Terms presentation.

Business Domain Complexities

Technical Complexities
Rank Technical Complexity Faced Reason How did the team overcome this complexity
*1 Determining Risk Measurements of Stocks Lack of technical know-how, coupled with most of typical risk measurement(s) require inputs from Analysts such as Expected Returns, etc. However, we are required to calculate these with the absence of such fields Discussed and validated with our sponsor on how to determine risk measurements for stocks
*2 Calculation of Sharpe Ratio Online sources may have Sharpe Ratio calculations. However, it pertains to having an 'Expected Return' field but in our case, the sponsor requires us to calculate without it. Discussed and validated with our sponsor on how to determine Sharpe Ratio formula to be without the 'Expected Return' field
3 CPF and Housing Loan Algorithm that determines how much the user has to invest/earn from their portfolio in order to retire comfortably It is something that has never been done before. It is a completely new algorithm developed by the team. This is because the algorithm takes into account variables such as Inflation Rate, Bank's interest rates, the user's income which is subjected to CPF. In addition, there are a lot of regulations that CPF imposes The team researched extensively, and sought help from people (i.e. Employees at the CPF board). Together, the team sat down to brainstorm and formulate the algorithm that takes into account all the variables that affect the outcome
4 All financial calculations related to a Portfolio. In particular - P/E Ratio, Price to Book, Price Earning Ratio, Year-to-Date for a portfolio There is no current practice that calculates such elements pertaining to a portfolio. The current practice refers to only Stocks Researched extensively online for information, discussed with family and friends who have investment background. Furthermore, we validated our formulas with our sponsor
5 Determining Risk Profiles of Users Lack of technical know-how, coupled with existing risk assessment platforms that do not divulge on their allocation of assets in their recommendations. Additionally, there is a lack of a common practice Discussed and validated with our sponsor on how to determine a risk profile

*New technical complexities faced since Mid-Terms presentation

Front-End Technical Complexities

Technical Complexities
Rank Technical Complexity Faced Reason How did the team overcome this complexity
1 Maintaining State a Single Page Application Traditional web applications are stateless but now we have to manage the UI state Architecting the data flow of a single page application to maintain state; making use of Redux which is a predictable state container for Javascript applications
2 Continuous Deployment Because the team wanted to perform continuous integration; to perform frequent commits and integrate code as soon as possible We went a step ahead of continuous integration, and managed to deploy stable code to production whenever it has been pushed on Git
3 Developing Time-Series Data Charts in a single page application Due to the lack of support of the libraries which we require to develop such charts; inadequate guides available Completed with extensive research and exploration of how to develop such charts. Constant interaction with the Grommet community at large.
4 New UI frameworks such as React, Redux, Grommet First time being exposed to such frameworks Since these are new frameworks, some parts of the framework are incomplete/broken. Hence, the team had to submit several bug requests to the developers

Backend Technical Complexities

Technical Complexities
Rank Technical Complexity Faced Reason How did the team overcome this complexity
*1 Addition of a new backend crawler [Secondary Failover Capabilities] Due to the volatile nature of the websites we crawl from, there is a pertinent need for the team to ensure that financial data do not go down as this would render the website to be unusable. This is highly complex due to the large number of financial variables needed to crawl either on real-time demand or daily changed variables Work closely with Business Analyst to ensure that the websites crawled have tags that are identified by IDs instead of an absolute element such as td in a table. This is to ensure that there is a minimum layer of certainty for the data being crawled.
2 Database Structure Due to the large volume of data that is involved in such a project, we set to achieve a low execution time for complex queries, as this is common in a financial data related application Frequent discussions and reviews of the schema design to seek an optimised schema for robustness and scalability
3 Crawling of Data at a specified interval Lack of financial data APIs such as Bloomberg/Reuters By analysing and performing pattern recognition by developing a Scheduler application that utilises a Cron job to obtain such data at a specified interval.
4 Generation of PDF & Excel reports Lack of technical know-how in generating PDFs and Excels, coupled with the lack of proper documentation provided by the utilised libraries Extensive research and constant tweaking of codes to reach the outcome

*New technical complexities faced since Mid-Terms presentation

Changes in Scope

More details of the entire Project Scope can be found at the following page on Charlies' Angels Wiki: Charlies Angels Project Scope
The table found below indicates the changes to the scope from Mid-Terms.

Original Project Scope

Charlies Angels Original Project Scope.png

Project Scope as at Mid-Terms

Charlies Angels Project Scope.png

Latest Project Scope

Charlies Angels Final Project Scope.png

Scope Change After Mid-Terms
Date Change Description
07 Nov 2016 Added a Landing Page functionality
Scope Change Between Acceptance & Mid-Terms
Date Change Description
01 JUL 2016 Added 3 functionalities:

a) StockBookDashboard
b) iStockTrade
c) iStockWatchList
11 AUG 2016 Enhanced Robot Advisor feature to include more SG-Centric Development (CPF & Housing Loan Calculations)
22 AUG 2016 Add more information for the Dashboard & Robot Advisor features
12 SEP 2016 Swapped StockBookCorpAction with StockBook CDP Import upon negotiation with the Sponsor

Quality of Product

Project Deliverables

Stage Specifications Work Product(s)
Project Overview X-Factor Details of our X-Factor can be found here: Charlies Angels X-Factor
Project Overview & Team's Motivation The project overview and team's motivation can be found here: Project Overview and Team Motivation
Algorithm & Pseudo Codes Due to the complex nature of this application, the team has devised several algorithms and pseudo codes for your easy perusal. They can be found at this page: Charlies Angels Algorithms and Pseudo Codes
Project Scope Please find the detailed description of the entire project at this page: Charlies Angels Project Scope
System Architecture & Technologies Used Please find the System Architecture and Technologies Utilised by Charlies Angels for Project StockBook here: System Architecture and Technologies Used
Pitch Video Please find the Pitch Video for Charlies Angels here: Charlies Angels Pitch Video
*Note that a SMU-Gmail Login may be required.
Poster Please find the Poster for Charlies Angels here: Charlies Angels Project Poster
*Note that a SMU-Gmail Login may be required.
Project Management Minutes Minutes are segmented into 3 stakeholders. The sponsor, supervisor and the internal team. Minutes can be found at this URL: Charlies Angels Minutes
Metrics Team Charlies' Angels have monitored 4 different variants of Metrics. These are namely Schedule Metrics, Bug Metrics, Client Satisfaction Metrics, Team Enthusiasm Metrics
A summary of our metrics score and the breakdown can be found here: Charlies Angels Metrics Summary
Change Management Team Charlies' Angels have in place a Change Management process. Till date, there have been 5 change requests. Of which, 1 has been rejected, and the other 5 accepted.
More details of the change request(s) can be found here: Charlies Angels Change Requests
Risk Management Till date, the team has identified and came up with mitigation strategies for 10 risks spanning technological, project management, client, resource, and team morale risks. However, since Mid-Terms, the team has identified 2 major risks that the team still faces during this phase of the project.
More details, being broken down into current risks faced by the team and past risks can be found here: Charlies Angels Risks
Schedule Management Charlies Angels also monitor the changes in schedule due to changes in requirements or any delay in completion of features that causes a creep into the next iteration. Till date, there are 5 changes.
More details can be found at this page: Charlies Angels Project Schedule
Design Diagrams Entity Relationship Diagram Entity Relationship Diagram
Class Diagram Class Diagram
Use Case Diagram Use Case Diagram
Sequence Diagram(s) Please find all the Sequence Diagrams at this following URL under Charlies' Angels Technical Documents - Sequence Diagrams
Wireframes All Wireframes of the UI can be found here: Wireframes
For more information, please follow the instructions on the following page to view the mockups at Moqups.
Project Testing Testing Details of how our User Tests/Regression Testings are conducted can be found here: Quality Assurance and Testing


Project StockBook Application is deployed live and can be found at this URL: http://www.sgstockbook.com

  • Note: Please ensure that you are using the latest version of Google Chrome browser & have Javascript enabled to have an optimised viewing of this application
  • Default Login Credentials; in the event that you do not wish to register for an account:
    • Username: eustacezheng and the password: eustacezheng

Project StockBook is currently deployed LIVE on our Sponsor's server [DigitalOcean Web Hosting]


More details of the breakdown of UAT #3 and Critical Pre-Functionality Development Survey Results can be found here: Quality Assurance
More details for the Metrics (Bugs) can be found here: Charlies Angels Metrics

Total Number of Testing: 3 UAT, Internal Testing per function developed, with regression testing per end of iteration.

Before rolling out to Production Server:

  • The team conducts a mixture of Automated Testing for functionalities that is not dependent on live data & Manual Test for functionalities that require live data.
  • Testing takes place at the end of each functionality built

For more details to each User Test conducted by Team Charlies Angels, please click on the following:
Charlies Angels UT1.png    Charlies Angels UT2.png    Charlies Angels UT3.png


Team Reflection

Charlies Angels Team Reflections.png

Individual Reflections

Charlies Angels Individual Reflections.png

Charlies Angels Sponsors Testimonial.png