HeaderSIS.jpg

IS480 Team wiki: 2009T1 BOLT

From IS480
Jump to navigation Jump to search

Jatzen Services Small Business System

by Team Bolt

Members

  • Tan Kheng Yew
  • Foo Ce-Wei
  • Phua Ke Jin
  • Clamen Ong
  • Teo Joo Wee

Supervisor

  • Professor Benjamin GAN[1]

Client

  • Ong Chin Hing

Project Overview

Jatzen Services is a Small and Medium Enterprise (SME) that specializes in the installation and maintenance of air-conditional units. With a history of over 20 years, Jatzen Services has catered to a wide range of customers and undertaken projects of varying complexity (air-con units for entire buildings to HDB flats). Throughout the years, business records, quotations and invoices were stored in physical hardcopy and various manual processes have complicated the scheduling and record tracking process.

Plagued with the inefficiencies of the existing manual processes, Jatzen Services has requested for a solution to solve these problems. The client has also spoken of his desire to have a system that is easy to use considering the low IT literacy rate of many of his employees. As part of the project, the team will also look into existing business processes of Jatzen Services and propose ways to alleviate the current problems. A web-based application consisting of several modules (customer tracking, scheduling, revenue and expense tracking, etc) have also been proposed.

With this system, the team hopes to deliver a cutting edge web application to meet the client’s business requirements and thereby solving the problems at hand. Above all, the team will also ensure that the system is reliable and user-friendly. Technologies like SMS and various 3rd party APIs (eg: Google Maps) will also be explored to improve the overall quality and usability of the application.

Bolt JSBS overview.jpg

Objectives

Through this project, the team hopes to achieve the following objectives:

  • Better monitoring and organization of invoices and quotations
  • Allows better monitoring of contract, job and payment statuses
  • Generation of reports to aid business decision making process, such as inventory level
  • Increase efficiency in workers’ scheduling, resulting in more jobs completed per day and less time spent on traveling due to poor planning
  • Consolidated view of the company’s revenue and cost status at any point of time
  • Better tracking of customers’ profile and transaction history
  • Assist the company on its current and future expansion plans

Features

The main features of the Business Management System consist of the following:

  • Generation and storage of electronic quotations and invoices
  • Scheduling capability between jobs and workers
  • Storing of customer profiles and transaction history
  • Report generation for monitoring and business decision
  • SMS notification to customers of upcoming jobs and expiring contracts
  • Tracking of payment status

Weekly Progress Summary

FYP Project Schedule (CAA 26 Aug 2009)[2]

Updated Project Management Documents (CAA 27 Sept 2009)

  • Project Schedule[3]
  • Project Overview Status[4]

Week 1 (17 August to 21 August)

The team has just submitted its FYP Proposal to Benjamin.

The team is currently preparing its first PHP self learning session. The entire session is expected to span across 3 days where members will learn on how to achieve CRUD through the PHP framework, CodeIgnitor. However, the team acknowledges that this self learning session will definitely cause the team to be behind schedule given that the team is actually supposed to complete certain modules in week 1 of the academic term. In order to prepare ourselves for the worst case scenario, where CodeIgnitor proves to be too difficult to learn/use, the team would have to reduce scope so as to finish the project on time.

Week 2 (24 August to 28 August)

Team is in the midst of CodeIgniter (PHP Framwork) learning hence, the deadline for the modules that were initially planned for this week will be postponed to the following week. Team will arrange for a UAT session with supervisor and client in week 3 or 4, depending on their respective schedules.

The team is facing some difficulties in coordinating member's timetables for meeting. This is due to the increase in difficulty to secure other course modules which has forced some of the members to take up other classes instead. In view of this, the team has no choice but to meet without everyone present on certain days.

Task(s) completed includes:

  • Creation of database
  • Confirmation of Web Hosting Provider

Task(s) in-progress includes:

  • Admin Controller
  • System Controller

Minutes of Meeting

  • Internal[5]
  • With Supervisor[6]

Screenshots

  • System Settings [7]

Week 3 (31 August to 4 September)

Team is currently trying to be on schedule due to the initial time taken for picking up of the PHP framework (CodeIgnitor). The team is attempting to research more about the available functions in CodeIgnitor as this would save the team from spending time and effort to code certain common functions from scratch. This is applicable especially for functions such as form validation, emailing and login sessions. In order to make the development process efficient for everyone, the team has decided to set up a small knowledge base where all new discoveries about the framework would be saved to a excel spreadsheet. Members are expected to update the spreadsheet whenever useful functions from the framework are found.

On a side note, the team is preparing itself for its first UAT, which is set tentatively on 12th Sept 2009 with the supervisor and client.

Task(s) in-progress for the week includes:

  • User Controller
  • Client Controller
  • Job Controller

Minutes of Meeting

  • With Supervisor[8]

System Screenshots

  • Manage Clients[9]
  • Manage Jobs [10]
  • Manage User Roles[11]

Week 4 (7th September to 11th September)

Client-supervisor meeting has been arranged on 12th September 2009. Team is on track, with the following modules completed. Team is currently experimenting on integrating the user interface with the back end codes. Given that our user interface involves a considerable amount of JavaScript and AJAX, the team has discussion to cater for more time for UI integration if necessary.

Completed:

  • Admin Controller
  • System Controller
  • Client Controller
  • Job Controller

Task(s) in-progress:

  • Task Module

Minutes of Meeting No meeting was arranged due to a projected client-supervisor meeting on 12th September.

System Screenshots

Week 5 (14th September to 18th September)

UAT hs been rescheduled to 16th September 2009, 7pm in SMU. Team is currently in the midst of integrating UI with the back end codes. The integration of UI with back end codes has caused the team to overrun in its planned schedule. The team has in turn decided to cater for more time for integration and lesser time for developing the back end codes. Reducing the time required for developing the back end codes is now possible as the team is getting more proficient with PHP language and time taken for the team to complete functions like CRUD is now shorter than previous iterations.

Task(s) in-progress:

  • Schedule Controller

Minutes of Meeting

  • Internal [14]
  • Client Supervisor Meeting [15]

System Screenshots

Week 6 (20 September to 25 September)

Due to sports injuries, the lead developer of the team (Ce-wei) was hospitalized for 3 days. As stated in the project highlight, Kejin, the backup lead developer has to take over Ce-wei's tasks till he rejoins the team. This has also called for some reshuffling of tasks among the remaining 4 members to ensure that no one member will be overloaded.

The team also came together for an in-depth reflection session on what have we achieved over the past 7 weeks of development. It turned out that the team felt that the adoption of a knowledge base and an User Interface design had increased the group's overall efficiency. The team also saw the importance of the MVC framework which separates the logic for View, business rules and data handling. This had helped the team in achieving time-savings for debugging and locating errors. More importantly, it allows ease of extending and updating of the various system functions in the future.

Lastly, the team has decided to incorporate the following new features as part of the deliverable functions.

  • CSV Uploader
  • Active Sync via Windows Mobile Outlook

These functions would be included in Iteration 6 of the Project Development Phase. Please refer to the Project Schedule for details.

Updated Project Management Documents

  • Project Schedule[18]
  • Project Overview Status[19]

Week 7 (27 September to 2 October)

After preparing and submitting the midterm review, the team now has a better sense of the direction of the project and what is expected from each member for the next upcoming weeks. With the team slightly behind time, the team is reexamining the importance of each task so as to better prioritize the outstanding tasks and reshuffle resources accordingly. For example, given that Quotation Generation requires a massive amount of Javascript, the team anticipates this task to be a challenging one and hence decided to factor in more development time and dedicated resources. The team is also looking into a new tool which would help everyone manage and be aware of the list of outstanding and important tasks for each week and iteration. The team will also be using the term break period to catch up on the project milestones which have not been completed previously.
Task(s) in progress:

  • Quotation
  • Expenses

System Screenshots

  • Add Expense [20]
  • Add Quotation Template [21]
  • Manage Expense [22]
  • Manage Expense Category [23]

Week 8 (4 October to 9 October )

As the development moves into iteration 5 of the project, the team is utilizing the midterm break to complete all other uncompleted milestones from previous iterations. Given the increase in number of concurrent tasks, the team has signed up for an account at www.todoist.com to better manage and prioritize the milestones of the project. Through this platform, it allows the project manager to better assign resources to each task and also allows each member to be more aware of their duties.
The team has linked up with the UAT team and has scheduled the testing session to be on Friday (8th October 2009, 2pm). In order to facilitate the testing session, the team has done up a bug reporting system (http://tinyurl.com/jatzenbugreporting) to allow users to report any bugs found within the system. The team had initially wanted to use a open source bug tracking software such as Bugzilla but later dropped the idea given the amount of time required to understand the system. Lastly, the team has plans to gather public users to test the system so as to gather a broader range of feedback.
Task(s) in progress:

  • Quotation
  • Invoice
  • Payment

Minutes of Meeting

System Screenshots

  • Add Invoice[25]
  • Add Invoice Line Item [26]
  • Add Quotation [27]
  • Add Quotation Line Item [28]
  • Edit Quotation Terms & Conditions [29]

Week 9 (12 October to 16 October)

The team has just completed its first UAT with the aid from the other team. A total of 12 bugs were identified from the session and there were a few recommendations given to further improve the overall usability of the system. As there were negative comments on the cumbersome process of bug reporting, the team will be looking for an alternative bug reporting platform. With respect to the progress of system development, the team is currently in iteration 6 where the focus will be on reporting and new features. The team has worked out the logic for creation of quotation, invoice and receipt template. The general logic for this complex feature is as such - based on a list of reserved words, the system will do a search and replace these keywords with data retrieved from the database. Due to the complexity of this task, the lead developer has been relieved of other duties so that he can give full attention in ensuring that this critical milestone is completed.

On a side note, the team will be preparing for its deployment on the deployment site soon. This is in line with the planned schedule where a deployment on the live server should be executed in Week 10.

Task(s) in progress

  • Payment
  • Reporting
  • New Features (Sync client contacts with Outlook)

Minutes of Meeting

System Screenshots

Week 10 (19 October - 23 October)

The team has carried out an internal reflection based on the mid-term review feedback from Prof. Ben and Prof. Tock Soon. While most of the recommendations are based on project management and reporting, the team will take these feedback into consideration for its final report and presentation. The team is currently preparing for its deployment on live server. In addition, the team has included a Access Control List into the system to allow administrators to create/update/delete roles based on the business needs. This new inclusion will be particularly important in improving the overall flexibility of the system.
Lastly, the team has switched from Google Docs to Uservoice (www.uservoice.com) as an avenue for bug reporting. The team has chosen Uservoice for its easy to use interface and because it is also adopted by many popular online sites and organizations such as Sun and Nokia.

Task(s) in-progress

  • Reporting
  • New Features

Minutes of Meeting

Project Status [33]

Week 11 (26 October - 30 October)

The team has successfully deployed a full version of the system on the live server. While there are still much loose ends to tie up, such as inconsistency in User Interface, most of the bugs in the system have been resolved. The reports module has also been completed. The team is currently in the midst of preparing the FYP poster which is due for submission on 9th November. Other ongoing tasks including a final UAT with the client and more beta testing with public users to identify any possible bugs in the system. Lastly, the team has transferred its knowledge base to the one in IS480 Wiki in hope that the experience and learning outcomes gained from our project and research will benefit future IS480 students.
Tasks in progress:

  • Final UAT
  • Project Documentation
  • FYP Poster

Project Schedule (CAA 27th Oct 2009) [34]

Week 12 (2 November - 6 November)

The team is currently in the phase of refining the User Acceptance Test process, which is scheduled at the end of this week. With respect to the application, the team is making further checks and tests to ensure that all business rules are satisfied. The team has also taken precautions to prevent any malicious attacks on the web application. Logic to prevent attacks just as SQL injection are inserted to the system. The team is currently in the midst of preparing the user guide documentation.

  • Project Schedule (CAA 6th Nov 2009) [35]

Week 13 (9 November - 13 November)

The team has conducted the UAT last week and is currently working based on the feedback to make the system more intuitive and user friendly. This applies particularly to the layout of the reports. In addition, the team has liaised with another sponsor who wishes to use the system in a separate business context. The team has sat down with this new sponsor to further understand his business needs. Following that, the team has also met up with the supervisor to seek his advice if we should accommodate the new sponsor's request. After an intense discussion, the team will not be including this sponsor as part of the IS480 project, in the interest of project scope and time.

Week 14

With the end of the system development, the team is currently preparing for its final presentation, scheduled on 26th November. To ensure that all business logic are adhered to and all user interface is consistent, the team is done a final run through on the system.

Week 15