HeaderSIS.jpg

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

From IS480
Jump to navigation Jump to search
 
(48 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Team # ==
+
[[Image:Sharp1.jpg]]
[[Image:Sharp.jpg]]
 
  
 
== About Us ==
 
== About Us ==
 
''' Team Members:'''
 
''' Team Members:'''
  
*Abhishek "earlobe" Kumar (abhishek.k.2007@smu.edu.sg) – Lead Programmer  
+
*Abhishek Kumar (abhishek.k.2007@sis.smu.edu.sg) – Lead Programmer  
*Deeptarka "sizzle" Hazra (deeptarka.h.2007@smu.edu.sg) – Interface Designer
+
*Deeptarka Hazra (deeptarka.h.2007@sis.smu.edu.sg) – Interface Designer
*Namrata "momo"  Sen (sen.namrata.2007@smu.edu.sg) – Chief Tester
+
*Namrata Sen (sen.namrata.2007@sis.smu.edu.sg) – Chief Tester
*Priya "nonickname" Raghavan (priya.2007.2007@smu.edu.sg) – Chief Liaison Officer  
+
*Priya Raghavan (priya.2007.2007@sis.smu.edu.sg) – Chief Liaison Officer  
*Shiv "chiu"  Whorra (shiv.whorra.2007@smu.edu.sg) – Project Manager
+
*Shiv Whorra (shiv.whorra.2007@sis.smu.edu.sg) – Project Manager
  
 
== The Project ==
 
== The Project ==
Line 37: Line 36:
 
Course Coordinator: Professor Benjamin Gan
 
Course Coordinator: Professor Benjamin Gan
  
 +
== Use Case Descriptions ==
  
= Project Management =
+
===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.
  
==Gantt Chart==
+
===Send Enquiry===
[[Image:Example.jpg]]
+
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)
  
==Risk Mitigation==
+
===Browse===
[[Image:Risk.jpg]]
+
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 [http://www.mediafire.com/?yxniktdcqiy 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 [http://www.mediafire.com/?yxniktdcqiy 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.
  
==Meeting Minutes==
+
==Final Reflections==
=== Minutes - Meeting 1 (Group Meeting) ===
 
<div style="border:dashed 1px #666;float:right;width:240px;text-align:center;">
 
'''Meeting 1'''<br/>
 
<div style="clear:both;"></div>
 
<div style="font-size: 12px;padding: 5px;">
 
<table cellspacing="0" cellpadding="1" style="text-align:left; width:100%;">
 
<tr><td valign="top">'''Date'''</td><td>November 20, 2009</td></tr>
 
<tr><td valign="top">'''Venue'''</td><td>SIS Level 2 Benches</td></tr>
 
<tr><td valign="top">'''Duration'''</td><td> 3 hr</td></tr>
 
<tr><td valign="top">'''Meeting Attendees'''</td><td><b>Team #</b> <br/> Abhishek <br/> Deep <br/> Namrata <br/> Priya <br/>Shiv <br /> </td></tr>
 
</table>
 
</div>
 
</div>
 
  
Agenda:
+
===Team===
Gathering requirements based on first meeting with the client.
 
Creating Use Cases to further simplify the requirements
 
Work Break Down Structure
 
  
Completed:
+
====Technical Skills====
Requirement Gathering was the only aspect completed during this meeting as it took us longer than anticipated. The meeting was ended early after the requirement gatherings had been set due to up coming examinations. It was decided in this meeting that the meetings till the examinations end will be shorter ones and we will try to finish as much as possible in these.
+
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.
  
To be completed:
+
====Project Management Skills====
Creating Use Cases
+
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.
WBS Structure
 
Start off with Gantt chart
 
  
=== Minutes - Meeting 2 (Group Meeting) ===
+
====Miscellaneous Skills====
<div style="border:dashed 1px #666;float:right;width:240px;text-align:center;">
+
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.
'''Meeting 2'''<br/>
 
<div style="clear:both;"></div>
 
<div style="font-size: 12px;padding: 5px;">
 
<table cellspacing="0" cellpadding="1" style="text-align:left; width:100%;">
 
<tr><td valign="top">'''Date'''</td><td>November 23, 2009</td></tr>
 
<tr><td valign="top">'''Venue'''</td><td>Subway Benches</td></tr>
 
<tr><td valign="top">'''Duration'''</td><td> 3 hr</td></tr>
 
<tr><td valign="top">'''Meeting Attendees'''</td><td><b>Team #</b> <br/> Abhishek <br/> Deep <br/> Namrata <br/> Priya <br/>Shiv <br /> </td></tr>
 
</table>
 
</div>
 
</div>
 
  
Agenda:
+
===Individual===
Creating the Use cases
 
Work breakdown Structure
 
Start off with the Gantt Chart
 
  
Completed:
+
====Abhishek Kumar====
All use cases were made and completed during this meeting.
+
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.  
The work break down structure was created too. However, as per this Work Break Down structure, we were following a waterfall process when ideally we would like to follow an iterative process. This would be changed later on after the meeting with the client to clear out the requirements for Phase I.
 
The Gantt chart shaped in this meeting was a general one without much detailing. The detailing would also be added in once we were clear on the requirements.  
 
  
To Be Completed:
+
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.
Role Allocation
 
Risk Identification and Mitigation
 
Start on the Project Proposal
 
  
=== Minutes - Meeting 3 (Group Meeting) ===
+
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 .
<div style="border:dashed 1px #666;float:right;width:240px;text-align:center;">
 
'''Meeting 3'''<br/>
 
<div style="clear:both;"></div>
 
<div style="font-size: 12px;padding: 5px;">
 
<table cellspacing="0" cellpadding="1" style="text-align:left; width:100%;">
 
<tr><td valign="top">'''Date'''</td><td>November 29, 2009</td></tr>
 
<tr><td valign="top">'''Venue'''</td><td>SIS Level 3 Benches</td></tr>
 
<tr><td valign="top">'''Duration'''</td><td> 2.5 hr</td></tr>
 
<tr><td valign="top">'''Meeting Attendees'''</td><td><b>Team #</b> <br/> Abhishek <br/> Deep <br/> Namrata <br/> Priya <br/>Shiv <br /> </td></tr>
 
</table>
 
</div>
 
</div>
 
  
This is the last meeting before December, as our team members would be occupied over December in various competitions and community service projects.  More than anything else, we set out with the agenda of starting the draft project proposal and finishing as much of it as possible.
+
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.
Role allocation has been completed and the following permanent roles have been assigned to each member –
 
1. Abhishek: Lead Programmer
 
2. Deep: Lead Interface Designer
 
3. Namrata: Chief Tester & Database Manager
 
4. Priya: Liaison Officer & Database Manager
 
5. Shiv: Project Manager
 
Everyone in the team will take up all of the roles at some point of time during the project. However, for most of the project, the above-mentioned people will be the heads in the respective departments to overlook when the others take over.
 
Risk Identification has been completed in this meeting too and added to the draft proposal report. The standard matrix taught to us in Software Engineering has been followed here.
 
The Draft report has been completed and is ready for submission and feedback.  
 
  
To Be Completed:
+
====Namrata Sen====
Currently on time and waiting for supervisor feedback.
+
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.  
  
=== Minutes - Meeting 4 (Group Meeting) ===
+
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.
<div style="border:dashed 1px #666;float:right;width:240px;text-align:center;">
 
'''Meeting 4'''<br/>
 
<div style="clear:both;"></div>
 
<div style="font-size: 12px;padding: 5px;">
 
<table cellspacing="0" cellpadding="1" style="text-align:left; width:100%;">
 
<tr><td valign="top">'''Date'''</td><td>December 18, 2009</td></tr>
 
<tr><td valign="top">'''Venue'''</td><td>Online</td></tr>
 
<tr><td valign="top">'''Duration'''</td><td> 2 hr</td></tr>
 
<tr><td valign="top">'''Meeting Attendees'''</td><td><b>Team #</b> <br/> Abhishek <br/> Deep <br/> Namrata <br/> Priya <br/>Shiv <br /> </td></tr>
 
</table>
 
</div>
 
</div>
 
  
Agenda:
+
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.
An online meeting to finalise the proposal draft, before submission on 4th January 2010.  
 
  
Completed:
+
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.
The meeting lasted roughly 2 hours and was the only meeting we were able to coordinate over the December break since the team members were all over the globe attending different events.
 
Supervisor feedback was incorporated. Resources and references were improved upon and everything else was left untouched as we were told that our report was fine and could be submitted.
 
  
To Be Completed:
+
====Shiv Whorra====
Get feedback from Ben and submit final report before 4th Jan.
+
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.
  
=== Minutes - Meeting 5 (Group Meeting) ===
+
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.
<div style="border:dashed 1px #666;float:right;width:240px;text-align:center;">
 
'''Meeting 5'''<br/>
 
<div style="clear:both;"></div>
 
<div style="font-size: 12px;padding: 5px;">
 
<table cellspacing="0" cellpadding="1" style="text-align:left; width:100%;">
 
<tr><td valign="top">'''Date'''</td><td>December 30, 2009</td></tr>
 
<tr><td valign="top">'''Venue'''</td><td>Online</td></tr>
 
<tr><td valign="top">'''Duration'''</td><td> 5.5 hr</td></tr>
 
<tr><td valign="top">'''Meeting Attendees'''</td><td><b>Team #</b> <br/> Abhishek <br/> Deep <br/>  </td></tr>
 
</table>
 
</div>
 
</div>
 
  
Agenda:
+
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.  
Change report based on feedback from Ben (Online Meeting)
 
The feedback was as follows:
 
#Not clear what is in front end and back end (no database on your system? What API? What dependencies?)
 
#Such as insurance packages is not clear
 
#The supervisor is playing both roles as supervisor and client (can there be other client rep? Testers for the client side, domain users, travel agency, etc?)  Stakeholders should be clearly identified.
 
#The scope is only at level 1. Needs 2 more level down. What fields? You need to have an agreed database schema quickly or the dependencies will delay one or both teams. Details on main page (screen shots? Prototype?), criteria for search should be clearly described (keywords? What search engine? Multi keywords? Etc), workflow on the shopping cart, what payment methods (research/reference on how to do this) I don’t understand what is 7. Be specific on 8. Limit the scope with the sponsor. If insurance package, say insurance package only. This is usually where the sponsor and the developer differ in what it means.
 
#The WBS looks like waterfall. Deliverables need dates! Rough dates are OK 2 week iterations? With user testing on each iteration?
 
#Lack of familiarity is top risk exposure but team have 2-4 VS. Mitigation over dec but what does it mean? Is there assigned work in dec? What prototypes have you developed? Anyone done google analytics/map? Crystal reports? There are good tutorials. These needs to be in the resource and references section. Links to your training. (more than the 3 footnotes).
 
#The learning objectives are included in all IS480 projects. I suggest you concentrate on 1 or 2 and define it as an X factor in your project. As you are doing the front end, maybe learning about Usability and research on HCI, usability testing, etc might be good.
 
The agenda of this meeting was to try and incorporate as much of Ben’s feedback as possible into our proposal with the short time we had.  
 
  
Completed:
+
====Priya Raghavan====
The meeting lasted almost 5-6 hours so that we could incorporate as much of the feedback as possible. The changes have been documented in the versioning history of the proposal report. However, not all changes could be made since we were still unclear on various aspects of the project, as we had not had our first client-team meeting yet. The Proposal was submitted for grading
+
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.
  
To Be Completed:
+
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.
Get started on Elaboration phase I after 1st meeting with client.
 
  
=== Minutes - Meeting 6 (Group Meeting) ===
+
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.
<div style="border:dashed 1px #666;float:right;width:240px;text-align:center;">
 
'''Meeting 6'''<br/>
 
<div style="clear:both;"></div>
 
<div style="font-size: 12px;padding: 5px;">
 
<table cellspacing="0" cellpadding="1" style="text-align:left; width:100%;">
 
<tr><td valign="top">'''Date'''</td><td>January 5, 2010</td></tr>
 
<tr><td valign="top">'''Venue'''</td><td>Sophia Food Mall Study Area</td></tr>
 
<tr><td valign="top">'''Duration'''</td><td> 4 hr</td></tr>
 
<tr><td valign="top">'''Meeting Attendees'''</td><td><b>Team #</b> <br/> Abhishek <br/> Deep <br/> Namrata <br/> Priya <br/> </td></tr></table>
 
</div>
 
</div>
 
  
Agenda:
+
====Deeptarka Hazra====
UI Conceptualization
+
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.
Gantt chart updating
 
Class Diagrams
 
  
Completed:
+
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.
The UI Prototype had already been made over the December break and we roughly had an idea of what was required in the application. It was further discussed and a UI template was finalized for us to start work on.
 
After the meeting with the client and all members being back, we updated the gantt chart with details of the project timeline.
 
Class Diagrams were created during the meeting and previous class diagrams were updated. Updated in documents
 
  
To Be Completed:
+
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.
Sequence Diagrams
 
System Sequence Diagrams
 
Use Case with descriptions
 
  
=== Minutes - Meeting 7 (Group Meeting) ===
+
==Risk Mitigation==
<div style="border:dashed 1px #666;float:right;width:240px;text-align:center;">
+
[[Image:Risk.jpg]]
'''Meeting 7'''<br/>
 
<div style="clear:both;"></div>
 
<div style="font-size: 12px;padding: 5px;">
 
<table cellspacing="0" cellpadding="1" style="text-align:left; width:100%;">
 
<tr><td valign="top">'''Date'''</td><td>January 11, 2010</td></tr>
 
<tr><td valign="top">'''Venue'''</td><td>Sophia Food Mall Study Area</td></tr>
 
<tr><td valign="top">'''Duration'''</td><td> 4 hr</td></tr>
 
<tr><td valign="top">'''Meeting Attendees'''</td><td><b>Team #</b> <br/> Abhishek <br/> Namrata <br/> Priya <br/>  </td></tr></table>
 
</div>
 
</div>
 
  
Agenda:
+
==Meeting Minutes==
The agenda of this meeting was to complete the following:
 
Sequence Diagrams
 
System Sequence Diagrams
 
Use case with descriptions
 
  
Completed:
+
===Team Meeting Minutes:===
All the system diagrams and system sequence diagrams were completed so we could get started on the coding aspect of the application. Previous use cases were updated and new ones created. Use case descriptions were added to each use case.  
+
Meeting Minutes 1 [[Media:MeetingMinutes1.docx]] <br>
 +
Meeting Minutes 2 [[Media:MeetingMinutes2.docx]] <br>
 +
Meeting Minutes 3 [[Media:MeetingMinutes3.docx]] <br>
 +
Meeting Minutes 4 [[Media:MeetingMinutes4.docx]] <br>
 +
Meeting Minutes 5 [[Media:MeetingMinutes5.docx]] <br>
 +
Meeting Minutes 6 [[Media:MeetingMinutes6.docx]] <br>
 +
Meeting Minutes 7 [[Media:MeetingMinutes7.docx]] <br>
 +
Meeting Minutes 8 [[Media:MeetingMinutes8.docx]] <br>
 +
Meeting Minutes 9 [[Media:MeetingMinutes9.docx]] <br>
 +
Meeting Minutes 10 [[Media:MeetingMinutes10.docx]] <br>
 +
Meeting Minutes 11 [[Media:MeetingMinutes11.docx]] <br>
 +
Meeting Minutes 12 [[Media:MeetingMinutes12.docx]] <br>
 +
Meeting Minutes 13 [[Media:MeetingMinutes13.docx]] <br>
 +
Meeting Minutes 14 [[Media:MeetingMinutes14.docx]] <br>
 +
Meeting Minutes 15 [[Media:MeetingMinutes15.docx]] <br>
 +
Meeting Minutes 16 [[Media:MeetingMinutes16.docx]] <br>
 +
<br>
 +
===Client Meeting Minutes:===
 +
Client Meeting Minutes 1 [[Media:ClientMeeting1.docx]] <br>
 +
Client Meeting Minutes 2 [[Media:ClientMeeting2.docx]] <br>
 +
Client Meeting Minutes 3 [[Media:ClientMeeting3.docx]] <br>
 +
Client Meeting Minutes 4 [[Media:ClientMeeting4.docx]] <br>
 +
<br>
 +
===Supervisor Meeting Minutes:===
 +
Supervisor Meeting Minutes 1 [[Media:SupervisorMeeting1.docx]] <br>
 +
Supervisor Meeting Minutes 2 [[Media:SupervisorMeeting2.docx]] <br>
 +
Supervisor Meeting Minutes 3 [[Media:SupervisorMeeting3.docx]] <br>
 +
Supervisor Meeting Minutes 4 [[Media:SupervisorMeeting4.docx]] <br>
 +
Supervisor Meeting Minutes 5 [[Media:SupervisorMeeting5.docx]] <br>
 +
Supervisor Meeting Minutes 6 [[Media:SupervisorMeeting6.docx]] <br>
 +
Supervisor Meeting Minutes 7 [[Media:SupervisorMeeting7.docx]] <br>
  
To Be Completed:
 
Start coding on the user interface
 
Start creating the design website layout
 
  
== Prototype ==
+
==Work Allocation==
[[Image:Proto1.jpg]]
+
[[Image:WorkAllocation1.jpg]]<br>
[[Image:Proto2.jpg]]
+
[[Image:WorkAllocation2.jpg]]
[[Image:Proto3.jpg]]
 

Latest revision as of 21:05, 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