Difference between revisions of "IS480 Team wiki: 2016T1 Charlies Angels Final Wiki"
Xwzheng.2014 (talk | contribs) |
Xwzheng.2014 (talk | contribs) |
||
Line 453: | Line 453: | ||
<li>Testing takes place at the end of each functionality built</li> | <li>Testing takes place at the end of each functionality built</li> | ||
</ul> | </ul> | ||
+ | <br/> | ||
+ | <center> | ||
+ | [[Image: Charlies_Angels_UT1.png|200px|link=https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2016T1_Charlies-Angels-QA#UT_1_Results]] | ||
+ | [[Image: Charlies_Angels_UT2.png|200px|link=https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2016T1_Charlies-Angels-QA#UT_2_Results]] | ||
+ | [[Image: Charlies_Angels_UT3.png|200px|link=https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2016T1_Charlies-Angels-QA#UT_3_Results]] | ||
+ | </center> | ||
==Reflection== | ==Reflection== |
Revision as of 22:31, 18 November 2016
Main Wiki | Midterm Wiki | Final Wiki |
Contents
Project Progress Summary
*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
Project Schedule (Plan vs. Actual)
More details of the Project Schedule in its totality, please refer to: Charlies Angels Project Schedule
Planned Project Schedule
Actual Project Schedule
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:
Current Risks that may affect the team:
S/N | RISK TYPE | RISK DESCRIPTION | LIKELIHOOD | SEVERITY | CATEGORY | MITIGATION |
---|---|---|---|---|---|---|
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:
|
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
Project Scope as at Mid-Terms
Latest Project Scope
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 |
Deployment
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]
Testing
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
Reflection
Team Reflection
Individual Reflections
Sponsor Comments
"Team Charlies’ Angels has worked very hard on the StockBook project. Despite very little knowledge in stock investment, I found that all the team members were able to pick up the investment domain knowledge very quickly. The team took great initiative in doing research on all the StockBook problems and found solution to most of the problems. The team has gone the extra mile to perform extensive market research and was instrumental in helping me to understand the millennials mind set which is a new and exciting user base to target. Most importantly, the team was able to understand my functional requirements, use the most suitable software development tools, and applied the best practices in software development to deliver a high quality StockBook for me. I am very impressed with the entire team high technical skill as they were able to solve many of my change request to the Stockbook most of the time. The project manager displayed good ability in managing the project well and achieved the targeted schedule. Overall, I am very satisfied with the entire team performance."