Team eNable - Final Wiki
- 1 Project Progress Summary
- 2 Project Management
- 3 Quality of Product
- 4 Reflection
- 5 Go To
Project Progress Summary
As we are already approaching the end of our Project for FDS, our team has done everything we were determined to do since the beginning of the project and most importantly, every single thing our client expected from us. During these 2 months, we did 2 more UATs and one User Study which will be further elaborated in Testing section.
An unexpected change in requirement took place during this stage. After our second UAT with the client, the client wanted the characters initially involved in the system and their roles to be changed.
At first, our system has "Admin" who will oversee the overall application and "Sellers" who will upload and sell their own products. But after that test, the client, in consideration of better privacy and efficiency issues, wanted us to modify in a way where "Admin" became "Top Admin" with the role unchanged, "Seller" became "Admin Assistant" who will be assisting the "Top Admin" in some administrative matters and uploading products made by "Artist", a new character of the story.
This was the biggest and the most significant change made by the client throughout the project. This change took us quite a while as we had to add in more features to the existing solution to make it work in the exact way the client wanted.
The biggest challenge our team has faced throughout this project is the lack of details in business requirements. For every general requirement the client wanted in the application, we had to think of every possible solution for that as the requirements were not specifically stated.
Despite that, we could give an end product that satisfied the client and the disabled friends as we always made sure what we had was what they required and what was needed to add in to that to best suit the clients' expectation by performing regular UATs with FDS.
The use of SCRUM framework has helped us a lot in achieving our project goals. Sprint Planning Meetings at the beginning of each sprint were a great help as we could have a proper planning on what tasks should be done during the particular sprint, who would take charge of the particular task and how much time should be allocated for that task. This allowed us more flexibility while reducing a lot of inefficiency. Similarly, Sprint Review Meetings at the end of each sprint also helped us in making sure that we had completed the sprint successfully and as planned.
We could implement the Artist Profile, one of the most important features of our application, with fewest possible challenges by making use of Ajax. Now, the Top Admin or the Admin Assistant will not need to type in the profile of the artist every time they add in a new product. They can just type in the first few characters of the Artist's name and all the suggestions will be shown. As they choose one Artist from the suggestion list, the photo of the Artist and Profile will be auto generated and shown on the product page of the storefront.
|Iteration||Functional Requirement||Planned End Date||Actual End Date||Comments|
|8||Customer Relationship Management||3 Oct||9 Oct||As we all were still influenced by midterm workloads, we started this iteration pretty late|
|Tell Friends/A Friend||7 Oct||7 Oct||As per planned|
|9||Report Generation||9 Oct||13 Oct||It took Erene quite a long time to get familarize with the logic of report generation|
|10||Shipping Module||13 Oct||20 Oct||Actually, we had pushed this function back to this iteration as we had already run out of time to start working on it in teration 9|
|UAT 2||2 Nov||25 Oct||We decided to have a UAT focusing on the complete application (excluding the additional factors) and so, had the test earlier in iteration 10 than planned|
|Implementing Additional Factors||30 Oct||30 Oct||As per planned|
|11||User Study (Additional Test)||-||10 Nov||-|
|UAT 3 (Additional Test)||-||13 Nov||-|
|12||Preparation for final presentation||22 Nov||22 Nov||As per planned|
We are using two metrics for our project: Schedule Metric and Bug Metric.
After the Midterm Presentation, our Schedule Metric shows that we can finish all of the tasks according to plan in each iteration except in iteration 9. In iteration 9, we started the new function called "Report Generation". Sine it was the first time for us to generate report in PDF format, we needed a lot of time to do the research which in turn delayed our developing process for that function.
Our Bug Metric shows that we had only level 1 bugs which are mostly UI related bugs in most iterations except in iteration 12. During iteration 12 while we were doing our final testing, we had found out the bug in "Updating Address" function which showed the database error when the user updated the address. However, we could manage to fix that bug before the final presentation.
Detailed Calculation Methods and Action Plans for each metric can be seen here.
|Risks||Likelihood||Impact||Risk Level||Mitigation Plans|
|Look and feel of the application does not meet the end users’ needs||Low||Moderate||Low||Perform UAT with the real end users and gather feedback to ensure a design that appeals to them|
|Maintenance of the system by the client||Low||Low||Low||Schedule some trainings for the client/admin of the system at the end of the project|
Quality of Product
Since we are using Opencart, we don’t need to design the architecture of the system. Opencart uses MVC structure with language layer added so it is very easy to change a String of sentence in the codes as well as to make the system multi-lingual.
Performance is also another reason that we choose Opencart over other off-the-shelf open-source e-commerce systems. We tested 3-4 e-commerce systems before we made final decision and Opencart stands out in terms of efficiency.
The deployment process is the same as that described in the Midterm Wiki Page. We built a mobile version of the system interface so we also have to upload and deploy mobile interface codes in addition to what we have before midterm. The deployment of the mobile interface codes was a bit tricky because of the directory structure of Opencart and the host server of the system. The directory structure of Opencart and the way it links the files make the mobile interface impossible to use the folder from the full version for some common files and resources. So we decided to use symbolic links technique and linked the folders of the full version to the folders of mobile version. The lacking SSH permission on the host server made us unable to create symlinks but we managed to solve the problem by running the symlink creation commands as cron jobs in cPanel. If the users access the URL (http://shop.fds.org.sg/) from mobile devices, they will be automatically redirected to the mobile version which has a URL http://shop.fds.org.sg/mobile/.
UAT 2 with client
Testers - Client
Location - SMU
Duration - 3 hours 15 minutes
We had our second UAT after we have come up with a complete e-Commerce system. Compared to UAT 1's feedback, this second one is really satisfying to the client as well as to us. There was only a couple of very minor neutral comments on the application and the client was very pleased with the improved UI and simplified admin tasks.
User Study with SMU students
Testers - SMU students
Location - NA (Survey link was sent out to 50 friends via email)
No of Responses - 28
This study was not planned in the initial schedule but we felt that it is crucial for us to know how customers might react to the look and feel of the site. And we think we did the right think by conducting this study as we got a lot of constructive and interesting feedback that are useful for both the project owner and us.
UAT 3 with client
Testers - Client
Location - SMU
Duration - 3 hours
We must say this last test made us more confident about the usability of our end product for our client and the organization FDS.
You can compare all those UAT results here.
Erene Ong Yiling
It has been a steep learning curve for me. Being the only local in the team is a huge challenge for me as i have to get out of my comfort zone to deal with adjustment i had to made to fit in. But i thank my mates for making the process, even though really hard at first, a process that can be considered successful.
The last time i worked with PHP on such a scale happens to be my last FYP back in poly. In fact, this is a MUCH larger scale that my poly project. So i picked up more competency with regards to PHP. It's also been enriching for me to pick up how to generate PDF files.
My biggest takeaway, however, has to be how to do a project in the perspective of the client. I have to learn how to develop such that it will be useful to them. It is very easy to go through the motion and just complete the project but our team took a BIG effort to ensure it works and I think i have to commend my team for that.
Khine Tharaphe Din
Since from the very first week of the project, I focused mostly on Project Management and part of the User Interface design. Throughout this project, I have learned how important it is to manage a project to be in a timely manner and to have some transparencey between the client and the team. There were times we came up with an idea that we thought was better and more attractive after putting in a lot of efforts; however, when the client was more attracted to the simple one we implemented before, the later product usually became useless. So, I have learned that being technically complex does not always mean it is the best solution. Maybe, for the client, simple is good. Then, all we have to do is to change our perspectives to the client's and adapt to them to have a product that best suits the end user.
Over all, I am sure FYP has been a wonderful learning experience for me in terms of both academic enhancement and dealing with real-life client.
Kyaw Zin Hein
Lu Mon Kyaw
Soe Thet Aung
Benjamin Gan Reflection
".... The team is really patient in explaining how the system works to the disabled friends from the organization and to me. They could also exceed our expectation in terms of both the design of the system and the easiness to use the system. ...."