Difference between revisions of "2012T1 Team Verendus Final Wiki"
Line 58: | Line 58: | ||
We have reached the final iteration, iteration 9 with the assigned tasks and additional functionalities implemented promptly in place. The application currently fully deployed and has gone through real B1G1 user testing. We have received feedback ever since. The following are the completed tasks after midterms: | We have reached the final iteration, iteration 9 with the assigned tasks and additional functionalities implemented promptly in place. The application currently fully deployed and has gone through real B1G1 user testing. We have received feedback ever since. The following are the completed tasks after midterms: | ||
− | + | [[Image:Verendus Final changes.jpg|700px|center]] | |
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
Revision as of 12:02, 23 November 2012
Home | Our Team | Project Overview | Project Management | Project Documentation | LOMS & Reflections |
Use Case | Use Case Description | Giving Process | Storyboard | Diagrams | Minutes Repository | Presentations | UAT |
Contents
- 1 Project Progress Summary
- 2 Changes since Mid-Terms
- 3 Progress Overview
- 4 Project Highlights
- 5 Project Challenges
- 6 Project Achievements
- 7 Project Management
- 8 Project Metrics
- 9 Bug Metrics
- 10 Technical Complexity, Framework and Architecture
- 11 Technical Complexity
- 12 Framework
- 13 Architecture
- 14 Deployment
- 15 User Testing
- 16 Risk and Mitigation
- 17 Reflection
- 18 Team Reflection
- 19 Individual Reflection
- 20 Sponsor Comments
Project Progress Summary
[Final Presentation Slides] *To be uploaded soon
Try our application https://b1g1.com/connect!
Changes since Mid-Terms
Progress Overview
We have reached the final iteration, iteration 9 with the assigned tasks and additional functionalities implemented promptly in place. The application currently fully deployed and has gone through real B1G1 user testing. We have received feedback ever since. The following are the completed tasks after midterms:
Project Highlights
List of requirement changes:
- Changes to Additional functionality
- Changes to UI
- User Testing from Live B1G1 Users
Project Challenges
While the IS480 journey may be an enjoyable experience, our team have faced numerous challenges along the way. As the saying goes, "No pain, no gain!"
Adaptability to new programming language & skills
- PHP, jQuery and AJAX were new programming skills to us and we spent quite some time to understand and to adapt these languages into our development environment. Fortunately, knowledge sharing was able to take place within the team and thus we found it easier to understand as a group.
Difficulty with understanding of B1G1 Database
- The B1G1 database was a complexed one. Hence, in the initial phase of our project, we faced difficulties in the integration between B1G1’s existing database system and our team’s web application. We made the effort to assess and understand the database scheme as a group. If there was any point we could not resolve an issue, we consulted the sponsor for further clarification. It was fortunate that we had a supportive sponsor who is constantly ready to answer our enquiries. In whole, not only we able to integrate fully, we also managed to forge a good relationship with our client.
The need to achieve client’s expectations
- It was not easy to manage client's expectation and to complete assigned tasks on time for deployment due to our other commitments.
Difficulty in understanding the whole giving process as a team
As our team was not familiar with how to contribute to social causes via technology, one of the major challenges we faced was all of us were not on the same page or did not have a common understanding on the rationale behind B1G1's giving process. Therefore, we faced difficulties in understanding the entire giving process as a team - as all of us have a different idea/perception towards the giving process (which the picture depicted what we faced); this has restricted us to develop the web application smoothly during the initial stages.
However, through numerous discussions, we have clarified our uncertainties with each other and ensured that every team member is on the same page. We also make sure that all of us have a common understanding on B1G1 Giving Process.
Project Achievements
IS480 project has allowed our team to undergo a real business-IT situation and given us an opportunity to apply IT solutions to the problems faced. From the project, we have achieved the following:
- Applied project management and time management skills
- We have achieved the necessary project management skills - to be able to plan, organize, manage, utilize resources to achieve project objectives. We have also achieved in excellent time management skills - to be able to plan and manage our time properly with other work commitments that we might have, but at the same time achieve project milestones/deadlines with enhanced quality in our work.
- Enhanced our technical skills on PHP language, jQuery and AJAX skills
- Through the initial practical programming sections, self-research and aiding each other with programming difficulties that we faced throughout FYP, we have definitely increased our knowledge in PHP, jQuery and AJAX.
- Better communication skills with the team and stakeholders (i.e. Supervisor & Client)
- Being in a self-managed team, we have improved on our interpersonal communication skills. Through the liaison needed between the team and our stakeholders, we understand how to communicate effectively with each other so that all of us are on the same page so that the project can proceed smoothly.
- Quality team dynamics
- We are able to collaborate well with each other and communicate with each other effectively and eliminate chances of group think.
Project Management
Iteration | Task | Planned Start | Planned End | Task | Actual Start | Actual End | Comment(s) |
1 | Gathering of Project Requirements | 08/05/2012 | 10/06/2012 | Gathering of Project Requirements | 08/05/2012 | 17/06/2012 | Client was away on overseas trip, took longer time to gather client requirement. |
Brainstorming of Ideas | 08/05/2012 | 08/06/2012 | Brainstorming of Ideas | 08/05/2012 | 14/06/2012 | ||
Discussion and Preparation of Proposal | 11/06/2012 | 18/06/2012 | Discussion and Preparation of Proposal | 11/06/2012 | 19/06/2012 | ||
2 | Design Phase (Use Cases, Process Flow Diagram, Class Diagram, Sequence Diagram) | 27/06/2012 | 07/10/2012 | Design Phase (Use Cases, Process Flow Diagram, Class Diagram, Sequence Diagram) | 27/06/2012 | 07/10/2012 | |
3 | Learning of PHP5 | 12/07/2012 | 16/07/2012 | Learning of PHP5 | 12/07/2012 | 16/07/2012 | Self-Learning + Group Learning |
User Account Management | 15/07/2012 | 20/07/2012 | User Account Management | 15/07/2012 | 20/07/2012 | ||
Login/Logout Function | 12/07/2012 | 13/07/2012 | Login/Logout Function | 12/07/2012 | 12/07/2012 | ||
Newsfeed | 12/07/2012 | 20/07/2012 | Newsfeed | 12/07/2012 | 15/07/2012 | ||
Location Check-in | 15/07/2012 | 20/07/2012 | Started task one iteration earlier as newsfeed finished earlier than expectation | ||||
QR Code Generation | 15/07/2012 | 19/07/2012 | QR Code Generation | 15/07/2012 | 15/07/2012 | ||
Business Profile Page | 15/07/2012 | 15/07/2012 | Business Profile Page | 15/07/2012 | 15/07/2012 | ||
Sharing and Liking of Feeds | 17/07/2012 | 20/07/2012 | Sharing and Liking of Feeds | 17/07/2012 | 20/07/2012 | ||
Impact Page | 15/07/2012 | 16/07/2012 | Impact Page | 15/07/2012 | 16/07/2012 | ||
4 | Selection of Project for Business Member | 24/07/2012 | 01/08/2012 | Selection of Project for Business Member | 24/07/2012 | 01/08/2012 | |
Support Project Function | 24/07/2012 | 01/08/2012 | Support Project Function | 24/07/2012 | 01/08/2012 | ||
Display and Calculation of Giving | 24/07/2012 | 01/08/2012 | Display and Calculation of Giving | 24/07/2012 | 01/08/2012 | ||
Changes to UI | 24/07/2012 | 08/10/2012 | Client gave designs to make the UI look more friendly | ||||
5 | Understanding of B1G1 Database | 15/08/2012 | 20/08/2012 | Understanding of B1G1 Database | 15/08/2012 | 20/08/2012 | Days set aside to understand client database before integration due to the complex database structure |
Integration with B1G1 database | 24/08/2012 | 27/08/2012 | Integration with B1G1 database | 24/08/2012 | 27/08/2012 | ||
6 | Integration with Drupal for giving | 03/09/10 | 12/09/2012 | Integration with Drupal for giving | 03/09/2012 | 18/09/2012 | Client changed requirements - Instead of integration with Paypal, they prefer integration with Drupal. Task took longer than expected for completion due to time spent to learn drupal and unexpected technical difficulties faced |
Instruction Function | 07/09/2012 | 09/09/2012 | Client Request to have instruction function to be implemented before Quick Tour | ||||
Quick Tour for Business and Individual | 15/09/2012 | 16/09/2012 | Task pushed to iteration 7 as client prefer to have quick tour after completion of core functionalities and would like to have instruction page first | ||||
Giving Summary | 15/09/2012 | 16/09/2012 | Task pushed to iteration 7 due to delay in completion of integration with drupal | ||||
Project Expiration Date | 15/09/2012 | 19/09/2012 | Task pushed forward from iteration 7 to iteration 6 since two tasks are being pushed back | ||||
7 | Giving Summary | 24/09/2012 | 25/09/2012 | Giving Summary | 26/09/2012 | 28/09/2012 | |
Notification to User for Project Expiration | 24/09/2012 | 28/09/2012 | Notification to User for Project Expiration | 22/09/2012 | 26/09/2012 | ||
Improvements to UI | 22/09/2012 | 28/09/2012 | |||||
8 | Quick Tour | 18/10/2012 | 18/09/2012 | Quick Tour | 22/10/2012 | 22/10/2012 | Delay in implementation of Quick Tour due to delay in getting client's approval for quick tour's UI |
Improvements to UI | 15/10/2012 | 28/10/2012 | Improvements to UI | 15/10/2012 | 28/10/2012 | Changes to UI due to feedback from client and UT #2 | |
Implementation of Projects Function for individuals | 18/10/2012 | 23/10/2012 | Added due to user's suggestion from UT#2 | ||||
Changes to Location Function (Full screen view, search for businesses) | 18/10/2012 | 28/10/2012 | Added due to user's suggestion from UT#2 | ||||
9 | Leverage Function | 06/11/2012 | 12/11/2012 | Leverage Function | 15/11/2012 | 19/11/2012 | Delay in implementation of leverage function as the IT representation is on holidays, thus unable to retrieve information from the IT representation to start working on the function |
Individual Giving | 05/11/2012 | 12/11/2012 | Recommend Business | 12/11/2012 | 19/11/2012 | Client request to remove individual giving as they prefer individuals to use the current function which they have called "Giving Life" for individual giving instead. Thus, the new additional functionality, "Recommend business" which allows users to recommend businesses whom they want to see as B1G1 business member has been confirmed on the meeting on 08/11/2012 | |
Email Notification to Individuals on support information | 05/11/2012 | 10/11/2012 | Profile Image Cropping for individual users that logins via B1G1 account | 05/11/2012 | 11/10/2012 | Email notification is removed as users are able to view their support details from impact page. Hence, client suggested adding cropping profile picture as an additional functionality to allow users to upload and crop the profile image which they prefer | |
Search Project Function | 15 Nov 2012 | 20 Nov 2012 | Additional function requested by client after UT#3 |
Project Metrics
The schedule metric ratio for iteration 1-6 has been explained in the https://wiki.smu.edu.sg/is480/Mid_Term_Wiki.
From iteration 7-9, our schedule ratio remains fairly constant as our project progress has been on schedule. However, there was a hike in schedule metric ratio in iteration 8, this is because after UT#2, there has been several constructive feedbacks from both the client and the users. Thus, our group spent some time to discuss the changes with our client and has spent a longer than expected time to make the changes as we need to ensure that our application is able to satisfy the requirements before we do our deployment to the live server.
Bug Metrics
Technical Complexity, Framework and Architecture
Technical Complexity
Design a user interface which is suitable for most computers and devices |
Ever since we started on this project, we have been facing difficulties catering to the different resolutions of mobile devices and computers. As we implement new features and pages, we have been spending a reasonable amount of time on improving the UI so as to make it suitable for the different mobile devices and computers. In some cases, the alignment issues are more difficult to solve. For example, adjusting the alignment of a divider may fit the resolution of computers but when viewed on mobile devices, there may be unwanted gap. If the alignment are adjusted to fit the resolution of mobile devices, it may have slight alignment issues when being viewed on computers. Therefore, the solution which we came up with is to find the “best-fit” for the divider. We decided to cater more towards the mobile devices. While there are slight alignment issue when viewed on computers, it is not very significant. |
Complexity encountered when implementing additional functionalities |
|
Framework
The framework which we used for our web application is the Model-View-Controller(MVC). The image on the right shows the folder structure of our web application.
- 'root' folder: contains all the View files.
- ‘controller’ folder: contains all the Controller files.
- ‘dao’ folder: contains all the Data Access Objects.
- ‘model’ folder: contains all the Model files.
The image above is an example of the relationship between the Model, Controller, View files and Data Access Objects. It shows two View files (location.php, business_profile.php), one Controller (BusinessController.php), one Data Access Object (BusinessDAO.php) and one model (Business.php). If we want to change the set of data retrieved from database, we can simply change the SQL statement in the BusinessDAO.php. The View files will be able to retrieve the data through the BusinessController.php and display the results accordingly. Changing the logic of a method in BusinessController.php will also affect results being displayed in the View files.
How MVC has helped us:
- MVC decouples the Model, View and Controller files to increase flexibility and reuse.
-
Migrating from Local Host to Client’s Test Server.
- We change only the SQL statements in the Data Access Objects (DAO).
Architecture
Deployment
We have deployed our web application to the client's live server on 30th October 2012. After deployment, we conducted a User Testing (UT#3) from 1st - 2nd November 2012. Other than testing the usability of the application, we conducted UT#3 to test if there is any bugs found when using our web application on the live server.
User Testing
We have conducted a total of 3 User Testing, we sums up to a total of 100 Participants throughout the 3 testing session.
User Testing 1 was a close group system testing with the B1G1 Team, focusing on the functionality aspect of the system.
More details for the UT1 can be found here.
User Testing 2 was conducted on 61 participants , who responded our request via Facebook, focusing on the functionality aspect of the system.
More details for the UT2 can be found here.
User Testing 3 was a conducted on 33 parictipants , who responded our request via Facebook, and 4 B1G1 Team members focusing on the usability aspect of the system.
More details for the UT3 can be found here.
Risk and Mitigation
Reflection
Team Reflection
What we want to learn from IS480 | What we learnt from IS480 |
Better management of changes and schedules
|
Managing Client’s Expectation
|
Well equipped with PHP language
|
Proficient with PHP Language, jQuery & AJAX skills
|
Experience real life business IT situation and apply suitable solutions
|
Understand how a real-business IT scenario would be
|
Individual Reflection
Madeline |
I truly enjoyed my experience throughout this FYP because not only have i learnt to apply the skills which i have learnt from previous modules such as SE and OOAD in real life scenario, i have also forge great teamwork and friendship within in team. Being the project manager, i got the chance to experience liasing between supervisor and the client, which has improved my communication skills tremendously. In addition, i also learnt how to better manage a team and improve on my time management skills. The most meaningful thing about the whole project was to be able to see how our application, B1G1 Connect, is able to help the client to encourage more people to give for a good cause. Knowing the impact that our application might and will create gives me a great sense of satisfaction as we as a team, are able to create an application for a good cause and we do hope that this application can help B1G1 to greater expand their network to reach out to more people who would give for the good causes. Being able to learn and help others at the same time truly provides me with an enriching experience. All these, would not have been possible without my wonderful teammates, client and the supervisor. I'm gladful to them for all the experiences which i have garnered in the journey of IS480. This module might have taken up quite a lot of time, but it is a useful course which would bring wonderful experiences and skills for your future. |
Chang Kiat |
As the Lead Developer of the team, I have the opportunity to improve my technical, time management and communication skills. I have a lot of opportunities to learn how to utilize various programming languages effectively such as PHP and jQuery (Javascript). Through constant communication with the client in regards to the scope of the project, I have learnt to judge the amount of time needed to complete the respective components of the project, by taking into account the personal schedule of each team member. The skills, which I have improved through this project, most notably the communication and time management skills, will definitely be useful in the future when I enter the workforce. As our IS480 Project is coming to an end, I feel that what my team did was very meaningful. We strongly believe that we are helping the less fortunate people around the world indirectly by making the giving process of B1G1 easier. The business members of B1G1 can make contributions in a more convenient manner through their smartphones and computers. This can in turn help more of the less fortunate people around the world. Everyone in my team was very enthusiastic and motivated as we are doing this project for a worthy cause. Throughout the project, due to the fact that we are willing to sacrifice our free time and helped each other to tide through the difficult times, we have built a strong relationship with each other thus far. I felt very fortunate to be able to embark on this project together with my team members. |
Pei Wen |
Wow, it has been more than 8 months ever since my team and I embarked on this final year project! Speaking from the bottom of my heart, it has definitely been a journey worthwhile and certainly one which I will remember. First and foremost, I will like to express my gratitude to my teammates. B1G1 Connect is a success today because of each and every one of you. One of the key points about this FYP journey is that it challenged me intellectually. I recall being a little afraid that I could not cope well as I was unfamiliar with PHP language (I only managed to learn bits and pieces of PHP language back in polytechnic). However, I was able to overcome this due to many reasons, the first of which being the skills and knowledge taught to me in SIS. For instance, the object-oriented programming concept has further aid me on how to set up an efficient framework for this project. And of course, it was truly the bonds we shared that encouraged and motivated me to do the best I can for this team. This motivation pushed me further to take up new skills like jQuery and AJAX to further enhance the aesthetic appearances of our project. IS480 project has allowed me to put myself in a real business-IT situation and apply the project management skills and technical skills we learnt in school. As our project progressed, I have definitely sharpened my collaboration skills and communication skills with the team and our stakeholders. I now understand the need to communicate effectively to ensure everyone is on the same page. Being part of this self-managed team has also strengthened my communication and interpersonal skills. I believe all these skills will aid me in the future when I step into the workforce. To me, effective teamwork does not occur automatically. I am really fortunate to be part of this team that is self-motivated and always willing to take that extra mile to ensure this project a success. I recall how we were able to envision innovative ideas for our project, and the perseverance we had to solve the problems we faced, especially during the integration of our project with B1G1’s live server. I remember the few overnights we spent over in school to help each other in areas we faced difficulties with. The lack of sleep we faced has paid off! Lastly, I will like to express my gratitude to my supervisor and client, Professor Gao and Ms. Masami Sato respectively. The invaluable advice and ideas that they have provided our team has truly aided us in the success of this project. |
Zac |
It is of mixed feelings that am writing this reflection, fond and emotional memories since we embarked on the final year project journey. I am really fortunate to be part of this awesomely hardworking team that are self driven and motivated. There are few takeaways during the journey, that as a IS student, i am proud to share with you. Our ability to work under stress and extreme conditions producing quality results and strategic decisions is clearly demonstrated in the journey. The times that we spent overnight resolving bugs, the time we spend our public holidays in school discussing on the project or the simple meals we had together after our long meeting; we work as hard as we play. In addition, a important skill that was sharpen was communication skill, managing the client's expectations and balancing the project requirement was never a easy task. Through communications, we understand the client's concern and priorities but we need to fulfill the project requirement at the same time. Our constant and actively communications with our supervisor has also help us to keep our supervisor updated on our progress of our development. Also, I am happy that we have chosen a very supportive client, who provided us with a real business IS development environment experience. Even though the technology and monetary constraints was one of the key challenges, our team was able to complete the challenging requirement in the situated time through our passion and determination for the project. Lastly, I would like to express my appreciation to our client, Ms Masami Sato, supervisor, Prof, Gao Debin, my team and our friends for their constant support, suggestions and active participations to make our project a success story. |
Mardiana |
As we come to the end of this project, we have learnt far beyond what is taught in the classrooms. It’s not just a matter of enhancing our skills; we definitely have improved our programming and communication skills on the whole. All in all, I’m simply amazed by how an innovation such as our application, B1G1 Connect, can be used as a tool for social change. It has been a humbling experience. It has helped us to see the bigger picture, in relation to our lives and the rest of the world. We have too much to do to sit in the sidelines – and we can do something to help others. Through this project, we have learnt to step out from our comfort zone, and learnt to persevere. We have learnt to manage our individual tasks and deliver them on time. We have learnt to adapt to changes in a time crunch. Frankly, there are simply too many takeaways that words fail to describe. But, most importantly, what I have learnt is that it is certainly within our best of capabilities to change lives. |