Difference between revisions of "IS480 Team wiki: 2017T1 ICON Final"
(24 intermediate revisions by 2 users not shown) | |||
Line 32: | Line 32: | ||
===<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: | 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 | ||
Line 78: | 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| | + | <center> |
− | [[Image:ICON_Task_Metrics_Final.PNG| | + | [[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> | ||
− | + | ===<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>=== | |
− | [ | + | |
+ | |||
+ | * [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 | ||
− | = | + | |- |
+ | | 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>== | ||
Line 111: | Line 170: | ||
|rowspan="3"| Project Overview | |rowspan="3"| Project Overview | ||
− | || [[IS480 Team wiki: | + | || [[IS480 Team wiki: _2017T1_ICON_ProjectDescription|Project Overview]] |
|- | |- | ||
− | || | + | || [https://drive.google.com/drive/folders/1MeJm77SzITxrUNH8y01DQpac3lmQ9zGx?usp=sharing/ Poster] |
|- | |- | ||
− | || [ | + | || [https://drive.google.com/drive/folders/1A1oPSU0rX4gJ20vvC5huqnlLkibNWPZw?usp=sharing/ Pitch Video] |
|- | |- | ||
Line 128: | Line 187: | ||
|} | |} | ||
</center> | </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">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 188: | Line 242: | ||
===<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/> | <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 | 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 | ||
Line 205: | Line 258: | ||
===<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
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
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)
Project Metrics
Task Metrics
Bug Metrics
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. | [Click here for an enlarged view] |
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. | [Click here for an enlarged view] |
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 | |
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.
Sponsor Comment
- 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):