HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2009T2"

From IS480
Jump to navigation Jump to search
Line 95: Line 95:
 
Most SMU courses have given us extensive experience with Java but I had only had a rudimentary introduction to C# with EWS. FYP has allowed me to exponentially broaden my understanding of the .NET environment and the intricacies of working with the same.
 
Most SMU courses have given us extensive experience with Java but I had only had a rudimentary introduction to C# with EWS. FYP has allowed me to exponentially broaden my understanding of the .NET environment and the intricacies of working with the same.
  
What was particularly noteworthy about this project was that we were not simply extending an existing application – we started from scratch to build a stand-alone operation. There were endless obstacles en route to realizing the completion of the technical implementation every one of which have turned out to be a learning lesson I am unlikely to ever forget- from the indispensability of effective communication, the virtues of regular documentation, the necessity of constant versioning among so many more .
+
What was particularly noteworthy about this project was that we were not simply extending an existing application – we started from scratch to build a stand-alone operation. There were endless obstacles en route to realizing the completion of the technical implementation every one of which have turned out to be a learning lesson I am unlikely to ever forget- from the indispensability of effective communication, the virtues of regular documentation, the necessity of constant versioning among so many more .
  
 
  My most significant personal challenge was the establishment of a common understanding in terms of UI expectations of the client as well as my team mate who conceptualized the aesthetics of the page and implementing the same satisfactorily. But all my struggles in this regard were well worth it as I recognize the vast array of applications this newly acquired skill of mine has and that it stands me in remarkably good stead in terms of being ready to handle IT projects in a business environment.
 
  My most significant personal challenge was the establishment of a common understanding in terms of UI expectations of the client as well as my team mate who conceptualized the aesthetics of the page and implementing the same satisfactorily. But all my struggles in this regard were well worth it as I recognize the vast array of applications this newly acquired skill of mine has and that it stands me in remarkably good stead in terms of being ready to handle IT projects in a business environment.

Revision as of 21:04, 19 April 2010

Sharp1.jpg

About Us

Team Members:

  • Abhishek Kumar (abhishek.k.2007@sis.smu.edu.sg) – Lead Programmer
  • Deeptarka Hazra (deeptarka.h.2007@sis.smu.edu.sg) – Interface Designer
  • Namrata Sen (sen.namrata.2007@sis.smu.edu.sg) – Chief Tester
  • Priya Raghavan (priya.2007.2007@sis.smu.edu.sg) – Chief Liaison Officer
  • Shiv Whorra (shiv.whorra.2007@sis.smu.edu.sg) – Project Manager

The Project

The primary aim of the project is the design and development of a comprehensive e-commerce site for a travel agency dealing with national and international travel coupled with related services. The site seeks to provide an end-to-end facilitation platform for online transactions supporting the agencies’ core business process as well as for auxiliary services (such as insurance packages) provided by the agency.

The scope of the project encompasses studying the business needs of the travel agency and translating them into a site design incorporating all of the business logic captured as well as the development, testing and deployment of the e-commerce solution.

We will be working in tandem with Team Autobots to come up with our database structure. Due to constraints we will only be able to meet and discuss with them issues such as dependencies and the API in the first week of January. Our scope of the WebXTravel solution is limited to developing the user-facing front-end solution. Team Autobots will provide the back end (database) support for our project.

The Motivation

The motivation behind the project is the facilitation of a foray of the travel agency into the online realm serving the purpose of allowing for the conduct of transactions related to the agency’s core competency – selling travel packages - on an exclusively online platform. The agency seeks to capture new and wider markets through its e-commerce initiative. The website allows for this in a streamlines, low cost and effective manner.


StakeHolders

The project sponsored is designing the user-interface (front-end system) of the eCommerce travel agency website - WebXTravel, the project was introduced to us by Metor LLP, a company of a faculty member at SMU’s School of Information Systems. Prof. Ilse will be the facilitator between the company and our team – communicating to us requirements and the scope of the project as well as supervising the progress we make on the same.

Client: The client in our scenario is a travel agency, WebXTravel, for whom we are developing the e-commerce site. It is the agency who will employ what we develop and use the same in their organization. The client will host the website and allow for their end users i.e. potential travelers to use the web-site to make bookings or carry out other transactions with our client (the travel agency) via the platform provided by the e-commerce site.

End User: While our client is the travel agency, an important stakeholder we will consider during the design and development of our solution will be the end user of our website - the aforementioned customers of the travel agency as they will, in fact, be the ones interacting with and using out system most often.

Supervisor: Professor Ilse Baumgartner.

Course Coordinator: Professor Benjamin Gan

Use Case Descriptions

Search

This is the search function in our web application that allows users to search for possible holiday destinations by country, region, and their preferred dates and even allows them to enter their price range to look for holidays within a certain budget limit. This functionality has been implemented such that the user can search for any criteria with any possible combination. This means that if they are unsure of the dates, they can leave the date field blank to check availability first and then book accordingly. They can also search for holiday packages just based on their budget by entering the price range only or only enter dates and see the variety in offers based on different prices.

Send Enquiry

This function is implemented such that a user can request more details or post enquiries regarding a particular offer to one of our enquiry offers. On clicking the ‘Offer Enquiry” button, the details of the offer are directly duplicated on the new pop up leaving the user with only the details of the question to fill up. On clicking send, the enquiry is sent to the enquiry officer (i.e. the person who has been in charge of the offer)

Browse

The browsing has been made very intuitive and user friendly for the user. The user is able to browse for offers either category wise or randomly. The top offers valid for that period of time either according to category or just randomly are present in the middle of the home page and on the side-bar of every page making it easily accessible.

Browse

For the booking aspect, we have implemented it such that a traveller can make a booking for one to four people under the same booking. Each transaction accounts for a particular booking but a traveller can make bookings for multiple offers. A booking package encompasses details like personal information about the travellers any travel insurance (family or individual) that the person needs and also any Add-On (high speed train tickets, limousine transfers, etc. depending on the offer chosen) that he will avail, payment details, etc. After a booking is made payment can be made either through a bank transfer or an external payment vendor (Qpay). A CAPTCHA check is incorporated in the booking confirmation process. Google Analytics has been used to aid WebXtravel to analyse the demographics of successful bookings.

Midterm Reflections

For Supervisor

The midterm report and video have been emailed to the supervisor and can also be downloaded here.

For Reviewer

Emailed to the supervisor is a video demonstrating the use of our travel-agency web portal. The video demonstrates the current working functionalities facilitated by the site- browse, send enquiry and search. For a description of the two functionalities, you can refer to our use case descriptions detailed above. Above is also a brief summary of the project and its scope.

The midterm report and the demonstration video can be downloaded here.


Project Achievements

Efficient Risk Management

Our previous two reports included certain risks we pre-empted as well as strategies we could possible employ to mitigate them and minimize the impact they would have on our progress. We found that during the course of FYP, we did, in fact, encounter a good number of those risks and that most our mitigation strategies did efficiently minimize the impact they had on our project.

Employment of Suitable Metric

A particularly functional project management tool we devised was the employment of a prospective as opposed to retrospective metric. Retrospective metrics speak only of the past and allow us to reflect on how we could possibly do better later but tell us nothing about how to revise the immediate future of the project. Our metric measured the accuracy with which we were predicting the time we would need to components and proved particularly actionable- when we saw that our accuracy was particularly off, we would re-evaluate the optimism/pessimism with which we had set the schedule in the first place. This metric allowed us to give the client realistic updates and ensured we did not end up over-promising and under-delivering.

Completion of Requirements

We managed to deliver a completed site incorporating all of the client’s requirements with an intuitive, user-friendly interface. We also managed the additional requirements of integration of the external payment provider as well as Google analytics which we consider considerable achievements in terms of the expansion of our technical prowess and the translation of this acquired knowledge into a usable component of the project.

Stakeholder Management

We efficiently managed relationship both within and outside of the team including management of the client, supervisor and the other team we liaised with – the Autobots. We were extensively in touch with our client and supervisor and kept her constantly in the loop in terms of our progress. We also rigorously documented all meeting minutes and other communications to ensure a common understanding was established.

Final Reflections

Team

Technical Skills

As mentioned earlier, our team was entirely unfamiliar with SQL Server and the concept of stored procedure before the commencement of FYP. Our experience with the .NET platform and C# was also fairly limited. However, during the course of this project, every member of the team has significantly enhanced their technical capabilities in this regard.

Project Management Skills

FYP has been our first exposure to the management of a project of this scale independently. Working on it has not only enhanced our exposure to project management tools and techniques but also sharpened our intuitive understanding of several aspects of project management. We gained first-hand exposure in terms of scope management, time and planning management, team management as well as the management of external parties including our client, supervisor and the other team we worked with. One significant take-away we learned the hard way was the virtue of having flexible roles within the team. When, for a week, the two members in charge of the database could dedicate no time to FYP due to external unavoidable and unforeseeable circumstances, the entire project came to a stand-still as progress was contingent on completion of the database.

Miscellaneous SKills

FYP has been a lesson in the significance of effective communication and constantly re-enforced the importance of communicating regularly and comprehensively with all parties involved in a project of this nature. It also significantly refined our learning-to-learn skills- particularly as we worked with unfamiliar technologies which required us to research extensively and acquire a steep learning curve. It also taught us to effectively juggle various unavoidable commitments while not compromising on any significant one.

Individual

Abhishek Kumar

In my capacity as lead programmer, I managed to immerse myself in a depth of implementation no other project has exposed me to. I was involved with the conversion of the UI concept to code as well as with the coding of the main functionalities – browse, search and book.

Most SMU courses have given us extensive experience with Java but I had only had a rudimentary introduction to C# with EWS. FYP has allowed me to exponentially broaden my understanding of the .NET environment and the intricacies of working with the same.

What was particularly noteworthy about this project was that we were not simply extending an existing application – we started from scratch to build a stand-alone operation. There were endless obstacles en route to realizing the completion of the technical implementation every one of which have turned out to be a learning lesson I am unlikely to ever forget- from the indispensability of effective communication, the virtues of regular documentation, the necessity of constant versioning among so many more .

My most significant personal challenge was the establishment of a common understanding in terms of UI expectations of the client as well as my team mate who conceptualized the aesthetics of the page and implementing the same satisfactorily. But all my struggles in this regard were well worth it as I recognize the vast array of applications this newly acquired skill of mine has and that it stands me in remarkably good stead in terms of being ready to handle IT projects in a business environment.

Namrata Sen

My FYP journey has seen me adopt multiple roles from chief tester in the first half to liaison officer during the latter half of the project as well as database developer all throughout. In terms of hands-on technical work, my contribution was largely in the conceptualization, design and implementation of the database along with Priya.

While most teams doing FYP need comprehensive database management, where our team faced an additional challenge was in terms of liaising with another team also working on FYP who were implementing the back-end support for our website. During the initial stages of database conceptualization, we had to collaborate extensively with the other team as both teams were expected to come up with a single consistent database diagram adhering to all client expectations.

We worked hard to not only develop a paradigm we felt satisfactorily captured the requirements but also find a common ground with the other team to finalize a model we would both go on to implement. In the bargain, we acquired the ability to effectively liaise with horizontal stakeholders in addition to vertical ones.

Also, in my work with the database, I was exposed to an entirely new DBMS- SQL Server- which I was entirely unexposed to prior to FYP. As my particular area of interest within information systems lies in databases and I hope to some day work extensively with databases in the real world, I am sure my FYP experience will aid me tremendously in future.

Shiv Whorra

15 weeks working on a project of business value for a real-world client has broadened knowledge and experience is more domains than mere technical competence. In a majority of my projects this far, I have been deeply immersed in technical implementation and have seldom worked significantly with project management. For FYP, however, I was the project manager for the crucial first 8 weeks of the project.

As project manager of an undertaking whose accurate planning and progress was so very critical, I learnt how to devise, maintain and monitor an actionable metric, review progress, schedule effectively and through all of these, keep our project on track. I learnt the many virtues of tact and varying tones while dealing with different stakeholders to maintain healthy relations with all involved while ensure the necessary work is completed as planned.

In terms of technical implementation, one of the most significant challenges I personally faced was in the integration of the external payment provider – QPAY. However, after a few set-back, we managed to seamlessly integrate our booking functionality with QPAY. This has turned out to be a significant take-away for me as well as most commercial websites today are involved with integrations with external vendors at some level or the other making this lesson particularly indispensible.

Priya Raghavan

During the former half of FYP, I was the team liaison officer- dealing with the three levels of people already mentioned – our client/supervisor, the other FYP team we worked with as well as members of our team itself. In the last 8 weeks of FYP, I acquired the role of project manager- a role that proved particularly challenging and a massive eye-opener in scope management in particular and the overall management of a project of reasonable scope in a high pressure, time constrained environment.

Through all 15 weeks, I worked with Namrata primarily on the database conceptualization, design and implementation. In addition to working with SQL server for the first time, FYP was also our primary exposure to stored procedures. Given our lack of familiarity with the tools we used and the short period within which we needed to be relatively proficient in working with them, FYP considerable enhanced my learning-to-learn skills. We had to research extensively and implement almost immediately after forcing us to acquire a particularly steep learning slope.

A challenge FYP exposed me to that no other prior project entailed was my duty in the capacity of project manager in the second half to critically evaluate our project and, at one point, re-scope to project to eliminate an additional functionality in consultation with our client. Making a decision of this sort with suitable foresight without waiting to run out of time and realize implementation is not possible, not allowing for any client expectation management could have proved very problematic- as issue most projects in the real world are also susceptible to and one FYP has now given me basic experience dealing with.

Deeptarka Hazra

My role in the project was a particularly tricky as well as crucial one – I was to effectively capture client requirements at several instances during the project and convert them into what I conceptualized to be the end-product the client expected.

I was in charge of designing the preliminary UI. To this end, I developed several prototypes capturing client requirements while trying to lend a unique and aesthetic look and feel to our site. Once one was finalized, I assisted in its implementation as well. For each of the following functionalities – browse, search and book, I conceptualized all the views the user would go through to complete the functionality.

In all of this, the most predominant challenge was that of effectively capturing client requirements in a meticulous manner to ensure we deliver all that was expected of us. We were fairly lucky in that our client was consistent with her requirements throughout the 15 weeks of FYP. However, as we were building a system from scratch based on sometimes vague business rules, it was at times hard to convert requirements into tangible, implemented functions of our site. The FYP experience has taught me to manage with relative ease one of the most indispensible and integral pre-requisites to successful execution of a project – accurate capture and translation of client requirements.

Risk Mitigation

Risk.jpg

Meeting Minutes

Team Meeting Minutes:

Meeting Minutes 1 Media:MeetingMinutes1.docx
Meeting Minutes 2 Media:MeetingMinutes2.docx
Meeting Minutes 3 Media:MeetingMinutes3.docx
Meeting Minutes 4 Media:MeetingMinutes4.docx
Meeting Minutes 5 Media:MeetingMinutes5.docx
Meeting Minutes 6 Media:MeetingMinutes6.docx
Meeting Minutes 7 Media:MeetingMinutes7.docx
Meeting Minutes 8 Media:MeetingMinutes8.docx
Meeting Minutes 9 Media:MeetingMinutes9.docx
Meeting Minutes 10 Media:MeetingMinutes10.docx
Meeting Minutes 11 Media:MeetingMinutes11.docx
Meeting Minutes 12 Media:MeetingMinutes12.docx
Meeting Minutes 13 Media:MeetingMinutes13.docx
Meeting Minutes 14 Media:MeetingMinutes14.docx
Meeting Minutes 15 Media:MeetingMinutes15.docx
Meeting Minutes 16 Media:MeetingMinutes16.docx


Client Meeting Minutes:

Client Meeting Minutes 1 Media:ClientMeeting1.docx
Client Meeting Minutes 2 Media:ClientMeeting2.docx
Client Meeting Minutes 3 Media:ClientMeeting3.docx
Client Meeting Minutes 4 Media:ClientMeeting4.docx


Supervisor Meeting Minutes:

Supervisor Meeting Minutes 1 Media:SupervisorMeeting1.docx
Supervisor Meeting Minutes 2 Media:SupervisorMeeting2.docx
Supervisor Meeting Minutes 3 Media:SupervisorMeeting3.docx
Supervisor Meeting Minutes 4 Media:SupervisorMeeting4.docx
Supervisor Meeting Minutes 5 Media:SupervisorMeeting5.docx
Supervisor Meeting Minutes 6 Media:SupervisorMeeting6.docx
Supervisor Meeting Minutes 7 Media:SupervisorMeeting7.docx


Work Allocation

WorkAllocation1.jpg
WorkAllocation2.jpg