HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2017T1 ICON Final"

From IS480
Jump to navigation Jump to search
 
(44 intermediate revisions by 2 users not shown)
Line 27: Line 27:
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Final Presentation Slides</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Final Presentation Slides</font></div>===
{| class="wikitable" style="background-color:#FFFFFF;"
 
|-
 
! style="color:white; background-color:#515355;" | Version
 
! style="color:white; background-color:#515355;" | Slides
 
  
|-
+
*Link to Final presentation slides
| 1.0
+
  https://drive.google.com/drive/folders/14z_T3G1rGduQoCzsnE95JVzMSMF8txlX?usp=sharing
| -
 
|}
 
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Highlights</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Highlights</font></div>===
 +
<center>
 +
[[Image:ICON_project_in_numbers.png|900px]]
 +
</center>
 +
 +
* [[Media:AMS_Brochure.pdf|Click here to download project brochure]]
 +
<center>
 +
[[Image:ICON brochure1.PNG|450px]] [[Image:ICON brochure2.PNG|450px]] <br>
 +
</center>
 +
<br>
 +
Positive Highlights:
 
* Additional features to the system to further bring values to the client
 
* Additional features to the system to further bring values to the client
* Extra efforts put in by the developers to deliver the system, with major additional features, on time.
+
* Extra efforts put in by the developers to deliver the system, with major changes, on time
 +
 
 +
What unexpected events occurred?
 +
* Major changes in business requirements, particularly in Project Management Module & Expense Management Module
 +
** Changes in the format of template used for expense processing via QuickBooks
 +
** Reducing the scope of Expense Management Module, but focusing on the depth and the quality of the remaining features
 +
** Data formats required for creating resources and entities such as employees, projects and tasks.
 +
** A new proposal on Dashboard module by the team
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Challenges</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Challenges</font></div>===
* Last-minute changes in the business requirements requested by the client
+
* Change requirements were more frequent, however in order to provide real business value and keep users onboard, the team accepted the majority of changes.
 
* As a result, major changes in the project scope and the project timeline
 
* As a result, major changes in the project scope and the project timeline
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Achievements</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Achievements</font></div>===
 +
 +
* Despite the major changes in, particularly, the Expense Management Module and the introduction of Dashboard module, the team has managed the scope and delivered the system on time
 +
* Team took further initiative to introduce the Dashboard Module to the business, after identifying and understanding that the client needs a clear view on its performances
  
 
==<div style="background: #000080; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Management</font></div>==
 
==<div style="background: #000080; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Management</font></div>==
Line 56: Line 70:
 
| [[Image:icon_project_overview_scope_1_cross.png|thumb|330px|center|Pre-Acceptance]]
 
| [[Image:icon_project_overview_scope_1_cross.png|thumb|330px|center|Pre-Acceptance]]
 
| [[Image:Icon_project_overview_scope_2_tick.png|thumb|330px|center|Pre-Midterm]]
 
| [[Image:Icon_project_overview_scope_2_tick.png|thumb|330px|center|Pre-Midterm]]
| [[Image:Icon_project_overview_scope_3_tick.png|thumb|330px|center|Current]]
+
| [[Image:Icon_project_overview_scope_3.png|thumb|330px|center|Current]]
 
|}
 
|}
  
* <b>[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_ProjectSchedule Click here for ICON_Project Management_Project Timeline]</b><br>  
+
 
 +
* <b>[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_Scope Click here for ICON_Project Management_Project Scope]</b><br>
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
| [[Image:ICON_Timeline_Pre-Accep.PNG|thumb|330px|center|Pre-Acceptance]]
 
| [[Image:ICON_Timeline_Pre-Accep.PNG|thumb|330px|center|Pre-Acceptance]]
 
| [[Image:ICON timeline V7 highlight.png|thumb|330px|center|Pre-Midterm]]
 
| [[Image:ICON timeline V7 highlight.png|thumb|330px|center|Pre-Midterm]]
| [[Image:ICON timeline V8 highlight.png|thumb|330x|center|Current]]
+
| [[Image:ICON timeline V9.png|thumb|330px|center|Current]]
 
 
 
|}
 
|}
  
Line 72: Line 86:
 
====Task Metrics====
 
====Task Metrics====
 
* <b>[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_Metrics Click here for ICON_Project Management_Task Metrics]</b><br>
 
* <b>[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_Metrics Click here for ICON_Project Management_Task Metrics]</b><br>
[[Image:ICON_Task Number_Final.PNG|750px]] <br>
+
<center>
[[Image:ICON_Task_Metrics_Final.PNG|750px]]<br>
+
[[Image:ICON_Task Number_Final.PNG|900px]] <br>
 +
[[Image:ICON_Task_Metrics_Final.PNG|900px]]<br>
 +
</center>
 
<br>
 
<br>
  
 
====Bug Metrics====
 
====Bug Metrics====
 
* <b>[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T2_ICON_bugMetrics Click here for ICON_Project Management_Bug Metrics]</b><br>
 
* <b>[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T2_ICON_bugMetrics Click here for ICON_Project Management_Bug Metrics]</b><br>
 +
<center>
 +
[[Image:ICON Bug Metrics_Final.PNG|900px]]<br>
 +
[[Image:Icon bug score_Final.PNG|900px]]<br>
 +
</center>
 +
<br>
  
[[Image:ICON Bug Metrics_Final.PNG|750px]]<br>
+
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Key Technical Complexity</font></div>===
[[Image:Icon bug score_Final.PNG|750px]]<br>
+
 
 +
 
 +
* [https://drive.google.com/drive/folders/13qO02FARpKgoW9YfUzO64MFuBTgI6IUD?usp=sharing/ Click here for the Key Technical Complexity Documentation] <br>
 
<br>
 
<br>
 +
{| class="wikitable" style="margin: auto;width:90%; text-align:center; background: white;"
 +
! style="background: #282828; color: white; font-weight: bold; width:30px" | S/N
 +
! style="background: #282828; color: white; font-weight: bold; width:250px" | Problem
 +
! style="background: #282828; color: white; font-weight: bold; width:250px" | Solution
 +
! style="background: #282828; color: white; font-weight: bold; width:500px" | Screenshot
  
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Complexity</font></div>===
+
|-
 +
| 1
 +
|Figure out the optimal architecture that would give Abundant’s employees seamless access to their respective client’s QuickBooks account
 +
|Solution Part 1: A system of QBO “apps” that would act as the gateway for information to pass to and from AMS and the QuickBooks account securely and seamlessly.
 +
||[[image:icon_tech_solution_1_1.png|480px]] <br>
 +
[[https://www.dropbox.com/s/rzrqid8z1xqeyuq/icon_tech_solution_1_1.png?dl=0 Click here for an enlarged view]] <br>
 +
We created a Token entity as a wrapper and customized a Client Factory object which can accept our Token objects as parameters to handle QBO’s Oauth2 requirements. <br>
 +
[[image:icon_tech_solution_1_2.png|480px]] <br>
 +
[[https://www.dropbox.com/s/sj9knb6zonl2f0p/icon_tech_solution_1_2.png?dl=0 Click here for an enlarged view]] <br>
 +
With QBO Platform client, we call a bearer token which also checks the validity of the Refresh Token (generated from the set-up stage found in the manual) that produces an updated Refresh Token which we update in our database for future use and an Access Token <br>
 +
[[image:icon_tech_solution_1_3.png|480px]] <br>
 +
[[https://www.dropbox.com/s/d1t4yj05yzrf291/icon_tech_solution_1_3.png?dl=0 Click here for an enlarged view]] <br>
 +
The access token is used as a parameter to create QBO’s context object which builds the Data Service, the channel to send or read data from the Intuit servers (formal name for QBO servers).  
 +
|-
 +
|2
 +
|Figure out the optimal architecture that would give Abundant’s employees seamless access to their respective client’s QuickBooks account (Cont'd.)
 +
|Solution Part 2: We designed the system in such a way that Abundant’s employees may verify the contents of the submission before the actual execution to ensure data validity and accuracy in an efficient manner.
 +
||[[image:icon_tech_solution_2_1.png|480px]] <br>
 +
[[https://www.dropbox.com/s/frictjgfcm6eziz/icon_tech_solution_2_1.png?dl=0 Click here for an enlarged view]] <br>
 +
This is done first by creating a class, PaymentFactory, that takes in the Excel file and generates our own customized Payment objects from the rows of data. <br>
 +
[[image:Icon_tech_solution_2_2.png|480px]] <br>
 +
[[https://www.dropbox.com/s/jtndtnqzbc1pl66/icon_tech_solution_2_2.png?dl=0 Click here for an enlarged view]] <br>
 +
Next, we created QBODAO, which would scan each Payment objects and verify the contents with the data in the Intuit servers through the Data Service object
 +
[[image:Icon_tech_solution_2_3.png|480px]] <br>
 +
[[https://www.dropbox.com/s/25nrtoh9q65alag/icon_tech_solution_2_3.png?dl=0 Click here for an enlarged view]] <br>
 +
After uploading the file, the PaymentFactory and QBODAO objects also create QuickBooks’ Purchase objects so that once the user has verified the information in the process page, the Purchase objects are immediately sent to QuickBooks through a batch operation.
 +
[[image:Icon tech solution 2 4.png|480px]] <br>
 +
[[https://www.dropbox.com/s/y1id29ijnvabw1p/icon_tech_solution_2_4.png?dl=0 Click here for an enlarged view]] <br>
 +
After processing, we would also give the employee final confirmation on the status of the submission of the Purchases to avoid duplicate submissions or highlighted run time errors that could not be detected previously. <br><br>
 +
Finally, we adapted a mailing API to give the employees the ability to save these results to their email in the click of a button.
 +
|-
 +
|3
 +
|Create a project deadline generator that caters to all their client’s deadlines automatically.
 +
|We created an algorithm that simplifies the business logic Abundant gave us and create a Timeline object
 +
|[[Image:icon_tech_solution_3.jpg|480px]] <br>
 +
[[https://www.dropbox.com/s/mldtbc5ne0r4q25/icon_tech_solution_3.jpg?dl=0/ Click here for an enlarged view]]
 +
|-
 +
|}
  
 
==<div style="background: #000080; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Quality of Product</font></div>==
 
==<div style="background: #000080; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Quality of Product</font></div>==
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Deliverables</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Project Deliverables</font></div>===
 +
<center>
 
{| class="wikitable" style="background-color:#FFFFFF;"
 
{| class="wikitable" style="background-color:#FFFFFF;"
 +
|- style="text-align:center; background:#515355; color:white"
 +
|align="center"| Topic of Interest
 +
|align="center"| Link
 
|-
 
|-
! style="color:white; background-color:#515355;" | Stage
+
|rowspan="4"| Project Management
! style="color:white; background-color:#515355;" | Specification 
+
|| [[IS480 Team wiki: _2017T1_ICON MeetingMinutes|Minutes]]
! style="color:white; background-color:#515355;" | Modules
 
|-
 
 
 
|rowspan="2"| Project Management
 
 
 
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_MeetingMinutes Meeting Minutes]
 
|| Client, Supervisor & Team Meeting Minutes
 
|-
 
 
 
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_Metrics Metrics]
 
|| Task & Bug Metrics
 
|-
 
 
 
 
 
|rowspan="1"| Requirements
 
 
 
||To-be-updated
 
||To-be-updated
 
 
|-
 
|-
 
+
|| [[IS480 Team wiki: 2017T1 ICON Metrics|Metrics]]
 
 
 
 
|rowspan="2"| Analysis
 
 
 
||Use Case Diagram
 
||Overall
 
 
|-
 
|-
 
+
|| [[IS480 Team wiki: _2017T2_ICON_RiskAssessment|Risk Management]]
||Business Process Diagram
 
||To-Be & As-Is Process Diagram
 
 
|-
 
|-
 
+
|| [[IS480 Team wiki: _2017T2_ICON_chanageManagement|Change Management]]
|rowspan="4"| Design
 
 
 
||Solution Overview Diagram
 
||-
 
 
|-
 
|-
  
||ER Diagram
+
|rowspan="3"| Project Overview
||-
+
|| [[IS480 Team wiki: _2017T1_ICON_ProjectDescription|Project Overview]]
 
|-
 
|-
 
+
|| [https://drive.google.com/drive/folders/1MeJm77SzITxrUNH8y01DQpac3lmQ9zGx?usp=sharing/ Poster]
||Navigation Diagram
 
||-
 
 
|-
 
|-
 
+
|| [https://drive.google.com/drive/folders/1A1oPSU0rX4gJ20vvC5huqnlLkibNWPZw?usp=sharing/ Pitch Video]
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_MockDesign Prototypes]
 
||Paper, Low-Fidelity, High-Fidelity Prototypes
 
 
|-
 
|-
  
 
+
|rowspan="2"| Project Documentation
|rowspan="2"| Handover
+
|| [[IS480 Team wiki: _2017T1_ICON_Diagrams| Diagrams (Workflow, Solution Overview, Use Case, ER, Navigation) ]]
 
 
|| Manual
 
|| [https://docs.google.com/document/d/12DUsrwK31AsvcGAnrT3gRkf6cPiyIO2AU7mx8S6m3zI/edit?usp=sharing Click to view]
 
 
|-
 
|-
 
+
|| [[IS480 Team wiki: _2017T1_ICON_MockDesign| Prototype]]
|| Code
 
|| To-be-updated
 
 
|-
 
|-
  
|rowspan="1"| Testing
+
|| Testing
 
+
|| [[IS480 Team wiki: _2017T1_ICON_Testing| Testing Document]]
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2017T1_ICON_Testing User Testing 1-6]
 
|| UT Plans & Results
 
|-
 
 
|}
 
|}
 
+
</center>
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Deployment</font></div>===
 
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Testing</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Testing</font></div>===
Line 191: Line 217:
 
|-
 
|-
 
|| User Testing 4
 
|| User Testing 4
|| 5 Jan 2018
+
|| 19 Jan 2018
 
|| Abundant Accounting's Office
 
|| Abundant Accounting's Office
 
|| 3
 
|| 3
 
|-
 
|-
 
|| User Testing 5
 
|| User Testing 5
|| 19 Jan 2018
+
|| 24 Jan 2018
 
|| Abundant Accounting's Office
 
|| Abundant Accounting's Office
|| -
+
|| 3
 
|-
 
|-
 
|| User Testing 6
 
|| User Testing 6
|| 24 Jan 2018
+
|| 31 Jan 2018
|| Abundant Accounting's Office
+
|| Singapore Management University
|| -
+
|| 30
 
|-
 
|-
 
|}
 
|}
Line 210: Line 236:
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Team Reflection</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Team Reflection</font></div>===
 +
 +
The project has offered an enriching experience for the team. The team, in particular, has learnt the importance of effective communications with stakeholders to ensure that every part of development is aligned with the business requirements
 +
and the expectations.
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Individual Reflection</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Individual Reflection</font></div>===
 +
 +
<b>Bernita</b><br/>
 +
As a whole, FYP has taught me more about communicating with various stakeholders. Depending on the stakeholder, ideas have to be explained in such a way that they can understand. For example, a business person with no technical knowledge will not understand the limitations of a program. Another instance would be if we do not provide evidence of our hardwork or statements that we make, our words may not be well understood or worse, it may be breed mistrust. Overall, FYP has also pushed me to think out of the box and learn independently and as a team
 +
 +
<b>Jae Hyeong</b><br/>
 +
Through FYP, not only did I learn to work under pressure and time constraints, but I’ve also learnt to enjoy the process of overcoming challenges with my team. The project has also offered a great learning experience to apply the knowledge and skills we learn in school to a real life project. I learnt the importance of strong communication with sponsor to gather frequent user feedback to improve our application and following a detailed work schedule to ensure we meet our project goals/milestone on time.
 +
 +
<b>Jagdish</b><br/>
 +
My FYP journey has taught me 3 main lessons. Firstly, you are your only limit. During the past 9 months, I have challenged myself more than i could have imagined. Secondly, the importance of communication between all stakeholders cannot be underestimated. Lastly, TEAM means Together Everyone Achieves More but also a team is only as strong as its weakest player.
 +
 +
<b>Min Oo</b><br/>
 +
This past few months have been a deep learning curve for me. I learnt a lot in managing stakeholders, delivering the product on time, and finding the best architecture to suit the business process. I would say that these past few months have nurtured me and made myself confident as programming has not been an easy road for me.
 +
 +
<b>Yu Mai</b><br/>
 +
Looking back on our journey, I am confident if we were to redo everything with the knowledge we gained we could accomplish it all in a fraction of the time we have spent. It was a challenging, tiring yet fruitful challenge that has definitely given me invaluable experience, especially in the area of project management, software development and client relationship management.
  
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Sponsor Comment</font></div>===
 
===<div style="background: #1E90FF; padding: 10px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica" align="center"><font color=#FFFFFF face="Arial">Sponsor Comment</font></div>===
 +
* The team has put in much effort to manage and accommodate the changes which we have raised
 +
* They have also took initiatives to further bring values to our business, which we appreciate very much
 +
* Testimonial videos from the employees of Abundant Accounting (Please turn on the Closed Caption):
 +
 +
{| class="wikitable"
 +
|-
 +
|  [[Image:ICON_JY.PNG|thumb|530px|center|[https://www.youtube.com/watch?v=aqcTJ-6MtWo Click here to watch Jiayi's Testimonial]]]
 +
|  [[Image:ICON_Eugene.PNG|thumb|530px|center|[https://www.youtube.com/watch?v=8VMmFsfC-1A Click here to watch Eugene's Testimonial]]]
 +
|}

Latest revision as of 11:21, 3 March 2018

ICON Banner.jpg


Icon Home.png
Icon TheTeam.png
Icon ProjectOverview.png
Icon ProjectSchedule.png
Icon Documentation.png
MAIN WIKI MIDTERMS WIKI FINAL WIKI

Project Progress Summary

Final Presentation Slides

  • Link to Final presentation slides
 https://drive.google.com/drive/folders/14z_T3G1rGduQoCzsnE95JVzMSMF8txlX?usp=sharing

Project Highlights

ICON project in numbers.png

ICON brochure1.PNG ICON brochure2.PNG


Positive Highlights:

  • Additional features to the system to further bring values to the client
  • Extra efforts put in by the developers to deliver the system, with major changes, on time

What unexpected events occurred?

  • Major changes in business requirements, particularly in Project Management Module & Expense Management Module
    • Changes in the format of template used for expense processing via QuickBooks
    • Reducing the scope of Expense Management Module, but focusing on the depth and the quality of the remaining features
    • Data formats required for creating resources and entities such as employees, projects and tasks.
    • A new proposal on Dashboard module by the team

Project Challenges

  • Change requirements were more frequent, however in order to provide real business value and keep users onboard, the team accepted the majority of changes.
  • As a result, major changes in the project scope and the project timeline

Project Achievements

  • Despite the major changes in, particularly, the Expense Management Module and the introduction of Dashboard module, the team has managed the scope and delivered the system on time
  • Team took further initiative to introduce the Dashboard Module to the business, after identifying and understanding that the client needs a clear view on its performances

Project Management

Project Schedule (Planned vs. Actual)

Pre-Acceptance
Pre-Midterm
Current


Pre-Acceptance
Pre-Midterm
Current

Project Metrics

Task Metrics

ICON Task Number Final.PNG
ICON Task Metrics Final.PNG


Bug Metrics

ICON Bug Metrics Final.PNG
Icon bug score Final.PNG


Key Technical Complexity


S/N Problem Solution Screenshot
1 Figure out the optimal architecture that would give Abundant’s employees seamless access to their respective client’s QuickBooks account Solution Part 1: A system of QBO “apps” that would act as the gateway for information to pass to and from AMS and the QuickBooks account securely and seamlessly. Icon tech solution 1 1.png

[Click here for an enlarged view]
We created a Token entity as a wrapper and customized a Client Factory object which can accept our Token objects as parameters to handle QBO’s Oauth2 requirements.
Icon tech solution 1 2.png
[Click here for an enlarged view]
With QBO Platform client, we call a bearer token which also checks the validity of the Refresh Token (generated from the set-up stage found in the manual) that produces an updated Refresh Token which we update in our database for future use and an Access Token
Icon tech solution 1 3.png
[Click here for an enlarged view]
The access token is used as a parameter to create QBO’s context object which builds the Data Service, the channel to send or read data from the Intuit servers (formal name for QBO servers).

2 Figure out the optimal architecture that would give Abundant’s employees seamless access to their respective client’s QuickBooks account (Cont'd.) Solution Part 2: We designed the system in such a way that Abundant’s employees may verify the contents of the submission before the actual execution to ensure data validity and accuracy in an efficient manner. Icon tech solution 2 1.png

[Click here for an enlarged view]
This is done first by creating a class, PaymentFactory, that takes in the Excel file and generates our own customized Payment objects from the rows of data.
Icon tech solution 2 2.png
[Click here for an enlarged view]
Next, we created QBODAO, which would scan each Payment objects and verify the contents with the data in the Intuit servers through the Data Service object Icon tech solution 2 3.png
[Click here for an enlarged view]
After uploading the file, the PaymentFactory and QBODAO objects also create QuickBooks’ Purchase objects so that once the user has verified the information in the process page, the Purchase objects are immediately sent to QuickBooks through a batch operation. Icon tech solution 2 4.png
[Click here for an enlarged view]
After processing, we would also give the employee final confirmation on the status of the submission of the Purchases to avoid duplicate submissions or highlighted run time errors that could not be detected previously.

Finally, we adapted a mailing API to give the employees the ability to save these results to their email in the click of a button.

3 Create a project deadline generator that caters to all their client’s deadlines automatically. We created an algorithm that simplifies the business logic Abundant gave us and create a Timeline object Icon tech solution 3.jpg

[Click here for an enlarged view]

Quality of Product

Project Deliverables

Topic of Interest Link
Project Management Minutes
Metrics
Risk Management
Change Management
Project Overview Project Overview
Poster
Pitch Video
Project Documentation Diagrams (Workflow, Solution Overview, Use Case, ER, Navigation)
Prototype
Testing Testing Document

Testing

User Testing Date Venue Number of Testers
User Testing 1 11 Oct 2017 Abundant Accounting's Office 2
User Testing 2 3 Nov 2017 Abundant Accounting's Office 3
User Testing 3 11 Nov 2017 Abundant Accounting's Office 3
User Testing 4 19 Jan 2018 Abundant Accounting's Office 3
User Testing 5 24 Jan 2018 Abundant Accounting's Office 3
User Testing 6 31 Jan 2018 Singapore Management University 30

Reflection

Team Reflection

The project has offered an enriching experience for the team. The team, in particular, has learnt the importance of effective communications with stakeholders to ensure that every part of development is aligned with the business requirements and the expectations.

Individual Reflection

Bernita
As a whole, FYP has taught me more about communicating with various stakeholders. Depending on the stakeholder, ideas have to be explained in such a way that they can understand. For example, a business person with no technical knowledge will not understand the limitations of a program. Another instance would be if we do not provide evidence of our hardwork or statements that we make, our words may not be well understood or worse, it may be breed mistrust. Overall, FYP has also pushed me to think out of the box and learn independently and as a team

Jae Hyeong
Through FYP, not only did I learn to work under pressure and time constraints, but I’ve also learnt to enjoy the process of overcoming challenges with my team. The project has also offered a great learning experience to apply the knowledge and skills we learn in school to a real life project. I learnt the importance of strong communication with sponsor to gather frequent user feedback to improve our application and following a detailed work schedule to ensure we meet our project goals/milestone on time.

Jagdish
My FYP journey has taught me 3 main lessons. Firstly, you are your only limit. During the past 9 months, I have challenged myself more than i could have imagined. Secondly, the importance of communication between all stakeholders cannot be underestimated. Lastly, TEAM means Together Everyone Achieves More but also a team is only as strong as its weakest player.

Min Oo
This past few months have been a deep learning curve for me. I learnt a lot in managing stakeholders, delivering the product on time, and finding the best architecture to suit the business process. I would say that these past few months have nurtured me and made myself confident as programming has not been an easy road for me.

Yu Mai
Looking back on our journey, I am confident if we were to redo everything with the knowledge we gained we could accomplish it all in a fraction of the time we have spent. It was a challenging, tiring yet fruitful challenge that has definitely given me invaluable experience, especially in the area of project management, software development and client relationship management.

  • The team has put in much effort to manage and accommodate the changes which we have raised
  • They have also took initiatives to further bring values to our business, which we appreciate very much
  • Testimonial videos from the employees of Abundant Accounting (Please turn on the Closed Caption):