HeaderSIS.jpg

IS480 Team wiki: 2011T1 Team Brownie Points

From IS480
Jump to navigation Jump to search

Brownie Points Logo


All about Brownie Points ★

Team Brownie Points

From Left to Right: Ma Myat Noe Mon, Chew Lee Chen, Lynn Tan, Su Myat Mon, Aung Thu Wann
  • Aung Thu Wann - Project Manager
    • Set project objectives, goals and milestones.
    • Plan the project by determining the deadlines and responsibilities of team members.
    • Initiate and schedule the project meetings.
    • Ensure the team is on the right track and can deliver the functional requirements on time with optimal quality.
  • Chew Lee Chen - Co-developer & Database Administrator
    • Design, implement, maintain and repair the database of the client.
    • Monitor and improve the performance and capacity of the database.
    • Control the permissions and rights to the database users.
  • Lynn Tan Min-li - Lead tester & Assistant project manager
    • Optimize the quality of the deliverables
    • Develop and run test cases to ensure that the system is robust.
    • Keep track of the team's deadlines and milestones to ensure that the team is on the track.
    • Update the progress of the team on Team's IS480 Wiki page.
    • Convey the project deliverables with proper documentation, together with the Project Manager.
  • Ma Myat Noe Mon - Lead Developer
    • Determine the overview architecture of the project on application level.
    • Design and code the functional requirements.
    • Oversee the work done by co-developers.
    • Work closely with testers for the debugging process and quality assurance.
  • Su Myat Mon - Co-Developer
    • Develop both Front-End and Back-End Components
    • Assist the lead developer in developing the functional requirements.
    • Interchange the roles of driver and navigator with lead developer and other co-developer.


Stakeholders

Project Overview ★

ProjectDesc.jpgProject Description


The Client B1G1 Logo

Buy1Give1 is a global social enterprise that was founded in Australia in 2007 and is now headquartered in Singapore. B1G1 gives businesses the power to change life by connecting their products and services to over 600 projects from 28 countries. It supports, inspires and educates businesses globally.

The Problem The problem.jpg

As B1G1 becomes more established and well-know in the business worlds, more and more businesses have signed up with B1G1. With 600+ businesses listed as its clients, B1G1 has lost track of each client's connection level with B1G1. In order to fulfill the goal of nurturing giving culture in businesses, B1G1 needs to keep track of its businesses and stay close to them. Currently, B1G1 has no easy and practical way to understand the connection level of the business clients which ultimately leads to misinformed decisions regarding the communication channels and modes required for the clients.


The Solution
Communicare Logo


Communicare is a highly customized, automated Communication and User Management System which will keep track of the users "connectivity" status at a macro level so that B1G1 can make more informed decision in regards to its different users. It will also streamline the communication process of B1G1 by automating the business process of email and report delivery. The messages sent out from Communicare Emailer Feature will also be tracked and analysed to help the B1G1 personnel in the decision making process which will ultimately help increase the connectivity.

Objectives

Our main objective is to monitor and help increase the connectivity of the businesses with B1G1.

Our main project aims are:

  • Provide B1G1 with intuitive measures of the businesses’ connectivity level on both micro and macro level
  • Streamline and improve the current manual communication process of B1G1 by automating and personalizing the communication flow

Project Scope

Module 1: Connectivity Monitor

This Connectivity Monitor will keep track of various communication channels between the business and the company (such as phone calls, emails, site visits), and the giving behavior of the business which will ultimately be contributed to the business’s connectivity level.

FinalTrends&Stats.jpg

It will allow the B1G1 admin to filter and see various connectivity statuses by company, by industry or by country and help him/her make informed decision. (For example, if the admin realizes that the connectivity level in Australia is very low, he can arrange Paul, CEO of B1G1, to give a B1G1 tour in Australia and he will even know which companies to target during this tour).


TBP 1.JPG


The Connectivity Monitor will also present the consolidated information of each individual company so that B1G1 personnel can apply more informed and appropriate giving encouragement actions for each specific business.

Module 2: Auto Emailer

B1G1 has a defined communication flow which requires certain communication messages to deliver to certain users at the right time. Currently this process is being done manually (or) being done by a COMS software which cannot target to the appropriate users' needs. Communicare handles this problem by automating the business process of message delivery to the users and make the process flexible enough that the admin have complete control over the process without having to spend a lot of time and energy on it.

Moreover, the messages sent out from the Communicare Intelligence will contain additional information provider such as "Did You Know" Facts or information inquirer such as "Polls".

CC Email1.png
A Sample Message with a Poll
CC Email2.png
A Sample Message with a Did You Know Fact


Please see here for the complete business flow of B1G1 external communication.

This module is broken down into five separate sub-modules.

Module 2.1: Backend Email Scripts

Module 2.2: Email Triggers Settings

Module 2.3: Polls and "Did You Know" Facts Settings

Module 2.4: UserGroups Settings

Module 2.5: Upcoming Communication Schedule


Module 3: Communication Response Tracker

Communicare will be monitoring the emails sent out from its AutoEmailer system so as to analyze the effectiveness of Communicare Emailer system and how this system affects the connectivity and giving behavior of the users.

This module is broken down into two sub-modules.

Module 3.1: Rates Analysis (such as Email Open Rate, Poll Response Rate, Unsubscribe Rate)

TBPCharts.jpg


Module 3.2: Response Action Analysis (such as Poll Answer Analysis, Giving Response Analysis)


Module 4: User Management Communicare comes up with this user management dashboard where admin can view the overall connectivity and important information of the company with a connectivity monitor and a trend chart and freely view and edit the user profiles.

Controlroom.jpg

X-Factors

  • Usage of cron in the automation of communication flow
  • Integration of Fusion charts with PHP to develop a highly intuitive connectivity model
  • Connectivity tracking features with live data.
  • Mobile-compatible email messages.

Technology.jpgTechnology

Development Tools

Dreamweaver.JPG

Adobe Dreamweaver
Netbeans.png

Netbeans
Mysql query browser.png

MySQL Query Browser



Languages

Html.jpg

HTML
Css.png

CSS
Javascript.gif

Javascript
Php.jpg

PHP
Pear.png

PHP: Pear Package



Packages

Pear.png

PHP: Pear Package
CK Editor.png

CK Editor
FusionCharts Logo.png

Fushion Charts



Development Server

Cron.png

Cron
Apache server.jpg

Apache Server
Firezilla-client1.png

FileZilla Server



File Sharing

Dropbox1.jpg

Files and Documents Sharing
Tortoise svn.PNG

Codes Sharing



Communication

Mobile.jpg

SMS and Phone Calls
Email.png

Emails
Fb.png

Team Facebook Page
Skype.jpg

Skype for video conferencing

System Overview ★

ComSystem.jpgCommunicare System

Feature Lists

  1. Connectivity Monitor/Dashboard
  2. Auto-Emailer Feature
    1. Email Triggers Dashboard
    2. Polls Dashboard
    3. DYK Dashboard
    4. Usergroup Dashboard
  3. Communication Response Monitor
  4. User Management Platform

Use Case Diagram

       UseCaseNew.jpg

System Architecture

   ArchitectureDiagram.JPG

Storyboard

Before Acceptance: Storyboard V1

After Acceptance: Revised Storyboard

Database.jpgDatabase

Diagrams

LD.jpg


Project Management ★

ProjTimeline.jpgProject Timeline

Overview of Project Schedules

Schedule Timeline.png


Click here for the detailed schedule breakdown.

TBPRiskMgmt.jpgRisk Management

1. Technical Risks
Risk Statement Risk Rating Mitigation Strategy Impact Likelihood

Learning Risks and Complexity of Technology used
As the implementation involves use of technologies such as cron and PEAR packages, the team needs to get familiarize with such technologies.

A
  • Members who are familiar with implemented technologies are to mentor other members in the learning processes.
  • Consult with supervisors and B1G1 IT Support team.
High
Medium

Gap in Real and Tested Performance
As we cannot use the client's email for system testing, there may be a difference between the system checks and the actual performance.

B
  • Create similar amount of dummy email addresses as in the database to minimize the performance gap that may arise due to different number of data.
  • Set variance as statistical calculation to estimate the range of actual performance.
Medium
Medium


2. Schedule Risks
Risk Statement Risk Rating Mitigation Strategy Impact Likelihood

Schedule Planned vs. Actual Risks
Underestimation of the actual duration of a task during the planning stage.

B
  • Put aside buffer time in the schedule for unexpected lag in schedule.
  • Assign extra meetings.
Medium
Medium

Member's Schedule Conflicts
Since the members are from different years and second majors, schedule conflict is not avoidable. However, the team needs to minimize it.

B
  • The team members are to block out common time slots from their schedules for FYP meetings as the term starts.
  • Project Manager is to schedule emergency meetings most suitable for the members’ availability.
  • Members are to inform the Project Manager one day in advance if they are to miss a meeting, so that the project manager can assign their tasks to other members in order to stay on schedule.
Low
Medium


3. Scope Risks
Risk Statement Risk Rating Mitigation Strategy Impact Likelihood

Business Requirement Changes
The client may have extra requirements and/or renewed requirements.

B
  • The team is to present the client with a storyboard and system specifications before actual implementations and get the client feedback.
  • The team is to be met up with the client regularly to update the client of the progress of the project
High
Low



Risk Matrix
RiskMatrix.png

ProjMeetings.jpgProject Meetings

Please refer to Project Meetings for details regarding team's meetings.

TBPMetric.jpgMetric

Schedule Metric

Schedule Metric
Task Projected Start Date Projected End Date Projected Duration (Days) Actual Start Date Actual End Date Actual Duration (Days) Score Metric
(Actual Duration/Projected Duration)*100%
Define team name 29/5/2011 29/5/2011 1 29/5/2011 29/5/2011 1 100%
Define team logo 29/5/2011 29/5/2011 1 29/5/2011 29/5/2011 1 100%
Define house rules 29/5/2011 29/5/2011 1 29/5/2011 29/5/2011 1 100%
Design Storyboard 10/6/2011 15/6/2011 6 11/6/2011 12/6/2011 2 33%
Create Prototype Images 10/6/2011 15/6/2011 6 11/6/2011 12/6/2011 2 33%
PHP5 Setup 9/7/2011 10/7/2011 2 10/7/2011 16/7/2011 7 350%



TBPSchedule remedy.jpg



Happiness Metric

TBPHappiness Level.jpg


Happiness Metric
Member Lee Chen Lynn Noe Su Wann
Rater
Lee Chen
Lynn
Noe
Su
Wann
Total Average of Team Members A B C D E
Total Team Average (A+B+C+D+E)/5 Action Taken


TBPHappiness actions.jpg


Click here for the tracking of happiness metric

Product ★

TBPDeliverables.jpgDeliverables

  • Our main delivered product is the completed and deployed web application "Communicare", which can enhance the daily business of B1G1. Other deliverables include a comprehensive user manual for the B1G1 administrator and the zipped file of our codes.
  • Below is the summary table of project deliverables.
Stage Specification Modules
Project Management Minutes Meeting Records and Minutes
Metrics Schedule Metric, Happiness Metric
Requirements Storyboard Revised Storyboard
Analysis Use case Use Case Diagram
System Architecture Diagram System Architecture Diagram
Screen Shots Communicare System
Testing Test Plan, UAT2 Final Results,UAT3 Final Results,Final Testing Page
Handover User Manual User Manual
Code Client FTP Server, Deployed Project


Comparison of main features from Acceptance and Midterm stage

  • We worked closely with our client and our supervisor who have been very supportive and constantly give constructive feedbacks to see improvements in our project scope as well as features and usability. The change from one phase to another was drastic and it consumed a significant amount of time debugging and improving the functionalities as well as usability aspects.

Below are the notable features that had been improved throughout the project duration from acceptance stage to final stage.

Name Acceptance Midterm Final

Email Triggers

AcceptanceEmailSettings.jpg
  • No systematic order of email triggers
  • Names of triggers are unclear

MidtermEmailSettings.jpg

  • Grouped the triggers in a systematic way

FinalEmailSettings.jpg

  • Implemented the feedbacks in UAT 2 and 3
  • Grouped and show triggers in sets
  • Enhanced the usability so that users can easily spot the triggers
  • Included icons to make the UI intuitive

New/Edit for email triggers

AcceptanceNewEditEmailTrigger.jpg

  • Minimal customization for the email contents

MidtermNewEditEmailTrigger.jpg

  • Introduced HTML Rich Text Editor (RTE) for easy content customization

FinalNewEditEmailTrigger.jpg

  • Implemented opensource RTE, CKEditor which allows easy customization
  • Removed the bugs and incompatible issues in integration of CKEditor
  • Detailed usergroups for easy emailing
  • Included the HTML preview function in creating new trigger

One-time Update Message

NA

MidtermUpdateMessage.jpg

  • Introduced Update Message function for one-time message sending
  • Included HTML Rich Text Editor (RTE)
  • Create either email trigger or update message is incorporated below Edit/View/Delete Email Triggers

FinalUpdateMessage.jpg

  • Implemented opensource RTE, CKEditor which allows easy customization
  • Removed the bugs and incompatible issues in integration of CKEditor
  • Detailed usergroups for easy emailing
  • Included the HTML preview function in creating new trigger
  • From UAT 2 feedback, update message was separated from email triggers and made easily viewable; scrolling is eradicated for create new functions.
  • Added "new email address" feature which allows the users to add in specific email addresses they want to send apart from usergroups.
  • Sent Messages were made viewable.

Trends and Statistics

NA

MidtermTrends&Stats.jpg

  • Introduced Trends and Statistics feature including Connectivity Monitor for B1G1 to analyze the giving trends of behaviors of businesses. B1G1 team found it extremely useful.

FinalTrends&Stats.jpg

  • For a range of time, user can easily filter our the connectivity of businesses by company, industry, membership type, registration method and membership period.
  • A comparison feature is added for further analysis of trends and statistics of businesses' giving behaviors.

Control Room

NA

NA

Controlroom.jpg

  • Control Room feature is introduced and made the user's home page. This page shows the overall connectivity, giving trends and other information on businesses. User can view those at a glance and can edit the businesses' profile information with a single click.

Email Responses

NA

MidtermEmailResponses.jpg

  • Introduced Email Responses feature with the use of FushionCharts, which allows B1G1 admin to keep track of the click through rate, bounce rate, etc., of the emails sent.

Emailresponses.jpg

  • Made amendments to the charts.
  • Added in the filters and response log.
  • Made the trend chart zoom-able.

TBPQuality.jpgQuality

Stability: Our maximum email output from our system is 500 emails. We had tried sending this from the live deployed server to test its stability and there are no known issues.

Performance: Although there are slower server-side oriented and query-heavy modules, we have configured so that they will be efficient enough for clients' needs. Please see Technical Complexity No.1 and 3 for more information of this configuration.

Usability: Various usability tests with participants including students from SMU, IT professionals and B1G1 board members are carried out towards the end of the project to ensure the usability of the system for all types of users.

Maintainability: We will be documenting a developer's guide and be ready to help if necessary for B1G1 to maintain the system.

Deployment.jpgDeployment

Our finished system is deployed here at: Communicare note: We are not able to give out the log in information due to confidentiality issue.

Testing.jpgTesting

  • From start to finish, we conducted 3 UAT and after UAT 3, continuous testing each time a change was made.

Please see Test Plan for the test plan.

UAT 2 (20.09.2011 - 27.09.2011)

  • In UAT2, we at first encountered difficulty in getting the client to consent to having other people test the system due to confidentiality reasons but we expressed that we would not be getting sufficient feedback to make it a better system with only testing done by the client. So after much persuasion, we got the client to consent to having 20 SMU students and IT Professionals test the basic functions that would not allow them to view customer data and trends and statistics.
  • We made UAT2 to be task-based because we assumed that most people will not read the user manual first before using the system so we wanted to make sure it was very user-friendly. We used Quantitative (Average time taken in min, Number of Clicks taken, Difficulty Ranking (1-least, 5-most) & Qualitative measures (Areas of Difficulty, How we can make this better) in UAT 2 to gain as much feedback as possible and track the duration and number of clicks it would take to complete each task.
  • Usability Testing: In UAT 2, we personally observed Ms. Masami test the usability of our system. We provided tasks for her to complete without reading the user manual and monitored how long and how easily she was able to complete the tasks. We also incorporated the changes based on her feedback and the difficulty she encountered in completing the tasks. Of the 13 tasks that we set for her, she was able to complete 5 with difficulty ( Difficulty ranking of 3 and more out of 5 - highest) and 8 reasonably easily (Difficulty ranking less than 3).
  • Testing: We did testing on all devices to make sure that it's compatible with all devices. We did testing on Mac, Android, iPhone, Windows and Outlook which is the most problematic so we included a new link that will take the user to a new browser to get around the Outlook problem.
  • Functionality Testing: We talked to the client and planned the testing so that we can test on the real server and test it in existing capacity. We also discussed the risks of testing on the real server with the client. Therefore we made the decision to test during time zones in the UK and Australia over the weekend when there was less user traffic from existing customers so that even if the system crashed the impact would be minimized. It was difficult to coordinate this as the time zones in the UK are Australia are 7 hours apart and the UK is 7 hours behind Singapore.
  • For the actual results file for UAT 2, please see the following link: UAT2 Final Results

UAT 3

  • We conducted UAT3 with 10 members of the B1G1 board at their board room at Raffles Place.
  • Again, we used Quantitative (Average Time taken, Average number of clicks, Difficulty ranking (1 - least, 5 - most) and Qualitative (Areas of Difficulty, How we can make this better) Measures.
  • On the whole, UAT3 results were much better than UAT2 results. The difficulty ranking dropped significantly, the average time and number of clicks taken was also reduced.
  • For the actual results file for UAT 3, please see the following link: UAT3 Final Results
  • More elaboration can be found on our final wiki at Final Wiki

UAT 2 VS UAT 3

  • Due to the quantitative measures used in both UAT 2 and UAT 3, we were able to benchmark the Email Trigger and Poll functions to measure how much impact our adjustments from UAT 2 had. The following graphs show the difference in Average time taken in minutes, Average Number of clicks and Difficulty Ranking to complete the task. As you can see, the results in these 3 categories have improved significantly.

UATComparisonEmailTrigger.jpg

UATComparisonPoll.jpg

Project Summary ★

ProjHighlights.jpgProject Highlights

Increased Functions

  • We brainstormed and increased our connectivity functions to include a Control Panel; its function was to serve as a Connectivity Monitor – At a glance, the Control Panel presents the Users that are not connected, the Users’ Giving Growth and Businesses’ & Users’ Continuity. Zooming in, B1G1 personnel can simply click on the users displayed to bring up all of the users' details such as contact number, past giving projects, giving impact, B1G1's last contact with the user, email open rate. Upon viewing this, B1G1 personnel can then easily connect with users via Communicare’s web SMS service or any other method and log this easily in the user's details so that the data is updated centrally for the next person to view.
  • We also expanded the Trends and statistics function – Its purpose is to allow B1G1 to filter and trend the connectivity of different groups of users according to Country, Industry, Membership type etc, over specified periods of time. This allows B1G1 to compare and analyze giving trend for different users. We also came up with an idea that allows B1G1 personnel to compare the trends and charts across categories. For instance, to compare the giving trends and statistics of Category A users: from Accounting industry in Australia, whose last giving date was less than 1 year ago; to Category B users: from Finance industry in Australia, whose last giving date was less than 1 year ago; to Category C users: from IT industry in Australia whose last giving date was less than 1 year ago; all the client has to do is replicate the filter panel many times while changing the Industry (or other) variable and many charts that show the trends across the Australian industries will be shown in the same page!
  • We also expanded our AutoEmailer function - While previously its purpose was to send automated emails to users, we have ensured that the email and report content is now very customized and personalized and that the emails are automatically sent to the right users at the right time designed to encourage giving behavior, for instance, we made sure the emails would be sent according to different timezones in different countries. We then implemented monitoring for tracking and follow up purposes - once sent out, these messages are tracked and their statistics such as click through rate are analyzed to facilitate decision making process. We also used Bitly as discussed later, to track the location and timing of the emails opened.

Close communication with client

  • We worked closely with the client. meeting in person at least once every one to two weeks, and communicating via email and Skype nearly every day. Doing so allowed us to discuss changes and seek the client's opinion and obtain continual input and feedback. We also made sure that we made sure to deploy the system by 3rd November 2011, which is 3 weeks before our final presentation, so that we would be able to see ready to use by 20th November 2011, one week before our final presentation. In addition, we came up with a more efficient way of communicating with the client - instead of the system sending weekly messages, we created a report that would be sent to the B1G1 administrator that would highlight the changes that need to be taken.

TBPProjChallenges.jpgProject Challenges

  • We were constantly challenged by the change in scope of our project and addition of new features which were never thought of including during the acceptance stage. This meant we had to finish more work within a shorter period of time than expected. Refining the new features also took a lot of time as we had to brainstorm how to make them more functional and user-friendly for the client. We mitigated this by having more discussion during our meetings and brainstorming and preparing fully before each meeting so that we could generate better ideas together.
  • We also faced difficulty in predicting the schedule and time allocation for the newly added functions as these were not planned for at acceptance. This made it necessary to adjust and update our schedule frequently and this got more difficult as the term progressed and our workload got heavier. We mitigated this issue by asking expert opinion on the members who had prior experience working on such functions in other projects (e.g., Visual Analytics).

TBPProjAchievement.jpgProject Achievements

  • Successful tracking of email responses: We were able to track and measure the email responses from users so that we could measure their connectivity to B1G1 and thus highlight to B1G1 if it needed to take action to encourage greater giving behavior.
  • Familiarized ourselves with complex drupal database structure: Our project uses Drupal database and its structure was inherently complex and took a lot of time to understand, especially since B1G1's database was very messy as well. After much effort and time, we were able to familiarize ourselves with the structure to build our system.
  • More accurate forecast in time allocation for known tasks: We gained experience in scheduling and planning the duration of tasks based on complexity. Initially we were too optimistic and planned too short durations but we soon learnt to be more realistic and give careful thought to details so that we would not have to keep pushing back tasks if we fell behind.
  • Managed to work closely with a client in a real business scenario: We communicated very closely with our client and met every week in person and skyped or emailed nearly every day to obtain constant feedback so that we could make our system better. We kept her aware of what we were doing and made sure she was very involved in each development. As the system would be used in a real life business scenario for B1G1, it made it all the more important to us to make it as good as possible.

Reflection ★

TBPLearningOutcome.jpgLearning Outcome

Please see the Learning Outcomes.

TBPTeamReflection.jpgTeam Reflection

As a team we learnt the following:

  • Project management skills – How to plan and adjust our schedules to meet changing requirements, mitigate risks, use team metrics to improve the quality of our work and 3 UAT to constantly make the system more user friendly.
  • Communication skills - How to manage client expectations, communicate well within the team, demonstrate our learning process, challenges and how we overcame them to supervisors.
  • Teamwork - How to overcome conflict and leverage each other’s strengths to create synergy to value add to our project.
  • Technical skills- How to architect our databases, user interface and emailer system to go above and beyond meeting the current needs of the client by allowing for future expansion and scalability.

TBPIndReflection.jpgIndividual Reflection

Aung Thu Wann:

  • As a project manager, it is very important to have a clear communication while working with the team members, clients and supervisor. Our team had gone through several changes in the project scope and it is the best if we can communicate efficiently. By efficient communication, it means that we must have a clear and open communication to achieve success. We cannot make assumptions and always good to double confirm. Our usage of social media, for instance, Facebook secret group feature, helped a lot.
  • There can be unforseen changes and clashes in the schedule even if we plan carefully from the beginning. For instance, the school's new policy on Deepavali holiday made cancellation of classes and shifts in the presentations, subsequently followed up a series of schedule clashes. Thus, it is important for the team to always have small buffer times in every week to cover up the delay in schedule in the even that such clashes occur.
  • It is very important that one handles the workload effectively and not to bring non-FYP related work or mind to the FYP table of meetings or group work. There were times when I experienced conglomerated workload from projects, studies and CCA commitments. However, I had to constantly keep in mind that having many commitments is never an excuse to work less on FYP.
  • From the experience of 4 months of course work and a whole summer of preparation, I learned a lot in areas of both technical aspects of the project and personal development by dealing with the business client in a real world situation.
  • If I can go back to the beginning (inception stage) of our project, I would effectively communicate with my team members and spend time to learn from them.

Chew Lee Chen:

  • As a developer, the greatest take away is learning that while it is important that the functionality works, but perhaps, it is MORE important for the system to be user friendly and aesthetically pleasing to the eyes. The clients probably do not mind having one less function, if the rest looks professional and easy to work with. As in real life, look matters. For a system with poor user interface and poor aesthetic, people will judge it to be inferior and of lower performance than what it actually can do.
  • Without any classes and professors to teach the technical stuff, I must say I learnt a lot in coding in PHP and JavaScript through peer coaching and self learning. Coming from someone who marginally passed OOAD and still have to be one of the 3 main developers in the group, FYP has honed up my technical skills tremendously as it adds pressure on me (as a co-developer) to actually produce the piece of work which I were put in charge of.
  • Working with client makes me realized that communication between different parties is vital. After all, client is not developer and could not foresee what they really want, until they see the system and feedback on it. As such, I realized that even though we accomplished what the client had wanted initially, client would have a change of mind and decide to make amendment. Without proper communication, the system will always fall short of expectation.

Lynn Tan Min-li:

  • As lead tester, I learnt that the client usually has confidentiality issues as the client will not want the company data exposed to other people but that we should not let this stop us from looking for ways to improve the system. For instance, in our UAT 2, after much negotiation with the client, we were able to test functions without exposing company data, with 20 SMU students and IT professionals.
  • As a lead tester, I also learnt that when the test form is detailed and requires thought from the people testing the system, it is important to sit down with them and request each time that they fill in all the answers to your questions and put thought behind it. Otherwise, they are prone to leaving blanks or not giving much thought to answers when there are many questions.
  • I also realized the importance of communicating a lot within the team and with our supervisor and client. This helped us to generate better ideas and obtain more feedback.
  • As assistant PM, I learnt the importance of documentation so you can track progress and use that to set the agenda for each meeting so that everyone can come prepared and plan ahead so the project can be finished on time.

Ma Myat Noe Mon:

  • As a developer, I had learned how to deliver not only the expected but far and improved systems to the clients within the expected time limits. Client communication is also quite important especially when the project is like ours and the clients end up being the users.
  • Usability of the actual user might be different from the developer's perspective. During various stages of UATs, I had realized that what I had thought the optimal way doesn't necessarily translate into what is the best for the users and you should always get more opinions and suggestions on how to improve your systems.
  • Technically, I had learned in terms of both programming skills and system architecture design skills. One thing I noticed is the need to constantly review your original system architecture throughout the whole project duration and revise as necessary. This kind of architecture management is what we couldn't have learned in a normal school project with stable scope.
  • Team management is also quite challenging because trying to sorting out team problems and resolving conflicts among the team can be quite delicate to handle and you should always be prepared to talk the problem out rather than hiding it and hoping it will go away.
  • All in all, I would say that, without having to attend a single class, I had learned a lot of technical, project-related and people skills from FYP.

Su Myat Mon:

  • I have learnt that it is important for the team to be clear with the project scope and clients' requirements. To do so, the team, especially those who will be implementing the functionalities, should work very closely with the client since beginning. Only then, the team will have better picture of what kind of system client wants and can save time on implementing extra functionalities that are beyond client's requirements and satisfaction.
  • Moreover, it is important for the developers to leave a buffer time before the actual delivery date (have to get all the functionalities done before the ). Since no one can forsee what kind of risks are likely to occur before the deadline, the team, especially the developers, should be ready to overcome any risk faced if they have enough buffer time before deadline.
  • After all, for me, FYP experience is my first-time working with real client and has taught me a lot about the difference between school projects and the real-life projects, where more complex business logics, larger impacts of the system, etc. are involved.

TBPSponsorComments.jpgSponsor's Comments

"Communicare is a system developed by the team Brownie Points to enhance our organisation's activities. It allows us to communicate with our users in much more personal ways. It also gives us new understanding of the complex data generated by our existing systems. And finally, it gives us the ability to take effective actions - simply and immediately.

It's been a challenging project for the team since we have a complex data structure and a very unique operation model. But the team has been very open and willing to take on more challenges. And because of that, we now have something that is way beyond out initial expectation.

We really look forward to using this system each and everyday to monitor our progress and create more giving." - Masami Sato, Founder, Buy1Give1

Resources & References ★

PHP PEAR Package

PHP Pear.png

We choose to use PHP PEAR Package because it offers more ease and flexibility for us to develop mailing function, which is one of the PHP PEAR Package's supports.

Please see detailed tutorials here.

CK Editor

CK Editor.png

We use CK Editor to get the rich editor features in our web forms.

We have shared details about CK Editor here at Knowledge Base.

FusionCharts

FusionCharts Logo.png

We integrate our product with FusionCharts since it can provide add values such as better data visualization and quality to our product.

We have also shared more about FusionCharts and its configuration settings here at Knowledge Base.


Wiki Pages★

Midterm wiki | Final wiki