HeaderSIS.jpg

IS480 Team wiki: 2016T1 Charlies Angels Midterm Wiki

From IS480
Jump to navigation Jump to search


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 Charlies Angels Current Stage.png Midterm Wiki Final Wiki

Project Summary & Highlights

Deployed Live URL: http://128.199.205.42
Mid-Term Presentation Slides: File:Charlies Angels Midterms Presentation.pdf Charlies Angels Project Summary.png

Mid-Terms Snapshots:

  • The team has managed to coordinate efforts across geographical bounds (India-Singapore) in the early course of the project
  • Consumed 11 new APIs in the course of development
  • Picked up Multi-Threading on our own to improve system performance
  • Realised the importance of effective communication between all stakeholders; including internal communication
  • Learned to align product development in accordance to what users desire, instead of having tunnel vision as a development team. And also to recognise the importance of feedback, and translating them into actionable items
  • List of Requirement Changes since Acceptance:
    • Enhanced Robot Advisor & Dashboard feature to make it more comprehensive for the user
    • Took out StockBookCorpAction and replaced with StockBook CDP Import feature

Project Management

Project Status:

S/N FEATURE STATUS CONFIDENCE LEVEL TO COMPLETE (0 - 1.0) REMARKS
1. Account Management Fully deployed and tested 100%; On production server 1.0 Completed
2. Automated StockBook Database Fully deployed and tested 100%; On production server 1.0 Completed
3. Homepage UI Fully deployed and tested 100%; On production server 1.0 Completed
4. Search & Display Stock Information Fully deployed and tested 100%; On production server 1.0 Completed
5. iStockTrade Fully deployed and tested 100%; On production server 1.0 Completed
5. StockBook Portfolio Stocks Fully deployed and tested 100%; On production server 1.0 Completed
6. StockBook Portfolio Summary Fully deployed and tested 100%; On production server 1.0 Completed
7. StockBook Dashboard Deployed and tested. But not with 100% confidence yet. On production server 1.0 In Progress
8. Robot Advisor Deployed and tested. But not with 100% confidence yet. On production server 1.0 In Progress
9. StockBook Analysis Fully deployed and tested 100%; On production server 1.0 Completed
10. iStockWatchList Fully deployed and tested 100%; On production server 1.0 Completed
11. StockBook Div Tracker Future Development 1.0 Future Development
12. StockBook News Future Development 1.0 Future Development
13. StockBook Alert Future Development 1.0 Future Development
14. User Help Module Future Development 1.0 Future Development
15. StockBook CDP Import Accepted Change Request & Future Development 1.0 Future Development
16. StockBook Corp Action Removed upon negotiation N.A Removed upon negotiation

Project Schedule (Plan Vs Actual):

Original Project Timeline

Charlies Angels Original Project Timeline.png

Latest Project Timeline

Charlies Angels Project Timeline.png

Changes in Schedule
Iteration No. Date of Schedule Revision Reason Dates Changed
3 1 Jul 2016 Client requested to add Dashboard, iStockTrade, and iStockWatchList feature as it is critical for an investment portfolio management application. Adjusted to now have 11 iterations instead of the original 9.
4 27 Jul 2016 Delay in the delivery of our functionalities due to unfamiliarity Ending date of Iteration 4 pushed back by 2 days. Starting date of Iteration 5 pushed back 1 day, and UT1 pushed back by 1 day
6 22 Aug 2016 Client has requested for more information to be displayed on the Dashboard and RobotAdvisor, requiring us to place these features on top priority for changes. Hence, a schedule change is necessary. Adjusted Iteration 6's ending date to 30th Aug, and adjusted all subsequent dates accordingly to accommodate for the newly proposed scope.
7 12 Sep 2016 Client has requested to add a new feature titled "StockBook CDP Import". Upon negotiation, we have agreed to swap out StockBookCorpAction with StockBook CDP Import feature Swapped the features to be completed in Iteration 11, no changes in the schedule dates as it is a 1-for-1 swap.

Project Metrics:

Please refer to the following URL for more information on the Metrics and how it is being collected and tabulated: Charlies Angels Metrics

Charlies-Angels-Metrics.png

Project Risks:

To view past risks that the team may have/may not been affected by, please visit: Charlies Angels Risk Management

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

Business Domain Complexities

Technical Complexities
Rank Technical Complexity Faced Reason How did the team overcome this complexity
1 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
2 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
3 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

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 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
2 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.
3 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

Changes in Scope

Detailed breakdown of the project scope can be found at this page: Charlies Angels Project Scope

Original Project Scope:

Charlies Angels Original Project Scope.png

Latest Project Scope:

Charlies Angels Project Scope.png

Scope Change
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

The development team has ensured the robustness of the database to be assured that once paid APIs data streams in, so long as the existing columns of data exist in the API, the application would not break. E.g. P/E Ratio provided by the paid API that we would require in our calculations. Next, at the event of a database wipeout, the development team has 1) developed a 'AddInitialData.exe' job that bootstraps the initial set of data and subsequently, the inflow of data would be 2) executed based on the cron job's intervals for the database to be restored.

The team has also implemented a .csv configuration file that allows future administrators the ease of access in tweaking variables relating to CPF calculations, as this formula involves a lot of dynamism and could change in the future. Additionally, the team has consumed the Rollbar API which enables notifications to be sent, in the event that the user has edited the .csv configuration file incorrectly. Lastly, the team has also enabled an Admin Log to monitor any exceptions and errors that may occur.

Intermediate Deliverables:

Intermediate Deliverables
Stage Specifications Work Product(s)
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 4 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 9 risks spanning technological, project management, client, resource, and team morale risks.
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 3 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.

Deployment:

Project StockBook Application can be found at this URL: http://128.199.205.42

  • Note: Please ensure that you are using the latest version of Google Chrome browser & Javascript enabled to view the application.
  • Log in credentials; in case you do not wish to register for an account:
    • Username: eustacezheng and the password: eustacezheng

Testing:

More details of the breakdown of UAT #1 and Survey Results can be found here: Charlies Angels Quality Assurance
More details for the Metrics (Bugs) can be found here: Charlies Angels Metrics

Total Number of Testing: 1 UAT, Internal Testing per function developed, with regression testing per end of iteration. Additionally, conducted User Testing for new features such as CPF & Housing Loan calculation for investment

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; followed by a Regression Test upon the closure of each iteration.

Market Survey Summary:

  • Total no. of participants: 50
  • We have a fair mix of composition of gender, with 64% males and 36% females
  • All participants were aged between 20-29
  • 96% of our participants were Chinese, and 4% were Malay
  • 22% of our participants have began working full time, 76% have not began, and the remaining 2% are currently looking for jobs
  • We discovered that 92% of participants place between $0-$500 monthly into investments, or 8% > $1000. Surprisingly, there seem to not be a 'moderate' range of $501- $1000
  • 68% of participants have not began investment, while the other 32% being distributed across several ranges
  • 96% of participants felt that a feature to consider CPF and Housing Loan would be a useful one in a portfolio management


Reflection

Team Reflection:

Collectively, Team Charlies' Angels have learned a lot with regards to managing client's expectations, understanding our market, and gaining rudimentary financial knowledge. The team has managed to pick up on what User-Centric development is, and that is to always develop a product from the user's point of view. And when occasions arise that market sentiments is not fully aligned with the initial set of requirements, effective communication is paramount to align every stakeholder involved.

Individual Reflections:

Charlies Angels Mid-Terms Reflections.png