HeaderSIS.jpg

IS480 Team wiki: 2012T2 Team Techbusterz Final Wiki

From IS480
Jump to navigation Jump to search
Techbusterz logo.png



Project Progress Summary

1.   Final Presentation Slides:
https://www.dropbox.com/s/ypvq3saimlqnds6/Final%20Presentation.pdf?m


2.   To download our project proposal, please click Techbusterz Proposal

3.   Breadcrumb Site Link

Project Highlights

Mitigation Plan for project management was adopted. In Construction Iteration 6, we foresee that we will be delayed due to not able to receive the crawled data from our client because they are having shortage of manpower. Therefore, we mitigated this delay by revising our project schedule. This is our action plan:


Iteration No. Affected Metric Metric Level
(High/Med/Low)
Cause Action Plan
Construction Iteration 6 Schedule Metric Red In Construction Iteration 6, we are supposed to integrate crawled data for our various categories such as Arty Farty, Local Culture, etc. However, our sponsor is not able to send us the crawled data on time due to some unforeseen circumstances. Therefore, the PM has to carry out the action plan according to the metric. PM has to reschedule plan and swap Iteration 7 and 6. Instead of working on the integrating of crawled data, our developers will work on the Facebook & Google integration


Initial Plan:

Techbusterz InitialPlan.png

Revised Plan:

Techbusterz RevisedPlan.png

Project Challenges

Event (#) Challenges
Improved Search Algorithm
  • Team had consultations with Tao Hong from Advanced Digital Science Center (ADSC) to improve the accuracy of the search algorith
  • This was considered as a technical complexity during the Mid-Term review.
  • Our client decided that the focus of the project will be on the iPad Application.
  • However, the final verdict was to change the search algorithm follows Google layout where entity with images will have the highest priority so as to improve the overall user experience.



Developed A Web Application Admin Console
  • Added a function title "Database Reload".
    • Allows the administrator to view the progress of the live update.
      • The team have to explore asynchronous communication between the browser and the web application.
  • Added a function to allows the administrator to upload the new source file for keywords and the images of the webpage source.
    • Need to write a custom function to read the uploaded source file and write the new information into the database.



Project Achievements

1. Implementation with end to end solution

  • Team tap on web application server acting as a middleware between the backend end ETL solution and the iPad application


2. Providing a "clean" user interface for both iPad application and the web application

  • Constant communication and User Acceptance Test (UAT) between the user and client.
  • User friendly and intuitive interface that won praises from both our client and users.


Project Management

Project Status:

Our team have completed all the categories implemenatation, facebook and google map integration.

Task/function/features, etc Status Comment
Login / Logout Function Fully deployed and tested 100% Sponsor Approved
Search nearby Function Fully deployed and tested 100% Sponsor Approved
Search categories Function Fully deployed and tested 100% Sponsor Approved
Facebook share Function Fully deployed and tested 100% Sponsor Approved
Google Share Function Fully deployed and tested 100% Sponsor Approved
Get direction Function Fully deployed and tested 100% Sponsor Approved
View location Function Fully deployed and tested 100% Sponsor Approved
Snap photo Function Fully deployed and tested 100% Sponsor Approved
Add to favourite Function Fully deployed and tested 100% Sponsor Approved
Caching Function Fully deployed and tested 100% Sponsor Approved


Project Schedule (Plan Vs Actual):

Currently our team has completed 4 out of 6 milestone. We are currently preparing for our 5th milestone which is the Final Presentation. To date, our team has managed to stay on track with our schedule planned. Our success was due to the diligent work of the Project Manager which constantly monitor individual team member's progress and constantly allocation of man power if required.

Below is the summary of our Project Schedule.

Techbusterz timelinenew.png

Project Metrics:

Below is the summary of our team metrics.

Techbusterz ProjectScheduleMetricUpdated170413.png
]
Metrics Title Description
Schedule Metric

Our team track the schedule metric based on the schedule which we have planned from the start to the end.
Click here to view detailed project schedule.

Bugs Metrics

Our team track the bugs metrics based on the score tested by our system analyst at the end of every iteration.

Efficiency Metric

Our team measure the efficiency of team based on the schedule as well as programming logs.
Click here to download the programming logs



Key Issues 1. If any

  • High bugs count at Iteration 10
  • Team needs to settle the following important change requests:
1. Change the search algorithm
2. Prioritise which user feedback to implement and which to drop




Project Risks:

Risk Probability Impact Mitigation
Miscommunication with sponsor

High (Now is Low)

High Business Requirement Document to make sure that everything that is agreed upon is stated clearly
Unfamiliar with new technologies

High (Now is Low)

High Peer learning, increased time allocation for learning
Unfamiliar with new technologies

High (Now is Moderate)

High (Now is Moderate) Buffer in schedule, constant revision to schedule


Technical Complexity:

Technology Technical Complexity Description
Elastic Search

Minimal Java Documentation

  • Focused on REST API
  • Based on low-level Java API
  • Little to no documentation on index mapping
Search Terminology
  • Lucene query langua
  • Query Wrapping
  • Analyzer specifications for search requirements
Ranking Algorithm
  • Ranked Result
  • Direct and indirect Ranking
  • Variety of ranking factors
  • Algorithm
    • Exact Name
    • Category Tag
    • Fuzzy Name
    • Exact Description
    • Fuzzy Description
    • Negative Review Words Demotion
Linkage with Web Application
  • Integration of multiple applications
    • ElasticSearch with MongoDB ad Tomcat
  • Exposed search and CRUD capabilities for data in web application
Extract-Transform-Load (ETL)

Raw Data File (Data Cleansing)

  • Different Tag Values
  • Invalid Values
  • Duplicate Values
Missing Information
  • Missing Coordinates
  • Invalid Image Links
Normalisation
  • Reduce Redundancy
  • Common Data Format

Quality of Product

Learning Point Description
Scalability

Our application is built on two servers, one for testing and development purposes and the other for live deployment.

Adaptability

iPad application is developed using Object Oriented application development principles, as such, addition of functionalities or new components can be easily added. In addition, key settings for both the iPad application and web server are stored in separate settings file rather than hardcoded, to ensure that changes can be made easily.

Maintainability

An alternative class is used to handle to business rules for our Extract-Transform-Load solution, thus, administrators can load new source files and define new business rules without any modifications to the source codes.


Intermediate Deliverables:

There should be some evidence of work in progress.

Stage Specification Modules
Project Management Minutes Team Minutes (1-17)
Sponsor Minutes (1-10)
Supervisor Minutes (1-9)
Metrics Schedule, Bug & Efficiency Metrics
Requirements Users Specifications & Research Requirement Specifications , Domain and Website (Initial Research) , Finalize Website for crawling
Analysis Use Case Overall
System Sequence Diagram Overall
Deployment Diagram Overall
Design Initial Storyboard Prototype Initial
Final Storyboard Final Prototype
Admin Web Console Admin Web Console
Testing UT 1 Execution Plan User test plan
UAT Execution Plan User test plan
UT 2 Execution Plan User test plan
Handover User Manual

Ipad User Manual

Web Admin User Manual

Code

Links for iPad code

Links for Web Application code


Deployment:


Environment URL Remarks
Development/Staging http://fyp-breadcrumbs.cloudapp.net This environment is use for testing the backend codes and the web application code
Production http://42.61.39.82:8080/breadcrumbs/ This environment is use the server located at ADSC.


Techbusterz DeploymentDiagram.png

Testing:


Testing with Tourist

Objective Features Tester's Profile Execution Plan / Feedbacks
1.Tourists find our app useful in their stay in Singapore


2.What else can be improved on?

1) Login with their Facebook account.
2) Search for a place to have dinner
3) Find out more about a particular restaurant
4) Check out their reviews
5) Find out how to get there
6) Share this restaurant with your friends
7) Add to favourites


2 Malaysians
4 Australians
2 Pilipino
2 Germans
1 Japanese
2 Ukrainians
2 Canadians

UT 2 Execution Plan


UT 2 Feedbacks & Results


Tourist Summary.png


Techbusterz Surveyresult1.png



Testing with Sponsor

Objective Features Tester's Profile Execution Plan / Feedbacks
1. To find out whether our iPad application – BreadCrumps and Web Admin Console is user friendly?


2. The usability of the both the application.

1) Login and logout with their Facebook account.
2) Select the category that they are interested in
3) Type a keyword that they want to search for to return a list of result
4) Click on the result to return details of the place of interest.
5) Sharing the place of interest with Google+ account.
6) Sharing the place of interest with Facebook account
7) See the reviews
8) Locate the place of interest on the map
9) Able to get direction to the place
10) Able to add and remove the place of interest onto the favorite tab.
11) Control the radius parameter for the nearby function.


ADSC

UAT Execution Plan


UAT Feedbacks & Results


Reflection

Name Reflection Points
Tan Wei Hao

What I learnt was that project management is critical in managing the end-stage of the project, as that is when exams and other projects start to take priority. We have to be careful not to be complacent and slack off when there are final refinements and improvements to be made.

Brian Li

While conducting the UAT, I realised the important of having valid and accurate data. Hence, I am always looking way on how to improve the accuracy of the data at the expense of the server resource. Hence, it was no easy feat to strike a balance. Moreover, we could use the backend code to support the front end User Interface.

Tan Jian Wei

As a project manager, I understand the common issues that arise in projects as well as to avoid these common problems in future. Upon completion of this project, I am more familiarize with the different approaches towards different situations.

Jessie Choo

In this mad rush to finish FYP, I have learnt that trust is needed for a team to function. Trust in your team members that they will deliver what they promised, maintaining the trust my team members have in me that I will contribute and pull my fair share of the weight for the best of this project.

Goh Kuang Quan

Throughout the whole of this FYP project and the UT and UAT conducted. I realize the important of analyzing and prioritizing the feedback and result. It is essential to find the right target user and derived a set of data collection method to collect the result and feedback from them.

Edward Tan

Focus for midterm and final is so much different. At the start of the midterm, the emphasis is on bringing up a working application as quickly as possible. It was tough considering the number of bugs we have to fix to get things working. But after midterm, we finally have the time to sit down and focus on usability, how to make the app more user-friendly and appealing to our targeted users. This in itself presents a different set of challenges. I learnt that very often what the users want and what the developers think user wants are two very different thing. It is very difficult to get users to clearly articulate to you what they really want but patience, clear user testing protocols and a positive mindset helps to bring that out and enables us to piece together a clearer picture. This also pushes me to explore other pieces of iOS development kit that can be implemented into our app that can give the users what they want.

Team Reflection

Learning Point Description
Project Management Skills

One of the main purposes of IS480 is to provide students the opportunity to manage and oversee the entire phase of an IT project, from conceptualization all the way to development and finally implementation. Through this journey, our team hope to further refine the project management concepts and skills we picked up in our Software Engineering module. We want to learn how to better manage the scope of a project, manage its timeline and milestones, how to set KPIs and metrics to monitor progress and success and last but not least, how to manage risks and changes.

Communication Skills

Good communication is key to ensuring a successful project. However, communication is always going to be difficult especially when working in a team setting. Our team hopes to use this opportunity to learn how to effectively communication amongst each other and with our sponsors. The latter is especially important since we will be required to constantly cooperate and work together with our sponsors.

Business and IT Integration

A successful product hinges not just on how well the product is made but rather how much value it can provide to the clients. It is therefore very important to identify and define the business values and propositions the product can bring about. This business and IT integration is not easy as it will require the client and the project team to come together to agree upon a set of values and requirements to meet. Through IS480, our team hope to apply what we learnt in our previous modules and learn how to integrate business and IT together to bring about a successful working product.


Techbusterz Tao.png

On the Team's Performance Tao's Comments
How did you find the performance of Techbusterz in general?

The team has successfully expanded our existing application from one that merely has restaurants to include more domains such as cultural places, adventure spots, and entertainment places. This indeed showcased our crawling technologies as it demonstrated that our focused crawler is able to crawl for different types of domains for various audiences.

The web console was a nice addition to the project which was not part of the initial scope. It was suggested and implemented by the team to help us load new data into the system and test the functionalities of the written APIs. We are very happy that the team takes an initiative in suggesting and implementing new ideas which are related to the project. Kudos for their efforts!

Did the team keep you updated, informed and aware of the project's progress?

The team has definitely tried very hard to keep us updated on their progress and the problems that they faced, through email, fornightly meetings and demos. We can tell that the project was well managed as they are able to update us on their progress, what they have implemented and what they have planned for the next phase. Hence, we had utmost confidence in their project management.