HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2010T1 Cowabunga Final Wiki"

From IS480
Jump to navigation Jump to search
Line 200: Line 200:
  
 
====Testing in a Glance====
 
====Testing in a Glance====
1. No of Internal Testing: 53 Internal Tests  
+
* No of Internal Testing: 53 Internal Tests  
2. No of UAT with Client : 4 + 1 Tests(Final)
+
* No of UAT with Client : 4 + 1 Tests(Final)
  
 
====Benefits====
 
====Benefits====

Revision as of 16:41, 21 November 2010

Project Progress Summary

The project WORMS is successfully completed and deployed on a server. All the modules that our group planned to include for WORMS are all fully functioning. Once the client is satisfied with the system, the necessary hardware and software would be purchased and our group will deploy this system officially on the client's server.

Project Highlights:

What unexpected events occurred and how were they handled?

  • Warehouse Grid Layout from Client Delayed
    • Problem: Client confused what we needed and gave us the architectural floor plan of the cold storage warehouse.
    • Solution: One of our member, Jackson, specially went down to collect the correct grid layout information with the client.
  • Exception Cases for Location Assignment for Incoming Goods
    • Problem: There were many new possible case scenarios that we identified when we were programming the warehouse optimization module.
    • Solution: Arrange an urgent meeting with the client to clarify the actions to be taken on such scenarios so that WORMS is able to cater to their needs and requirements
  • Technical Difficulties faced with using Actionscript to create our Warehouse Gridding
    • Problem: We faced issue with trying to create an instance and thus despite getting the actionscript to work, we were unable to create it to be like how we want and need it to work.
    • Solution: We always had a contingency plan to use buttons instead if actionscript fails. As such, buttons were used and we still maintain the UI that we aimed to achieve previously.
  • Database Design kept changing in order to handle the exception cases
    • Problem: Our first database design was tightly coupled. However, due to the new exception cases that we identified in the midst of our project, there was a need to constantly change the database fields to better manage the exceptions. This was a tedious process as it affects another module's codes.
    • Solution: We came together as a team to design the database such that there are tables specially created for the optimization modules (e.g. ProductAnalyOtpim Table, Daily Log) which can be changed easily without affecting the basic inventory tables.


Project Challenges:

Describe areas of the project that were particularly difficult and how they were dealt with, whether successfully or not. Again, a few sentences are enough. If there are no challenges, remove this section.

  • Business Decisions Automation
    • In order for our system to be able to work like a human brain, we had to be able to handle the every single possible scenario. This made the coding very tedious, but is still successfully implemented nonetheless as we worked with the client closely to analyse all the possible scenarios.
  • Information Collection
    • This was difficult because most of the product details are in the cold storage and it was difficult to stay in the wareouse for long periods due to the extremely low temperature (-17 degress celsius).
    • In addition, to map the warehouse gridding out, we also had to move in and out of the cold storage due to the unbearable temperature. This factor reduced our data collection efficiency but there was no workaround way. The only thing we did to be able to stay in the warehouse longer was to enter with winter clothing.
  • Language Barrier with Warehouse Personnel
    • Warehouse Personnel is not proficient in English and thus, sometimes we had problems understanding the warehouse operations from him.
    • This problem was solved as we usually meet the Warehouse Personnel when the Proprietor is around. Therefore he sometimes explain to us more clearly.
  • Oracle Database
    • The Oracle database was unable to handle the large transaction of data and thus kept giving us exception issues. As such we switched over to using SQL Database and the problem was solved.


Project Achievements:

  • Everyone played a part in the coding process even though some of us were technically weaker.
  • One of the biggest achievement, which is also the biggest challenge, was that we manage to handle all possible case scenarios (exceptions) identified by the client. We also took a step further to analyse other possible cases even though the chances of happening are low. This makes our system highly competent for any possible scenarios.
  • Previously, our project was commented to be a very basic inventory system. However, through the team's hard work and ideas contribution, we manage to come up with a technically innovative system that manages not only the inventory but also the warehouse operations.
  • As our clients were less technically inclined, we felt that we have managed to achieve a UI that is claimed to be very user friendly by our clients. Our clients love the big fonts and the easy navigation. They also love the system as it was highly similar to how they work, except that previously it was paper-formed but now it is in the electronic form.
  • The clients are receptive towards the system and thus, affirm that we manage to buy our clients with our system. They are also very satisfied with what we delivered as the end product as their expectations were much lower. Our team is glad to have exceeded the expectations and bring satisfaction to the client.


Project Management

Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.

Project overview.png


Project Schedule (Plan Vs Actual):

During the midterm, we encountered 2 delays due to the warehouse grid layout collection and the sudden surge of exceptions cases to handle. Nonetheless, after our midterm, all progress went smoothly as planned and the remaining 2 iterations, iteration 5 and iteration 6, were both completed on time.

We have specially created a page to keep track of our project's schedule updates from the start of the project till the end. This page highlights the changes made after acceptance, and also after midterm. A consolidated table updates the planned and actual date of completion. This table helps us to clearly keep track if an iteration has been fully complete or partially completed.

Go to: Project Schedule Page

Project Metrics:

Summary of analysis for the metrics collected. You may refer to another page for the details about the metrics and how it is collected.

Technical Complexity:

Describe and list the technical complexity of your project in order of highest complexity first. For example, deploying on iPhone using Objective-C, customizing Drupal with own database, quick search for shortest flight path, database structure, etc.


Video On Algorithmn

'vimeo' => array( 'url'=>'http://www.vimeo.com/moogaloop.swf?clip_id=$1&http://server=www.vimeo.com&fullscreen=1&show_title=1&show_byline=1&show_portrait=0&color="' )

Quality of product

Provide more details about the quality of your work. For example, you designed a flexible configurable system using XML.config files, uses Strategy Design Pattern to allow plugging in different strategy, implement a regular expression parser to map a flexible formula editor, etc.


Project Deliverables:

The following table are the artifacts that our group has produced throughout the coursework.

Stage Specification Modules
Project Management Minutes Cowabunga Group Meeting Minutes
Metrics Schedule Metrics (Wiki Page Link), UAT Metrics (Wiki Page Link)
Requirements Story cards Chee Song Business Process Storyboard
Surveys Understanding Chee Song Questionaire
Project Overview Cowabunga Project Idea Overview
Analysis Use case Use Case Diagram (To upload new one)
System Sequence Diagram System Sequence Diagram
To Be Workflow Inflow, Outflow
Warehouse Decisions Algorithm for Inventory Placement in Warehouse
Conception Shots of WORMS Conception Shots
Design Class Diagram WORMS Class Diagram (To be upload after JJ done)
Logical Diagram WORMS Logical Diagram, WORMS 3NF
Database Design Database Design (To upload version 10), Data Dictionary
Warehouse Layout Warehouse Grid Layout
Testing Test plan UAT Documents (To be uploaded after Bevan consolidate)
Handover Manuals WORMS User Manual (To be uploaded)
Code ??? Upload codes somewhere, ask Saiful
Deployment Diagram Deployment Diagram (To ask from Saiful)

Quality:

Explain the quality attributes (non functional) of your project deliverables. Have you designed the architecture, use a design pattern, etc? Does your architecture address scalability, performance, reliability, availability, fault tolerance, usability, etc. Does your design address maintainability, flexibility, configurability, etc. Be brief here but you can link to diagrams or code detail pages. Do not repeat the technical complexity part, link to it if necessary.

Deployment:

In an iterative approach, ready to use system should be available (deployed) for client and instructions to access the system described here (user name). If necessary, provide a deployment diagram link.

Testing:

Describe the testing done on your system. For example, the number of UAT, tester profile, test cases, survey results, issue tracker, bug reports, etc.

Types

Testing within WORMs is done at two levels, mainly

  • Internal Testing
  • Client UAT (with Client Satisfaction)

Goal

For our team, the metric aims to chart the team’s progress in two manner, which are: 1.We fulfill at least 95% of the business requirements set out by our client . 2. Team will fulfil 80% of testing done internally.

Workflow for Testing

Screen shot 2010-11-21 at PM 02.08.55.png

After every UAT done with Client, the team will do a client satisfaction survey with the client.

Testing in a Glance

  • No of Internal Testing: 53 Internal Tests
  • No of UAT with Client : 4 + 1 Tests(Final)

Benefits

1. Ensure all business requirements, practice are fulfilled by our system

2. Seek for greater client satisfaction of our collaboration

3. Visual guide that flags out easy breakable cases.

4. Gauge our client’s satisfaction with our service.

Go to: [Project Testing Page]

Reflection

Team's Overall Reflection:

Key lessons learned – indicating where the team improved, or would do things differently next time. You may refer to the learning outcome summary in your proposal. A very short checklist style will suffice. It would be very convincing if the knowledge is share at the wiki knowledge base and linked here.

Learning Outcomes

Hard Skills

  • Adobe Flex Skills
  • Database designing to cater to our project requirements
  • Different methods available to do gridding for warehouse layout.
  • Refreshing Dashboards within intervals

Soft Skills

  • Always prepare alternatives to fall back on so that difficulties faced when handling technically challenging modules will not impede the schedule.
  • Facilitate discussion with clients by providing agenda beforehand so that clients could prepare for the discussion.
  • Using change management request forms to handle changes in an orderly manner to reduce the impact on every team member’s development.
  • Better understanding of Proper Warehousing Techniques
  • Critical Thinking and Analysis Skills to Propose Appropraite Solutions for our Clients
  • Automate Business Decision Making using Mathematical Algorithms
  • Minimize Possible Impacts Caused by Changes
  • Designing Simple and Easy-to-Use Interface
  • Increased Competency in Handling User;s Resistance to Changes


Possible Improvements

  • There should be a tracking list of what each individual have done each day. This will help everyone get a clearer view of the project status and reduce unnecessary need to meet up to check the status. For example, integration can be done immediately once a module have been completed.
  • Constantly check on one another progress and immediately step in to help any members who are stuck so as to prevent possible delays.
  • Always send reminders to clients to ensure that deadlines are met.
  • Good communication are important with our clients so as to efficiently collect data that is required. Provide examples of what is need (e.g. Grid Layout) so that Client knows what we want. Prevent wasted effort of client.


Team's Individual Reflection

Describe in a paragraph, the key areas of learning or improvement. These should be personal areas of growth or learning. Each individual should list his/her effort, responsibility, actual contributions and personal reflection. Do not repeat team project contributions or member roles. Link if necessary.

Jackson Loh's Reflection:

Cowabunga Jackson.jpg

During this journey of IS480, I learn that it is very important to manage the scope and planning the completion of the function or module. Understanding the team's strength and weakness and allocating the task to the best candidate. We have to define clearly which are critical tasks and which were not; this is because it would affect the schedule and the progress of the team.

At the beginning, it was not easy to understand the algorithm and the complex exceptions that we have to take into consideration. (to be continued)




Danny Seow's Reflection:

Cowabunga Danny.jpg

The key driver of our system is the facilitation of proper warehousing methods. Considering that our client is a frozen food storage company, there are various special consideration (also challenges) that we have to deal with such as, product's sensitivity rate to temperature change and grid's maximum carton capacity, much of these real life scenarios are not taught in class room setting, so there were many twitching of our knowledge to solve a very real problem.

Although we are taught many warehouse optimization methods, we have to drastically twitch them to fit our business client's current operation. One of our major limitation and also challenge is to IMPROVE their operation efficiency with minimal impact on their current operation methods! So many a times, we feel like we are being creativity and thinking outside of the box, while still being restricted by another bigger box (limitation).

The next difficult step is thinking in a holistic manner, because of how tightly knitted our algorithm is, we have to consider how each change (to deal with different exception) would drastically affect the overall warehouse planning. It feels like i am pulling a single string in a spider web, where every other parts are dependent on one particular part. Because of this, solving exception cases becomes more difficult and requires deep understanding of impact and causes.

Ng Kiang Pin's Reflection:

Cowabunga KiangPin.jpg

Being the Business Subject Matter Expert in this project, I went through alot of thought processes to decide the algorithms for the necessary warehouse operations. I've learnt alot about warehousing techniques and have become much more competent in converting business processes into IT methods.

One of the biggest difficulty i faced is the handling of various exception cases. A human brain is flexible to handle all kinds of scenarios when it happens, however, a system will be unable to handle extreme exception cases if we do not specify any algorithms to handle them. As such, to automate business decisions, we have to analyse every single possible exceptions so that our system has a way to handle it. This is one of the toughest and most tedious part of our project as we aim to make our system to be as good as, if not even better, than how a human brain can think. These thought processes has trained me to be better in both critical thinking and analysis skills.

Saiful's Reflection:

Cowabunga Saiful.jpg

Lex Seetoh's Reflection:

Cowabunga Lex.jpg

Bevan Tan's Reflection:

Cowabunga Bevan.jpg

Team's Sponsor Comment:

Sometimes, the client writes a report to feedback on the system; this sponsor report can be included or linked from here.