Difference between revisions of "IS480 Team wiki: 2016T1 Charlies Angels Midterm Wiki"
Xwzheng.2014 (talk | contribs) |
Xwzheng.2014 (talk | contribs) |
||
Line 371: | Line 371: | ||
{| class="wikitable" style="background-color:#FFFFFF; width:100%; text-align: center;" | {| class="wikitable" style="background-color:#FFFFFF; width:100%; text-align: center;" | ||
|- | |- | ||
− | ! style="color: | + | ! style="color:black; background-color:gold;" colspan="8" | Intermediate Deliverables |
|- | |- | ||
− | | style="background-color:# | + | | style="background-color:#D4AF37; color: #000000; font-weight: bold;" | Stage |
− | | style="background-color:# | + | | style="background-color:#D4AF37; color: #000000; font-weight: bold;" | Specifications |
− | | style="background-color:# | + | | style="background-color:#D4AF37; color: #000000; font-weight: bold;" | Work Product(s) |
|- | |- | ||
Revision as of 01:54, 10 September 2016
Main Wiki | Midterm Wiki | Final Wiki |
Project Summary & Highlights
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
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 | Currently in development | 1.0 | In Progress |
10. | iStockWatchList | Currently in development | 1.0 | In Progress |
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. | StockBook Corp Action | Still in discussion | N.A | Still in discussion |
15. | StockBook CDP Import | Still in discussion | N.A | Still in discussion |
Project Schedule (Plan Vs Actual):
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 | 10 Jul 2016 | Client requested to add a Dashboard and iStockTrade as it is critical for an investment portfolio management application. | Adjusted Iteration 4's ending date to the 29th July, Iteration 5 to begin on 30th July, and UAT has been set on 5th Aug. |
6 | 22 Aug 2016 | Client has requested for more information to be displayed on the Dashboard and RoboAdvisor, 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. |
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
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. | Project Management Risk | Team has rudimentary understanding of CPF and Housing Loan calculations | Probable | Critical | Unacceptable | The team gathered feedback, and also performed extensive research on the subject matter. We also approached an employee working in CPF Board to clarify details. |
2. | 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. |
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 | In Progress |
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:
Latest Project Scope:
Scope Change | |||||||
---|---|---|---|---|---|---|---|
Date | Change Description | ||||||
01 JUL 2016 | Added 3 functionalities: a) StockBookDashboard b) iStockTrade c) iStockWatchList | ||||||
11 AUG 2016 | Enhanced RoboAdvisor feature to include more SG-Centric Development (CPF & Housing Loan Calculations) | ||||||
22 AUG 2016 | Add more information for the Dashboard & RoboAdvisor features |
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.
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 |
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:
<To be filled>
Reflection
<To be filled>
Team Reflection:
<To be filled>
Team Member #1 Reflection:
<To be filled>