Docstoc

03_FYP_Final_Reflection_v1.0.docx

Document Sample
03_FYP_Final_Reflection_v1.0.docx Powered By Docstoc
					IS480 Project Final Reflection
Coupon Promotion System
                                                                                      Version 1.0

29 November 2009
Team Members

 Chng Soon Yeong, Kelvin         kelvin.chng.2007@sis.smu.edu.sg Front-end Developer

 Chan Pui Foong, Kevin           kevin.chan.2007@sis.smu.edu.sg    Project Manager

 Ong Shio Woon, Marilyn          shiowoon.2007@sis.smu.edu.sg      Business Analyst

 Tan Yi Zhuang                   yz.tan@sis.smu.edu.sg             System Analyst

 Nyeow Siew Hui                  siewhui.2007@sis.smu.edu.sg       Lead Tester

 Sim Mong Cho, Jaryl             jaryl.sim2007@sis.smu.edu.sg      Lead Developer




 Faculty Supervisor                                 Sponsor

 Zheng Baihua                                       Sight’d




IS480 - IS Application Project                                                                      ii
 Team Sentinels                                                                                                                Final Reflection v 1.0


 Table of Content
 1. Project Summary ................................................................................................................................... 1
    1.1 Project Highlights: ................................................................................................................................ 1
        1.1.1 New Coupon Redemption Process ....................................................................................................1
        1.1.2 Screme Pulling Out as Beta-Tester ....................................................................................................1
    1.2 Project Challenges ............................................................................................................................... 1
        1.2.1 Revamping of Sight’d.com ................................................................................................................1
        1.2.2 Searching for Merchant to Participate in Beta-Testing .....................................................................1
    1.3 Project Achievements .......................................................................................................................... 2
        1.3.1 Website Architecture Chart ..............................................................................................................2
        1.3.2 Ruby Gem ..........................................................................................................................................2
        1.3.3 Beta Testing ......................................................................................................................................2
        1.3.4 Project Continuation .........................................................................................................................2
    1.4 Lesson Learnt ....................................................................................................................................... 2
        1.4.1 Technical Skills ..................................................................................................................................2
        1.4.2 Soft Skills ...........................................................................................................................................2
 2. Individual Reflections ............................................................................................................................. 3
    Jaryl’s Reflection ........................................................................................................................................ 3
    Siew Hui’s Reflection ................................................................................................................................. 4
    Kelvin’s Reflection...................................................................................................................................... 4
    Kevin’s Reflection ...................................................................................................................................... 5
    Marilyn’s Reflection ................................................................................................................................... 5
    Yi Zhuang’s Reflection ................................................................................................................................ 5
 3. Project Management ............................................................................................................................. 6
    3.1 Project Scope ....................................................................................................................................... 6
    3.2 Project Quality ..................................................................................................................................... 7
        3.2.1 Website Usability ..............................................................................................................................7
        3.2.2 Enhanced Security .............................................................................................................................7
    3.3 Project Deliverables ............................................................................................................................. 8




Version            Description of Change                                                                   Author                                Date
                   Initial Draft
                    Created skeleton for Project Summary,
 v0.1                                                                                                   Kevin Chan                         25 Nov 2009
                        Individual Reflections and Project
                        Management
 v0.2              Added Final Deliverables                                                            Kevin Chan                          27 Nov 2009
 v0.3              Updated team’s reflection                                                           Kevin Chan                          28 Nov 2009
 v0.4              Added Learning Points                                                               Marilyn Ong                         29 Nov 2009
 V1.0              Updated Project Scope and Project Management                                        Kevin Chan                          29 Nov 2009




 IS480 - IS Application Project                                                                                                                                      i
Team Sentinels                                                                         Final Reflection v 1.0




1. Project Summary
Since our midterm reflection, a major change has occurred to the project whereby the whole website layout of
Sight’d was revamp. The team felt that the change was necessary before launching Sight’d for beta testing.
Following the changes to the website layout, security features were added to Sight’d to enhance security and
to safeguard user’s information of Sight’d from malicious hackers. There were delays to the beta-testing for
Sight’d.com as our main beta-tester, Helena from Cottage Waffle Place, was away on a business trip. The beta-
testing was successfully launched on week 13.

1.1 Project Highlights:
1.1.1 New Coupon Redemption Process
Near the end of week 13 of our FYP, Treehouse has joined Sight’d as our second beta tester. Instead of offering
the conventional discount coupons, they requested if we are able to support their beer pre-order process for
an event called, Starry Night, on the 13 November 2009 at SMU Big Steps. We agreed to help Treehouse with
their beer pre-order process and had to improvise our coupon redemption process. The pre-ordering of beer
came as an offer of two-beers for the price of ten dollars (limited to Heineken, Corona and Hoegaarden). To
cater to the new redemption process for the beer, we proposed to Treehouse to host a promotional coupon
onto Sight’d with this pre-order offer and to send out an email blast to their customers (mainly SMU Students)
the special order for the pre-order beer. Following this, their customers would sign up as a user in Sight’d and
download the coupon. An sms will be sent to their customers and to redeem the coupon, their customers will
just need to present the sms to Treehouse to redeem. We provided Treehouse additional assistance in the
designs for their coupons and mailer which was sent to the mass the day before the event.

1.1.2 Screme Pulling Out as Beta-Tester
Screme pulled out from the beta-testing as they were closed from week 13 onwards and would only resume
operations till school reopen in January. However, they would like to explore Sight’d once school reopens and
we are looking forward till then when the next phase of our FYP is continued by another FYP team.

1.2 Project Challenges

1.2.1 Revamping of Sight’d.com
One of the difficult moments of our project since our midterm reflection was to redesign the website layout
and to re-route the web pages based on the new web architecture. Cascading Style Sheet (CSS) was used to
style the new web pages and it took a great deal of effort to redesign. Although it took along to implement the
changes to Sight’d but it was worth the effort to do so as it greatly improve the overall outlook of Sight’d.

1.2.2 Searching for Merchant to Participate in Beta-Testing
As the idea of digital coupon is new in Singapore, many companies are quite skeptical with the use of coupons
that are redeemed online. However, we are convinced that in time to come, we expect more companies to be
receptive to the idea of digital coupons. Our team plan to be the first in Singapore to introduce this system to
the society.




IS480 - IS Application Project                                                                           Page 1
Team Sentinels                                                                        Final Reflection v 1.0

1.3 Project Achievements

1.3.1 Website Architecture Chart
The website architecture chart has helped the team visualize better on the routing of one web page to
another. It also helped to track what web pages are left to be converted from the old layout to the new layout.

1.3.2 Ruby Gem
The use of the gems greatly reduced the time to roll out Sight’d.com. Critical and complex functions such as
the analytics of the usage of the coupons and the charting for the report are quickly implemented using
amchart and google analytics gems. This allowed the team to rapidly deploy Sight’d and developed additional
useful features to support the current functions of coupon redemption.

1.3.3 Beta Testing
Sight’d successfully launched its beta testing in week 13 with Cottage Waffle and Treehouse as our beta
testers. Sight’d has registered a number of sign up with customers downloading the coupons and redeeming
the coupons during the promotional period.

1.3.4 Project Continuation
A FYP team has been formed to continue with the second phase of development for Sight’d coupon promotion
system in the upcoming term -2009/2010 Term 2. The team is called TouchPoint with four members: Sum Wai
Yuan, Luong Thanh Khanh, Dalaphone Pholsena and Nguyen Thanh Khoa. They will be developing the mobile
promotion system that will be integrated with Sight’d coupon system which will enable coupons to be
downloaded to mobile devices with graphical details.



1.4 Lesson Learnt

1.4.1 Technical Skills
Ruby on Rails w/AJAX, CSS and Javascript
Challenge: The team was still unfamiliar with Ruby on Rails. Coupled with the use of CSS, Javascript and AJAX,
it was a challenge for the team as it was equivalent to the learning of 3 new languages beyond its basics to be
able to cope with the project requirements.
How we overcome: Thankfully, the rails development community online was very helpful in providing us
educational videos to guide us through the project. All team members had to conduct research and hold
discussions within the team. After understanding what needs to be done, the team
Key Lessons Learned: The team had to learn fast, conduct research from a myriad of sources. Depending on
what we’ve acquired so far is never enough. The team had to learn in various ways, through videos, articles
and screen casts in order to improve on our skills. Furthermore, the team had to develop a fix for problems we
faced. We learnt that we have to be flexible in solving problems.



1.4.2 Soft Skills
Handling beta test
Challenge: We had difficulty to ensure that our clients would get back to us promptly on any issue. This caused
a delay in the preparation as in order to proceed with the beta testing, we required our client to provide us
with their business information such as sales data. The delay in response brought the team to a set of
challenges.
How we overcome: The team would follow up on calls and emails, and assisted our client in providing the
information such as designing the campaign for the client. Such exchanges sped the process in delivering
information to us, ensuring that the beta testing would be able to launch on time.
Key Lessons Learned: Always remain contact with the clients and be prepared to assist our client in any way
for the beta testing.



IS480 - IS Application Project                                                                          Page 2
Team Sentinels                                                                          Final Reflection v 1.0

Handling clients
Challenge: Being students, it is challenging for our clients to be able to place trust in us with their business
information. Also, we faced more challenges in explaining technical stuffs to one of our clients, who seemed to
have a lack of skills in the technical area.
How we overcome: The team would seek the advice of our mentor of the project. Apart from this, we
portrayed a professional image to our clients. Also, we ensure that we are always prepared to answer to their
doubts.
Key Lessons Learned: Always be prepared to assure our clients’ concerns and show our professionalism in
handling their concerns.


Emotions and stress
Challenge: Apart from the project, everyone in the team had to handle stress from external factors, be it
personal or at studies. This has resulted in an extremely high level of stress, which caused a loss of motivation
and often led to an outburst of emotions.
How we overcome: We had a very supportive team. The team members are very understanding and we would
support and make up for each other at tough times. We would support each other and go for team bonding
activities in order to motivate one another or to alleviate stress in each individual. This is to ensure that the
project progress would not be delayed unnecessarily.
Key Lessons Learned: The importance of teamwork and friendship play a vital role in making the project a
complete success.



2. Individual Reflections

Jaryl’s Reflection


Progress on the entire project was very fast and we were able to complete all the major functionality. One of
the more difficult issues we had to grapple with was the handling of the beta test. We were working with
Treehouse and Cottage Waffle Place and we sometimes had to go beyond the call of duty in helping them
launch a promotion. We liaised with them to help ensure that their mailers can go out to SMU students and
we even had to design their mailers too.

Also, merchants were reluctant to use the backend system themselves as it involved learning new software
and thus we spent some time to make it easier for them to use it. Ultimately, this took away from our
development time and we decided to push back the development of some of the backend features for
merchants.

However, it was an experience integrating so many web services and technologies together in a single project.
The whole team was exposed to useful services such as Google Analytics. Also, the team developed a good
working knowledge of Ruby on Rails, which is something that needed some getting used to. However, the
framework forced us into the Model-View-Controller methodology and other best practices.

We also had some trouble working on the project due to our busy schedules. However, this turned out to be a
good thing because all of us had to be able to cover each other’s responsibilities. In terms of development, a
few people would be versed in working with different parts of the system so no one person was entirely
responsible for a whole part.




IS480 - IS Application Project                                                                            Page 3
Team Sentinels                                                                           Final Reflection v 1.0

Siew Hui’s Reflection

     Besides taking up the developer role in this project, I learnt a lot about HTML design and styling
     techniques for web programming. I was not in-charge of the styling for our project but while doing the
     functionalities, I took the initiative to style the parts according to the general feel of the website. It was
     through much research and the help offered by my team mates that I gain so much knowledge on web
     designing techniques.

     As for the programming side, I learn more about the gems available for Ruby projects and was able to
     deploy them correctly through the help of online tutorials and forums. I also got to know some of the
     security risks and their mitigation ways which was then used in our project.

     One of the important takeaways from this project is to choose team members that are supportive and
     responsible. Nobody can devote 100% of their time throughout the whole project due to other modules
     and commitments. For our team, we complement each other very well in terms of time management.
     There will always be someone working on the project while others are busy with other modules. This
     mutual understanding helped us complete the project without internal conflicts. And to me, this is what
     made the whole project enjoyable, not forgetting the team bonding activities we have every now and
     then.



Kelvin’s Reflection

     15 weeks passed by and Sight’d is fast coming to an end. It was only like yesterday that we first toyed
     with the idea of developing our own project and today, we finally see our fruits of labor close to
     completion. The past 4 months had not been an easy ride in the park, unknowingly being put through
     countless days and nights of work and countless number of intensive development periods just to stay on
     schedule. It is with such strong love hate memories that I start this short reflection that can hardly
     describe the journey this far.

     Sight’d was developed fully on Ruby on Rails which had a significant learning curve, being a new language
     and a previously untaught framework. However, it truly took me out of my comfort zone to try
     something completely new, beyond the norms and the conventions that I was familiar to. Beside the
     usual development work that I was tasked to complete in this entirely new setting, I was also assigned as
     the front-end developer of solution as well, working with javascript and css in order to deliver the best
     user experience possible.

     In that role, a major change came when we proposed the solution to our first beta tester, Cottage
     Waffles Place. The marketing director and part owner of Cottage Waffles Place, Helena, feedback that
     the user interface we were originally working on, although was functional, lacked the visual appeal that
     would have made it popular. As such, we brainstormed as a team and decided that we had to rework the
     user interface to transcend from being functional to being appealing. This required a heavy rework on
     the css and design of the site and together with Jaryl, the lead developer, we managed to convert what
     we had into what we should have. This is but one instance of how unexpected things are commonly
     running up along the course of the project and without the team sticking through thick and thin together,
     we would never have been able to accomplish what we had amidst the tight deadlines and
     incomprehensible workload.

     In all, I thoroughly enjoyed working with the team on Sight’d and was fortunate to have forged strong
     friendships with them and had learnt a lot from them from their different skill sets and experiences. This
     is truly an unforgettable journey.



IS480 - IS Application Project                                                                             Page 4
Team Sentinels                                                                            Final Reflection v 1.0

Kevin’s Reflection

     During my 15 weeks into my final year project, I have gained a great deal of knowledge from my peers,
     on my own as well as from IS modules that I am taking this term. In the process, the knowledge I have
     gained was used to fulfill the requirements of the project. Some of the key learning points that I have
     gathered from my peers were mostly on the technical aspect - programming. I am fortunate to be in this
     team as many of them are good and patient programmers who are very willing to impart their knowledge
     and even offer to give a helping hand when I have problems during coding. Being technically challenged
     in programming, I spent a long time resolving bugs which were easily solved by my peers. Furthermore, it
     is a new programming language – Ruby on Rails (RoR) - and till now, I have yet to fully grasp comprehend
     and apply this powerful programming language. If I were given a chance to look back at time and advise
     my old self, I would tell “me” to explore the wonders of internet as it has a rich source of information on
     RoR and build my foundations in this language. Aside from learning from my peers, I picked up a few new
     skills on my own and from two IS Modules – IS419 Retail Banking Solution and Process, and IS305
     Enterprise Web Solutions. What I have learnt was the usefulness of screencast - a digital video recording
     of our desktop screen often containing audio narration that could be used as a quick project introduction
     or a tutorial to guide our users on how to effectively use Sight’d. This is something interesting that I feel
     that I will continue using for future projects to come.

     My main role in this project is being the project manager. My contribution to the team was to follow up
     with the progress of the project and update our supervisor on the status of our project. In addition, I will
     prepare the necessary documentations and ensure that deliverables and milestones are being met on
     time. I feel that what I have done so far seems rather insignificant but yet essential. All-in-all, I felt that
     my journey during this FYP is a fruitful one and fulfilling experience for me. Looking forward to my final
     presentation to come!



Marilyn’s Reflection

     My main role in the project was to coordinate and gather requirements from the clients. In terms of
     coding ability, I was the weakest so I took up validations codes of the project. I learned a lot from the
     ruby validation codes in this project. This helped me learn how ruby codes work.

     Another one of my learning point was to handle client's expectations. There are many business aspects
     which I missed out till the client pointed out. I learnt that there are many aspects for me to consider
     when talking to the client, and to handle the challenges in the business world. Upon the first formal
     meeting with one of our clients, I had difficulty handling it. The thought of how a client might challenge
     you and to come up with a strategy to deal with them on the spot was very daunting. Fortunately,
     together with Jaryl, who has the most experience in the business world among all, handled the situation
     well. From here, I learned a valuable lesson.

     I enjoyed working with my group mates in this project team. It has been difficult to deal with the strong
     negative emotions about handling stress in school. I am really glad to have such a supportive team. It
     keeps you going.



Yi Zhuang’s Reflection

     For the Sight’d project, my role aside from the being the system analyst, I was also the one of the
     developer in the team. Though inexperience in application development using the Ruby on Rails, I was
     able complete some major functions for the application (e.g. integration of Google Analytics). Through
     the months of development, I learned to better apply knowledge and concept obtained from various
IS480 - IS Application Project                                                                              Page 5
Team Sentinels                                                                           Final Reflection v 1.0

      courses in SIS into real life application. During the start of Sight’d beta testing, one of our beta test
      participating clients requested for a change in our original coupon redemption process in hope to be
      inline with their business process. But if we were to accommodate the requested changes, it will impact
      the testing of Sight’d original redemption concept. Hence, applying the concept from IS302 Process
      Modeling and Solution Blueprinting, I was able to help the team to modify the proposed process to
      accommodate both Sight’d initial plan as well as the fit into our client’s business process.

      While working on this project, there were multiple occasions where conflicts arise due to the difference
      in ideas for solution towards a particular problem. Fortunately, there were always one of us who will
      either boldly step up to act as the sprinkler to extinguish the flame or one who would willingly to take a
      step back and give then opposition’s idea a try after input from others. These have leaded me to realize
      the important of mutual understanding between each member, as well as knowing when to take a step
      back when conflicts arise. Conflicts are always a big part of any team and are bound to arise, and each
      person must realize that their idea is not always right. I believe that knowing ahead of time that conflicts
      will arise that team should run a lot smoother.

      All in all, I have thoroughly enjoyed this project and the company of each members of the team. Each
      step of completion from the ground up was a great experience. I enjoy seeing our finished product, and
      enjoy people liking what our finished product looks like. I think all the hard work and conflicts pay off
      when I see a completed project. It has been a great team building experience for me, and I feel that the
      completion of this team project will help me in future team oriented projects. This was the best project
      team and project that I have worked with in SMU and I have a lot of takeaways from this in terms of how
      to manage a project team properly. A team will never be a team when members do not have and see the
      same end goal in mind.



3. Project Management

3.1 Project Scope

During the development of Sight’d, new features were introduced to enhance its usability and enhance it
security since the project was proposed. The new features are listed below:

Changes                  Descriptions of Complexity                                                       Rating
Implement security       There are a total of 6 different measures employed to enhance security.            5
features into Sight'd
Website
                         Each of these measures requires addition syntax to the source codes and
                         integration with ruby gems.
Integration of Google    Require api key from Google Map and integration of source code with the             4
Map into outlet
                         ruby gem – Geokit.
CSS style management     Require the creation of CSS and integration of source code with the ruby            4
                         gem – Shoebox.
Thumbnailing of          Require integration of source code with the ruby gem – Paperclip.                   3
images for coupon and
merchant logo
Search features in       Require integration and integration of source code with the ruby gem –              3
coupons
                         Searchlogic.
Pagination of coupons    Require integration of source code with the ruby gem – Pagination.                  2
Coupons taggable         Require creation of active record and associate to coupon model.                    1
Rating of complexity: 1 (lowest) – 5 (highest)




IS480 - IS Application Project                                                                             Page 6
Team Sentinels                                                                       Final Reflection v 1.0

3.2 Project Quality

3.2.1 Website Usability
Sight’d.com has gone through a major facelift during week 9 as the aesthetic of the website is somehow
lacking and that there is a need for a better content management based on our sponsor’s feedback especially
when Sight’d is expected to deal with a large pool of information on promotions and companies in the future.
Alterations to the website design were to cater to our new target audience - SMU students and faculty - for
our first phase of beta testing with Cottage Waffle and Treehouse.




Hence, during week 9, a new theme was introduced and an attractive background was created together with
the implementation of AJAX for prompts and notification. Large and readable fonts are also used to improve
viewability of the promotions and other information available in Sight’d. Customized buttons are inserted as
AJAX and appears on mouse-over provides a tidier feel when browsing the coupons.




3.2.2 Enhanced Security
Prior to our beta-test, six security features were added into our system to safeguard our user information and
to prevent malicious hacking. The measures can be referred at http://railscasts.com/episodes/178-seven-
security-tips.

The six features that were added to our system are:

1. Disabling script execution with Apache
2. Filtering sensitive logs
3. Protection from cross-site request forgery
4. Authorizing ownership
5. Prevention of SQL injection
6. Prevention of HTML injection
IS480 - IS Application Project                                                                         Page 7
Team Sentinels                                                                                 Final Reflection v 1.0

3.3 Project Deliverables

sno Deliverables                     Description                                 Reference
UML Design Documentation
 1    Project Proposal v1.0          Proposal Report                             Please refer to CD
 2    Midterm Reflection v1.0        Midterm Reflection Report                   …\01 Report and UML Documentation\01
 3    Final Reflection v1.0          Final Reflection Report                     Reports
UML Design Documentation
                                     This document contains use case             Please refer to CD
 4    Use Cases
                                     diagram and use case descriptions.          …\01 Reports and UML Documentation\02
                                     This document contains flow chart           Appendices
 5    Flowchart
                                     outlining process flow per use case.
                                     This document contains ER Diagram
 6    Data Documentation
                                     and Data Dictionary
                                     This chart depicts the links of
 7    Web Architecture Chart
                                     functions/web pages of Sight’d
System Documentation
                                     This plan shows how the website is          Please refer to CD
 8    Deployment Plan                being deployed using Capestroni.            …\01 Reports and UML Documentation\02
                                                                                 Appendices
Project Management Documentation
                                     This document contains the planned          Please refer to CD
 9    Gantt Chart
                                     schedule of our project                     …\01 Reports and UML Documentation\02
                                     This document contains record of bugs       Appendices
10    Bug Tracking Report            logged during the development of
                                     Sight’d.
      Website Usability Survey &     Collection of feedback from registered
11
      Feedbacks                      merchants and users of Sight’d.
                                     Records of mintues of meeting with          Please refer to folder in CD
12    Minutes of Meeting             sponsors and supervisor and minutes of      …\01 Reports and UML Documentation\03
                                     FYP project meetings.                       Minutes of Meeting
System Deployment
                                     As the setting up of the system is rather
                                     time consuming and complicated, we
13    System Deployment              has decided to deploy the system onto       Please visit our site @ www.sightd.com.
                                     our production server for the grader’s
                                     convenience.
      Screencast – Introduction to   As an introduction to our project and to    Please refer to folder in CD.
14
      Sight’d *New                   demonstrate the full features of Sight’d.   …\04 Video Introduction
Test Plan and Test Cases
                                     The Master Test Plan for Sight’d and        Please refer to folder in CD
15    Test Plan v1.0                 Test Cases for the following features:      …\02 Test Plan and Test Cases\
                                     1. Profile Management
                                     2. Merchant Management
      Test Cases                     3. Campaign Management
16                                   4. Outlet Management
                                     5. Coupon Management
Evaluations
                                                                                 Please refer to folder in CD
17    Peer Evaluation
                                                                                 …\03 Evaluation




IS480 - IS Application Project                                                                                    Page 8

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:8/14/2011
language:English
pages:10