Difference between revisions of "IS480 Team wiki: 2015T2 Insightiers Final Wiki"
(One intermediate revision by the same user not shown) | |||
Line 46: | Line 46: | ||
==Slides and Application Link== | ==Slides and Application Link== | ||
− | + | [[Media: Insightiers_Final_Presentation.pptx | View our final presentation slides here]]<br> | |
[http://128.199.171.117:9000/ View our SYMPLProj staging web application here]<br> | [http://128.199.171.117:9000/ View our SYMPLProj staging web application here]<br> | ||
<br> | <br> | ||
Line 176: | Line 176: | ||
|- | |- | ||
− | | rowspan=" | + | | rowspan="10" align="center"| 13 |
| width = "130px"| UAT3 | | width = "130px"| UAT3 | ||
| width="90px"| 4 Mar 2015 | | width="90px"| 4 Mar 2015 | ||
Line 232: | Line 232: | ||
|| | || | ||
|| Team and stakeholders have agreed not to explore optional features as focus should be on primary, secondary and tertiary features. Remaining time should be better used on refining application instead. | || Team and stakeholders have agreed not to explore optional features as focus should be on primary, secondary and tertiary features. Remaining time should be better used on refining application instead. | ||
+ | |- | ||
+ | |||
+ | || Prepare Handover Documents | ||
+ | || 25 Feb 2015 | ||
+ | || | ||
+ | || 17 Mar 2015 | ||
+ | || Decided to push back handover documentation preparation as team was still working on the application, thus no point in preparing handover documents when it's not time to handover yet. | ||
|- | |- | ||
Line 237: | Line 244: | ||
<br> | <br> | ||
[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Project_Management View our current and past schedule timeline here]<br> | [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Project_Management View our current and past schedule timeline here]<br> | ||
+ | |||
+ | ===Project Metrics=== | ||
+ | <br> | ||
+ | [[Image:Insightiers_Schedule_Metrics_Final.png | 700px]] | ||
+ | <br> | ||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" width="80%" | ||
+ | |- style="background:#C40000; color:white" | ||
+ | | width="20px" align="center"| Iteration | ||
+ | | width="75px" align="center"| Planned No. of Days | ||
+ | | width="75px" align="center"| Actual No. of Days | ||
+ | | width="70px" align="center"| SM Score (%) | ||
+ | | width="100px" align="center"| Actions Taken | ||
+ | |- | ||
+ | |||
+ | | align="center"| 1 | ||
+ | | align="center"| 8 | ||
+ | | align="center"| 8 | ||
+ | | align="center"| 100 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 2 | ||
+ | | align="center"| 15 | ||
+ | | align="center"| 15 | ||
+ | | align="center"| 100 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 3 | ||
+ | | align="center"| 10 | ||
+ | | align="center"| 12 | ||
+ | | align="center"| 83 | ||
+ | || Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 4 | ||
+ | | align="center"| 14 | ||
+ | | align="center"| 22 | ||
+ | | align="center"| 64 | ||
+ | || Dragged the iteration till completion of tasks. Adjusted the tasks required for the next two iterations due to shortage of time. Changed iterations 5 and 6 start and end dates in view of this iteration's delay. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 5 | ||
+ | | align="center"| 9 | ||
+ | | align="center"| 10 | ||
+ | | align="center"| 90 | ||
+ | || Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 6 | ||
+ | | align="center"| 6 | ||
+ | | align="center"| 6 | ||
+ | | align="center"| 100 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 7 | ||
+ | | align="center"| 11 | ||
+ | | align="center"| 11 | ||
+ | | align="center"| 100 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |||
+ | |||
+ | | align="center"| 8 | ||
+ | | align="center"| 15 | ||
+ | | align="center"| 16 | ||
+ | | align="center"| 94 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |||
+ | |||
+ | | align="center"| 9 | ||
+ | | align="center"| 10 | ||
+ | | align="center"| 11 | ||
+ | | align="center"| 91 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 10 | ||
+ | | align="center"| 16 | ||
+ | | align="center"| 19 | ||
+ | | align="center"| 84 | ||
+ | || Re-adjusted tasks by focusing on core functionalities. Removed supplementary task 'upload profile picture'. Shifted news feed task to after midterm. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 11 | ||
+ | | align="center"| 15 | ||
+ | | align="center"| 18 | ||
+ | | align="center"| 83 | ||
+ | || Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. However, shifted product module to the next iteration as client delayed the product list submission. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 12 | ||
+ | | align="center"| 13 | ||
+ | | align="center"| 15 | ||
+ | | align="center"| 87 | ||
+ | || Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 13 | ||
+ | | align="center"| 18 | ||
+ | | align="center"| 19 | ||
+ | | align="center"| 95 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 14 | ||
+ | | align="center"| 12 | ||
+ | | align="center"| 12 | ||
+ | | align="center"| 100 | ||
+ | || On track. Stuck to plan. | ||
+ | |- | ||
+ | |} | ||
+ | <br> | ||
+ | |||
+ | ===Project Risks=== | ||
+ | [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Risk_Management View all our risks and mitigation plans here]<br> | ||
+ | <br> | ||
+ | |||
+ | ===Technical Complexity=== | ||
+ | {| border="1" cellpadding="5" cellspacing="0" width="80%" | ||
+ | |- style="background:#C40000; color:white" | ||
+ | | width="40px" align="center"| S/N (highest complexity to lowest) | ||
+ | | width="40px" align="center"| Complexity Rating | ||
+ | | width="100px" align="center"| Technical Description | ||
+ | | width="70px" align="center"| Remarks | ||
+ | |- | ||
+ | |||
+ | | align="center"| 1 | ||
+ | | align="center"| [[Image:Insightiers_Complexity3star.png | 70px]] | ||
+ | || Integrating the projects between application and Trello was extremely challenging. | ||
+ | || Affected our planned schedule and caused a huge delay in iteration 4. | ||
+ | |- | ||
+ | |||
+ | | align="center"| 2 | ||
+ | | align="center"| [[Image:Insightiers_Complexity2star.png | 47px]] | ||
+ | || Adoption of Play framework took a lot of effort to research and understand the framework. | ||
+ | || | ||
+ | |- | ||
+ | |||
+ | | align="center"| 3 | ||
+ | | align="center"| [[Image:Insightiers_Complexity1star.png | 22px]] | ||
+ | || Introduction of predecessor and successor of project tasks required a lot of logical thinking. | ||
+ | || | ||
+ | |||
+ | |} | ||
+ | |||
+ | ==Quality of product== | ||
+ | ===Intermediate Deliverables=== | ||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" width="50%" | ||
+ | |- style="background:#C40000; color:white" | ||
+ | | width="20px" align="center"| Stage | ||
+ | | width="40px" align="center"| Specification | ||
+ | | width="40px" align="center"| Relevant Links | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"| Project Management | ||
+ | || Meeting Minutes | ||
+ | || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Meeting_Minutes Meeting Minutes] | ||
+ | |- | ||
+ | |||
+ | || Schedule and Bug Metrics | ||
+ | || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Metrics Metrics] | ||
+ | |- | ||
+ | |||
+ | || Analysis | ||
+ | || Use Case and Architecture Diagrams | ||
+ | || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Project_Documentation Diagrams], | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"| Design | ||
+ | || ER Diagram | ||
+ | || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Project_Documentation ER Diagram] | ||
+ | |- | ||
+ | |||
+ | || Prototypes | ||
+ | || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_Prototypes Prototypes] | ||
+ | |- | ||
+ | |- | ||
+ | |||
+ | || Testing | ||
+ | || User Test Plan | ||
+ | || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_UAT1 UAT1], [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_UAT2 UAT2], [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_UAT3 UAT3] | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"| Handover | ||
+ | || User Guide | ||
+ | || For users to refer to as a guide when using the application. | ||
+ | |- | ||
+ | |||
+ | || Codes | ||
+ | || Not for public disclosure. | ||
+ | |- | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | <br> | ||
+ | |||
+ | ===Deployment=== | ||
+ | |||
+ | [http://128.199.171.117:9000 View our staging SYMPLProj application here]<br> | ||
+ | [http://www.symplproj.com View our live SYMPLProj application here]<br> | ||
+ | <br> | ||
+ | [[Media:Insightiers_Deployment_Plan.pdf | View our deployment plan here]]<br> | ||
+ | [[Media:Insightiers_Contingency_Plan.pdf | View our contingency plan here]]<br> | ||
+ | [[Media:Insightiers_Contingency_Plan_V2.pdf | View our updated contingency plan here]]<br> | ||
+ | [[Media:Insightiers_Agreement_Form.pdf | View our agreement form here]]<br> | ||
+ | <br> | ||
+ | Please take note that there is user access control to various pages and functions. You may wish to find out more about the user access control table by downloading it here:<br> | ||
+ | [[Media:Insightiers_User_Access_Control_Table.xlsx | User Access Control Table for Our SYMPLProj Application]] | ||
+ | |||
+ | ===Testing=== | ||
+ | |||
+ | [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_UAT1 View our UAT1 for more details]<br> | ||
+ | [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_UAT2 View our UAT2 for more details]<br> | ||
+ | [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Insightiers_UAT3 View our UAT3 for more details]<br> | ||
+ | |||
+ | ==Reflection== | ||
+ | |||
+ | ===Team Reflection=== | ||
+ | |||
+ | *Learnt new technologies | ||
+ | *Learnt about liaising with real world client | ||
+ | *Learnt to manage time well between FYP and other commitments | ||
+ | *Learnt to be more flexible and open to changes and ideas | ||
+ | *Learnt to joke around and stay positive even during tough times | ||
+ | |||
+ | ===Individual Reflection=== | ||
+ | |||
+ | <u>Project Manager: Elaine</u> | ||
+ | *Learnt to adapt to members’ culture to communicate more effectively | ||
+ | *Learnt that understanding and planning of technical tasks is not easy | ||
+ | *Learnt to professionally manage and balance stakeholders’ interests without compromising team’s interest and schedule | ||
+ | *It’s all about patience, understanding and being accommodating | ||
+ | |||
+ | <br> | ||
+ | <u>Lead Designer: Li Dan</u> | ||
+ | *Learnt front end technologies | ||
+ | *Learnt to define and implement innovative solutions for product visuals and user experience | ||
+ | *Learnt to translate those solutions into intuitive and functional user interface | ||
+ | *It’s about being adventurous, being creative and being bold | ||
+ | |||
+ | <br> | ||
+ | <u>Lead Developer: Zheng Yixi</u> | ||
+ | *Learnt about Play framework and its usefulness to development | ||
+ | *Learnt about considering all corner cases when integrating systems | ||
+ | *Learnt about writing scalable codes leave room for future changes | ||
+ | *It’s all about being logical, being logical and being logical | ||
+ | |||
+ | <br> | ||
+ | <u>Business Analyst: Zhang Annan</u> | ||
+ | *Learnt to skillfully gather requirements from a real world client | ||
+ | *Learnt to accurately translate business to technical requirements | ||
+ | *It’s all about building relationship, communication and being comprehensive | ||
+ | |||
+ | <br> | ||
+ | <u>System Analyst: Liu Yining</u> | ||
+ | *Learnt to be meticulous in formulating detailed test cases to ensure quality application | ||
+ | *Learnt to conduct user tests and gather feedback to enhance usability of application | ||
+ | *It’s all about being meticulous, hardworking and a fortune teller | ||
+ | |||
+ | </div> | ||
+ | |||
+ | ==Feedback== | ||
+ | |||
+ | ===Supervisor=== | ||
+ | |||
+ | ===Client=== |
Latest revision as of 17:02, 17 April 2015
Contents
Slides and Application Link
View our final presentation slides here
View our SYMPLProj staging web application here
Project Progress Summary
Project Highlights
Events that have occurred since midterm:
- List of major changes to be made from midterm and UAT3:
- Added feedback function
- Changed client to project one-to-one relationship to many-to-one relationship
- Added one more user role: Designer
- Updated administrator and designer's user access control
- Enhanced application user interface based on UAT feedback
- Conducted web experiment for Product module
- User Feedback Session pushed back from Iter 14 to Iter 15
- Product officially launched on 19 March 2015
Project Challenges
- Steep learning curve for integration with Trello
- High learning curve for integration with Microsoft Outlook
- Technically challenging to generate documents to PDF format
- High learning curve for switching choice of server from Amazon Web Services to DigitalOcean
Project Achievement
- Successfully integrated seamlessly with Trello, a third party project management tool
- Boldly accepted major changes to our initial scope to enhance user experience of the application and managed to complete the entire project scope except one unimportant feature (upload profile picture) and optional features
In a Nutshell
Project Management
Project Status
Below displays a list of task status after midterm:
Module | Task/Features | Status | Confidence Level (0-1) | Remark |
User Account Management | Export Accounts to CSV | 100% implemented | 1 | Yixi & Li Dan |
Project | Create Feedback | 100% implemented | 1 | Yixi & Li Dan |
View Feedback | 100% implemented | 1 | Yixi & Li Dan | |
Export Project to CSV | 100% implemented | 1 | Yixi & Li Dan | |
Hardware | Export Hardware to CSV | 100% implemented | 1 | Yixi & Li Dan |
Quotation | Export Quotation to CSV | 100% implemented | 1 | Yixi & Li Dan |
Invoice | Export Invoice to CSV | 100% implemented | 1 | Yixi & Li Dan |
Contract | Export Contract to CSV | 100% implemented | 1 | Yixi & Li Dan |
Sign-Off | Export Sign-Off to CSV | 100% implemented | 1 | Yixi & Li Dan |
Project Schedule (Plan Vs Actual)
Along the way, team has made some changes to schedule due to various reasons such as schedule delays, new requirements from client and UAT feedback.
The table below displays the list of changes made to the schedule from midterm wiki onward (i.e. any change made to schedule that has been covered in midterm wiki will not be displayed in the following table).
Iteration | Planned | Actual | Comments | ||
13 | UAT3 | 4 Mar 2015 | 16 Mar 2015 | Pushed from before midterm to after midterm due to time constraint. | |
Change Client Account | 25 Feb 2015 | Misunderstanding of client assignment to a project. Had to change client-to-project relationship from one-to-one to many-to-one relationship. | |||
Implement Notification Feature | 25 Feb 2015 | Decided to implement it as it would be useful for users. Furthermore, there's sufficient time in this iteration. | |||
Update User Access Control | 25 Feb 2015 | Client decided to change the user access control for the role of administrator. Furthermore, there was an addition of a designer role, apart from the existing roles of administrator, project manager and client. | |||
Implement Exception Error | 25 Feb 2015 | Client has requested for the errors 404 and 500 to be handled. | |||
Browser Compatibility | 25 Feb 2015 | Application couldn't work on Safari browser. | |||
Load Testing | 25 Feb 2015 | Load testing needed to be performed as team and client was concerned with the system performance. | |||
Delete Records from Database | 25 Feb 2015 | Task removed | Initial idea of deleting records from database came from the initial thought of implementing 'deactivation', whereby a row of data is deleted from the front-end but still kept in the database. However, since now 'deactivation' has been changed to 'delete' where the act of deleting will delete data from database, there is no need for a function to delete records from database anymore. | ||
Explore Optional Features | 25 Feb 2015 | Task removed | Team and stakeholders have agreed not to explore optional features as focus should be on primary, secondary and tertiary features. Remaining time should be better used on refining application instead. | ||
Prepare Handover Documents | 25 Feb 2015 | 17 Mar 2015 | Decided to push back handover documentation preparation as team was still working on the application, thus no point in preparing handover documents when it's not time to handover yet. |
View our current and past schedule timeline here
Project Metrics
Iteration | Planned No. of Days | Actual No. of Days | SM Score (%) | Actions Taken |
1 | 8 | 8 | 100 | On track. Stuck to plan. |
2 | 15 | 15 | 100 | On track. Stuck to plan. |
3 | 10 | 12 | 83 | Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. |
4 | 14 | 22 | 64 | Dragged the iteration till completion of tasks. Adjusted the tasks required for the next two iterations due to shortage of time. Changed iterations 5 and 6 start and end dates in view of this iteration's delay. |
5 | 9 | 10 | 90 | Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. |
6 | 6 | 6 | 100 | On track. Stuck to plan. |
7 | 11 | 11 | 100 | On track. Stuck to plan. |
8 | 15 | 16 | 94 | On track. Stuck to plan. |
9 | 10 | 11 | 91 | On track. Stuck to plan. |
10 | 16 | 19 | 84 | Re-adjusted tasks by focusing on core functionalities. Removed supplementary task 'upload profile picture'. Shifted news feed task to after midterm. |
11 | 15 | 18 | 83 | Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. However, shifted product module to the next iteration as client delayed the product list submission. |
12 | 13 | 15 | 87 | Stuck to plan for upcoming iteration as schedule was not affected by the delay because of sufficient buffer days. No need for adjustment of scope. |
13 | 18 | 19 | 95 | On track. Stuck to plan. |
14 | 12 | 12 | 100 | On track. Stuck to plan. |
Project Risks
View all our risks and mitigation plans here
Technical Complexity
Quality of product
Intermediate Deliverables
Stage | Specification | Relevant Links |
Project Management | Meeting Minutes | Meeting Minutes |
Schedule and Bug Metrics | Metrics | |
Analysis | Use Case and Architecture Diagrams | Diagrams, |
Design | ER Diagram | ER Diagram |
Prototypes | Prototypes | |
Testing | User Test Plan | UAT1, UAT2, UAT3 |
Handover | User Guide | For users to refer to as a guide when using the application. |
Codes | Not for public disclosure. |
Deployment
View our staging SYMPLProj application here
View our live SYMPLProj application here
View our deployment plan here
View our contingency plan here
View our updated contingency plan here
View our agreement form here
Please take note that there is user access control to various pages and functions. You may wish to find out more about the user access control table by downloading it here:
User Access Control Table for Our SYMPLProj Application
Testing
View our UAT1 for more details
View our UAT2 for more details
View our UAT3 for more details
Reflection
Team Reflection
- Learnt new technologies
- Learnt about liaising with real world client
- Learnt to manage time well between FYP and other commitments
- Learnt to be more flexible and open to changes and ideas
- Learnt to joke around and stay positive even during tough times
Individual Reflection
Project Manager: Elaine
- Learnt to adapt to members’ culture to communicate more effectively
- Learnt that understanding and planning of technical tasks is not easy
- Learnt to professionally manage and balance stakeholders’ interests without compromising team’s interest and schedule
- It’s all about patience, understanding and being accommodating
Lead Designer: Li Dan
- Learnt front end technologies
- Learnt to define and implement innovative solutions for product visuals and user experience
- Learnt to translate those solutions into intuitive and functional user interface
- It’s about being adventurous, being creative and being bold
Lead Developer: Zheng Yixi
- Learnt about Play framework and its usefulness to development
- Learnt about considering all corner cases when integrating systems
- Learnt about writing scalable codes leave room for future changes
- It’s all about being logical, being logical and being logical
Business Analyst: Zhang Annan
- Learnt to skillfully gather requirements from a real world client
- Learnt to accurately translate business to technical requirements
- It’s all about building relationship, communication and being comprehensive
System Analyst: Liu Yining
- Learnt to be meticulous in formulating detailed test cases to ensure quality application
- Learnt to conduct user tests and gather feedback to enhance usability of application
- It’s all about being meticulous, hardworking and a fortune teller