IS480 Team wiki: 2010T1 uClaim
|Semester||AY 2010-2011 Semester 1|
|Duration||19 May 2010 - 10 Dec 2010|
|Team members||Hendry POH|
|THIA Kai Xin|
|Tommy TIEN Dehui|
|WONG De Ming|
|Supervisor||Professor Li Ying Jiu|
|Sponsors||SMU Students' Association|
|Clients||Sarah Swee, Finance Secretary, SMUSA|
|Daniel Lee, Deputy Finance Secretary, SMUSA|
- 1 Project Recap
- 2 Project Progress Summary
- 3 Project Management
- 4 Quality of product
- 5 Reflection
- 6 Previous Wiki Information
- 7 Contact Information
Our team’s project seeks to improve the current SMUSA (SMU Sports Association) claim system. This claim system is used by the various CCAs (co-curricular activity) of SMU to claim money that they have expended for various CCA purposes (e.g. purchasing jerseys, renting training space, hiring coaching staff).
By leveraging on Information Technology, our project seeks to achieve 3 aims:
(1) increase the overall speed of the claims process
(2) reduce the number of mistakes caused by manual work
(3) to be able to accurately track the status of a claim and what stage of the process it is at.
The project implements 4 modules: budgeting, claims, administrative, and reporting.
The website has two main functions:
1. Allow users to make online claims via the SMUSA website.
2. Provides an in depth analysis function to help SMSUA determine which club is over spending and under utilizing their resources. This will help in their budgeting and quickly sieve out the clubs which have been misusing their budget.
Project Progress Summary
|1||The SMUSA Server crashed. As a result, the server has been deemed unrepairable and a new server must now be purchased.||The SMUSA Server experienced a fatal hardware failure.||We have managed to loan an IS480 machine and have been granted UPL Lab access (facilitated by Chong Yik Sean and Fiona Lee).|
|2||For the design of the web page and user interface, we initially intended to use NetObjects Fusion and Microsoft Expression.||1.Incompatibility issues when trying to manually manipulate the code for the backend logic of NetObjects Fusion.
2.Microsoft Expression only addresses the user interface portion of our requirements
|Switched to Adobe Dreamweaver CS5 as it provides us a more holistic solution, allowing us to address both the web page and user interface requirements either by designing visually or via direct coding.|
|3||SMU’s Unix server (production environment) is rather complicated and taking longer than planned to master (2 weeks instead of 1 week).||Time was needed to resolve host and IP address.||Consulted Lee Yeow Leong (SIS Course Instructor) for guidance.|
|4||Change requirement by the client after our client update session: Audit Trail for claims made by CCA’s need to be recorded. Thus, the delete functionality for CCA’s, Events and Users should rightfully be implemented during the Reporting Module.||The audit trail has not been implemented yet and thus CCA’s, Events and Users should not be deleted from the database. Instead, the entries should be logged in a report.||Implement audit trail for deleted CCA’s, Events and Users by extracting the relevant data into a log file. This log file can then be generated into a report file for consolidation purposes.|
|5||Oracle Database 11G is not compatible with our school’s UNIX server (Note: This was noted with reference to the server that subsequently crashed. However, the new UPL server is compatible with the Oracle Database 11G Version).||Our school’s UNIX server doesn’t support this edition of the Oracle Database.||Downgrade to oracle database 10G express. However, this isn’t an issue as we don’t require the new advanced features that are exclusive to the Oracle Database 11G version.|
|6||Changed the user interface design (as compared to our initial wireframe design)||Upon gathering comments about the initial wireframe design, we decided that userability could be increased by changing from the design of having a horizontal taskbar (with the main page below).||Implemented the design of a left-sided taskbar (with the main page to the right).|
|#||Type of Challenge||Challenge||Resultant Action Plan||Outcome|
|1||Human-based||Collaboration and finding common meetings times was not an easy task when dealing with such a big group size (6 people), due to conflicting work commitments (e.g. classes, CCA training, other project meetings).||One of our main forms of collaboration was via the virtual world, relying on software such as Google Docs, Skype, Dropbox, and email. This was especially important when one of our team members was engaged in a 3 months overseas summer internship program.||This challenge was successfully overcame via our alternative means of communication.|
|2||Human-based||Tracking of bugs and monitoring metrics may become hard as the project is quite complex in nature and the timeline is considerably long.||To solve this, we introduced the use of the Unfuddle software, which helped us to track bugs and issue tickets to track of project schedule.||This challenge was successfully overcame via our effective implementation of the aspect of project management.|
|3||Human-based||Just like any other CCA, the entire SMUSA executive committee will be replaced every start of the year.||Get the current committee to fully understand our project so that they can effectively instruct the new batch.||This risk is still present as the current committee has not handed over to the next committee.|
- Attained new skill sets
1. Learnt how to use new programs (e.g. unfuddle, oracle database, wiki)
2. Developed a learning style (e.g. "test drive" using trial version, reading of online forums, analyzing FAQ section on company's website, group research and discussion) to learn the new systems/programs used during the course of the project)
- Enhanced our existing IT architecture, design, and development skill sets
1. Enhanced our expertise in the area of Java programming
2. Translated business needs to IT capabilities
- Improved on project management capabilities
1. Track bugs, implemented tickets, and tracked subversion updates via the use of Unfuddle
2. Effectively communicated and resolved conflicts while working in a self-chosen team of six who possess differing areas of specialization and working styles
- Improved our networking and teamwork skills
1. Worked with a real-life client, which exposed ourselves to negotiation and expectation management processes
2. Conceptualized and implemented the concept of an Online Claim System and identify business scenarios where implementation of the system adds business value to our client
Project System Considerations
|#||Item||Description||Why We Didn’t Use It|
|1||Sourceforge||There are a number of free-of-charge software available online that we could have implemented for our project.
For example, we could have used sourceforge (for svn hosting), and Google docs (for project management).
|We wanted an integrated solution for our project management needs. Hence, that is why we decided to purchase the Unfuddle software for use.
|2||Protovis||To build our charts in our reporting module, we could have used Protovis (html 5 graph library) to do so.
Instead, we used a combination of Flash and Google Visualization API as it is compatible with mobile devices and all internet browsers.
|Protovis is not supported by Internet Explorer 8.|
|3||Ruby on Rails (RoR) Framework||An open source web application framework that is intended to be used with an Agile development methodology.
||There is no project continuity as the main users change yearly and programmers with ROR background are rare.
|4||Crystal Reports (Business Intelligence Application)||Could have been utilized in our reporting module, via the use of its graphical designing of report layouts and data connections.
||We used Google Visualization API, which is free-of-charge and is an open-source software ("open-source" feature is aligned with our client's requirement). And even though the software is free-of-charge, it is still efficient and useful, and boasts fast design and implementation features.
|5||mySQL||Oracle Database 11g was chosen over mySQL||Oracle database will potentially be more suitable for integration with school’s finance SAP system in future.
Project Schedule (Plan Vs Actual):
By comparing the project plan at the midterm time period to our current time period (i.e. end of term), there has been no change in the project plan. All the previously intended task have been undertaken and completed, as per the Gantt chart illustration.
Although there were some minor delays, the overall project is still on track and the project scope has remained intact and the same as per the midterm time period.
The following section will outline the outcome of the post-midterm tasks and a brief timeline-based description for each of the tasks.
Overall Gantt Chart
Post Midterm Gantt Chart
Analysis of Post Midterm Events
|Task||Intended Start Date||Actual Start Date||Intended End Date||Actual End Date||Comments|
|Iteration.3||17 Sep||7 Sep||7 Oct||30 Sep||Work on Iteration 3 was started earlier than intended as we deemed that the Budgeting Module required a larger allocation of our time and effort resources. Hence, we were able to complete Iteration 3 earlier than intended.|
|Iteration.4||4 Oct||4 Oct||11 Oct||27 Oct||Work on Iteration 4 was extended (i.e. actual end date was later than intended end date) due to the high complexity of the approval work flow. For instance, whenever there is a claim made by a financial secretary, the claim must first be approved by various approving bodies (e.g. CCA president, CBD financial secretary, SMUSA financial secretary). Hence, the complexity arose when the approving bodies vary depending on if the financial secretary is from a CCA or a CBD (i.e. the users in the approving hierarchy structure would be different).|
|Iteration.5||27 Oct||27 Oct||10 Nov||17 Nov||Work on Iteration 5 was extended (i.e. actual end date was later than intended end date) as we required significant amount of time to modify client data for use with our system. This is as our client provided us with an excel spreadsheet with past data, and thus we had to modify the data into a proper standardized template that was suitable for the insertion of data into our database.|
|UAT||10 Nov||12 Nov||12 Nov||12 Nov||Due to the packed work schedules of our testers (who are SMU students and this was the last week of the school term), we had to reduce our UAT session to only 1 day (i.e. 12 Nov)|
|Final Review||12 Nov||25 Nov||17 Nov||25 Nov||With majority of the team being busy during the study week (week 14) with other project commitments and with the team's exams mostly occurring in the earlier part of the exam period, we have decided to hold the Final Review during the latter part of the exam week.|
Our metrics (e.g. bug tracker, ticket tracker, milestone tracker) are collected and analysed via the use of the Unfuddle software. Screenshots can be viewed here.
Generating the graphs for the reporting module. These graphs provide the user with visual representation of the budget usage (allotted versus expended) for each CCA / CBD for each semester.
These graphs provide the user a good visual gauge to see how high the utilization rate is for respective CCAs / CBDs. For instance, the user can see if allotted budgets and utilization rates have been increasing/decreasing year on year.
The graphs are based on Google API graphs. However, instead of passing the variables through URL (which is the way that it is normally done), our system calls the Google API library securely through their HTTPS channel, heightening the security of the system.
The full functions of the reporting module are as follow:
(i) Login Check (Only CBD and SMUSA financial secretary and president can view the graphs. Each CBD can see their own CBD's only while SMUSA can view all) -dynamic, interactive graph
(ii) 3 kinds of graph: Scatter Plot, Bar, and Line graph. These graphs are dynamic and interactive (e.g. animation over time for scatter plot and bar.
(iii) Mouse over an icon for more details
(iv) Click to highlight CCA of interest. If you click on the scatter plot, there will be bubble trails formed upon animation to show the movement of CCA budget/utilization over time
(v) Click and drag box to zoom in. Once zoomed in, click and drag box to zoom out. Hence, users can adjust axis, colour and size; Graph will then update according (i.e. fetch data from excel 'live')
(vi) Right click on the graph to print
SMUSA's Unix server (production environment) is rather complicated and experiences crashes / hardware failures.
As of Friday 29th October 2010, the SMUSA server has crashed and become unusable.
1. No previous experience working with such Unix server.
2. Limited help from online forums.
3. Hard to work the the user interface (command prompt view).
The complex structure of the Oracle database and the modifications required to connect to our web interface.
1. Hard to define data as "dynamic" or "non-dynamic".
2. Hard to define which data should be stored, as well as which table to store the data under.
3. Developing and maintaining the database was an ever-ongoing learning process as whenever you updated or added a functionality, further tweaking of the codes (e.g. SQL) and connection logic was required.
Quality of product
|Project Management||Internal Meeting Documentation||[Meeting Minutes]|
|Client Meeting Documentation||[Client Minutes]|
|Supervisor Meeting Documentation||[Supervisor Minutes]|
|Videos||[Midterm Video Part 1]|
|[Midterm Video Part 2]|
|[Midterm Video Part 3]|
|[Midterm Video Part 4]|
|Admin Business Process Diagram|
|Budgeting Business Process Diagram|
|Claims Business Process Diagram|
|Reporting Business Process Diagram|
|Screen Shots||[Website Screenshots]|
|CCA CBD Claim Process|
|School CBD Claim Process|
|Poster||Team uClaim Corporate Poster|
Aside from internal group testing, testing was also done using external users via UAT sessions.
Number of UATs: 2 (11/10/2010, 12/11/2010)
Testers: Various executive committee members from the student body (e.g. SMUSA financial secretary, SSU financial secretary, ACF financial secretary).
Issue tracker and bug reports: We have achieved this criteria via the use of the Unfuddle software, which is a project management solution that encompasses Subversion hosting and implements tickets to track our progress with program bugs and milestones to track what we achieved. Screenshots of our implementation of the Unfuddle software can be found here
|#||Learning Outcome||Actions Taken|
|1||The aspect of project management is a very important one. As such, proper documentation and issue tracking is critical as allows the group to accurately track if they are on schedule and what are the outstanding errors or uncompleted tasks.||To ensure that we manage our project to the best of our ability, we have employed the Unfuddle software to aid us in this area. More information can be found at the knowledge base.|
|2||The team chose to use the Oracle Database 11G as their database management system for their project. As none of the team has previously worked with any Oracle database software, the initial learning curve for mastering the Oracle database was rather steep and substantial time was required to read up on forums and to experiment with the database and connecting it to our web interface. Thus, developing and maintaining the database was an ever-ongoing learning process as whenever you updated or added a functionality, further tweaking of the codes (e.g. SQL) and connection logic was required.||To ensure that we have maximized our database management system use and improved our knowledge of Oracle Databases, we have documented our experiences with the Oracle Database and written an "installation bible". More information can be found at the knowledge base.|
|3||The team definitely improved in both the areas of technical and non-technical skills. And one key factor that helped us achieve this was that we determined the project’s learning outcomes at the start of the project to ensure a holistic project that maximizes our learning opportunities and project quality.||Refer to our learning points sectionfor the detailed learning outcome breakdown & analysis.|
To view the individual reflections, please click here.
1. Complex stakeholder business requirements
2. Software failures (e.g. failure of the school’s server)
3. Efficient scheduling and resource planning (e.g. conducting a UAT involves the juggling of the conflicting schedules of 15 people)
1. Imperative to have a strong and well thought-out mitigation plan with a few possible alternatives as it allows us to efficiently reorganize the project when hiccups occur
2. Important to decide upon learning outcomes at the start of the project and how we are going to achieve them. Strict adherence to the learning outcomes will maximize our learning opportunities.
"Even though there were various issues that cropped up during the process, Team uClaim has maintained professionalism throughout the process thus far and gave us the necessary assurance that the project can be completed in accordance to our requirement. They have been responsive to our feedback and have taken in our comments to further improve the overall usability and efficiency of the system. As the project enters the final stages, we are confident that the projects' deliverable will be produced in a manner that is timely and of high quality. We are, without a doubt, satisfied that the system will live up to its expectation and will help improve our finance claim system."
- Sarah Swee, Honorary Finance Secretary, SMUSA, 7th November 2010
Previous Wiki Information
As this is our final wiki report, this wiki page has undergone considerable change as compared to the pre-final wiki. To view the previous version of Team uClaim's wiki, please click here.
Should you need to contact Team uClaim (e.g. if you wish to open our presentation slides), please send an email to the team's project manager, Tommy Tien.