Odd Jobs Limited – Contactors, Vehicles And Hourly Rates | Mobile Application Development
Current System
Odd jobs limited is business company that is located in Sydney and it offers services to the customers where they provides them with contactor staffs who are experts and also vehicles of various types and the company charges the customers on hourly basis.
This company was established by Colin Grey and he had been planning and managing the business and currently they had employed a total of 100 employees, however this business had developed and grown to various centers and the major tasks is to manage the staffs, customers and invoicing systems.
The business had employed various employees who includes office staffs, contracting staffs and the drivers where the office staffs receives jobs from the customers and allocate them to the contracting staffs , the contracting staffs then offer the service to the customers and update the amount of job done, vehicle used and hours taken through the emails and phone calls to the office staffs although it is time consuming and the drivers are the one who are responsible of driving the allocated vehicles.
Tom Smith and the management team had found the current system to be very tedious and time consuming and had decided to introduce a mobile application for managing the staffs, customer’s jobs and updating the completed jobs details.
Through the proposed mobile application the contracting staffs will be able to update the completed jobs details, completing the customers invoices that states the hours taken and the vehicle’s number of vehicle used, however Tom Smith will be able to view the jobs done daily while Gary Tallent will be able to run reports every beginning of the month which indicates the jobs that are done and the amount of income obtained from every vehicle.
The proposed system will be implemented though the system development life cycle where the system will be developed implementing all necessary system requirements.
The proposed development methodology is the adaptive methodology where the system development team will develop and implement the mobile application.
Adaptive software development is a software development process that was developed from the rapid application development process and it is in a continuous form which has normal state of affairs.
In the adaptive development cycle there are three processes that are repeated and they includes speculation, collaboration and learning cycles which are elaborated here below:
- Speculations: This is the initial process which involves the initialization of the project and planning of the adaptive cycle.
- Collaborations: This is the second process that balances the effort that is part of the system environment that can be predicted to have possible changes in terms of technology, stakeholders and vendors of the application.
- Learn: This is the third process that gives challenges to the stakeholders of the system through the interaction processes while designing, building and testing the system where the development team is able to identify the bugs and mistakes and rectify them accordingly.
The reason why the adaptive software development is recommended is compared to the other development processes are:
- It focuses on the Mission.
- It is based on the system features.
- It is highly iterative by nature.
- It is Time boxed.
- It is driven by the risks involved.
- It is able to tolerate any change.
Proposed Mobile Application
Adaptive software development is mainly used in the following areas:
- While the application system requires fast development.
- While the application system requires to be iterative with stakeholders.
- Ability of producing applications systems of high quality.
This is through regular testing of the entire system during the development processes to ensure the entire system is functioning appropriately.
- It gives high customer satisfaction.
The system development process involves the entire stakeholders team who includes the system owners and they easily follow the entire process of development of the system.
- It has high project control.
In the development process there are various sprints stakeholders meetings, transparency and there is use of project’s development steps.
- The risk involved is reduced.
This feature is able to eliminate the system development failures of the entire system.
- It is able to offer fast ROI.
The system features are delivered in an incremental format since the system is developed in an iterative way.
- The system delivery is not predictable.
- It takes more development time and need much commitment from developers.
- It demands allot of input from client and the developers.
- No documentations are done for the developed system.
- There is risk of falling of the application being developed in the tracks of development.
This is one of the adaptive software development methodology and it is done using three to nine members of the development team and they breaks the development work into simple tasks to be done within time boxed iterations called sprints and they keep of tracking the development progress in the re-plan meeting which are referred to as scrum.
The scrum methodology is used in these areas:
- While system to be developed has no clear business requirements.
- If the system to be developed is small in size.
- If the development team is small.
- If system need to be delivered in a short period.
- Best is developing system that is hard to state its business requirements.
- It is controllable and the progress gets updated frequently.
- The method is highly interactive.
- It is able to cope with any change due to constant short sprints and feedbacks.
- The individual’s effort and productivity is measurable due to daily meetings.
- The system issues are identified and resolved with ease as a result of daily meetings.
- The method delivers quality systems in a short set time-frame.
- It is the best for system required to move fast which can be mobile, web or multimedia applications.
- The methodology incurs minimal overhead cost and thus the system development done quickly and at a cheap cost.(Wixom, 2016).
- This methodology can lead to creeping of the development scope due to lack of delivery fixed dates as the clients introduces new requirements in the development process.
- There is poor tasks definition that leads to inaccurate project’s costs and time.
- The system may fail due to uncommitted development team members.
- It only fits small and fast moving application due to small development team members.
- Methodology needs experienced team members.
- The development of system gets big inverse effects in case the development team members leave at the mid of development process.
Extreme programming is another type of adaptive development method that is used to develop systems that has high quality and long life span.
Below is the figure showing the processes involved in the extreme programming methodology.
Extreme programming methodology can be used in the below areas:
- For the system whose requirements change in a dynamic manner.
- While the development team is small in size.
- While there is an automated technology to test system units and functions.
- There is saving in both time and cost by the developing team.
- There is reduced risk in relation to projects failures.
- There is simplicity in this methodology.
- Whole development process has accountability and visibility.
- The development feedback is always constant.
- The bugs are detected efficiently in all development stages.
- The employees are fully satisfied and retained.
- The method facilitates teamwork in the entire system development processes.
- It’s a very difficult methodology that is not preferred by most developers and thus becomes hard to convince development team to use it.
- This methodology relies more on various factors.
- The methodology is more of code-centric than design-centric.
To develop the company mobile application I do recommend the extreme programming methodology because it will enable the development team to save on time and cost, it has lesser risk involvement, the development process is visible and the end product will have customers satisfaction due to their involvement in the development process and therefore the entire system implementation will boost the company’s services delivery and raise the level of income due to increase of number of customers.
System requirements gathering is a process that is used by the development team in generation of system’s requirements that entails functional, system, and technical requirement. All the system requirements are gotten from the stakeholders of the system who include the customers, users of systems, application vendor and these requirements are termed as formal requirements.
The system requirements are gathered using various methods from the system stakeholders and they give the specific features and behaviour they require to be added in the system, these requirements are therefore obtained through various tools, analysed and then get implemented in the system.
The following are the tools and techniques used to gather the system’s requirements.
- Conduction Interview.
Adaptive Methodology
This is a tool for gathering the system requirements where all the problems and thus the proposed system is clearly understood. The interview is conducted where the entire team of system stakeholders is involved and all functions of system are covered.
- Filling questionnaire.
The interview sometimes has some limitations since the respondents only give the limited information from their knowledge and therefore the questionnaire is used in order to ask the respondent the most critical questions and all areas that stakeholders don’t understand the importance is covered in the questionnaire.
There are two questionnaire formats that are either closed or open ended where the respondent’s marks from multiple choices or give own opinion.
- The observation.
This is another method of obtaining the requirements where the features of the proposed system are determined through the observation of daily routines in the organization or the features of the current system and determine the possible features that can be added to improve the current system.
- Use of workshop.
This is another method and tool that can be used where the stakeholders conduct a meeting and give their opinions which are then reconciled in order to ensure that the application proposed eventually meets all systems requirements, after this workshop all the requirements undergo validation, generation of additional details, having consensus and assumptions are constrained.
- Through brainstorming.
This is process where whiteboard software is used in the workshop where the analysis of various parts of the system is done to determine current and future system states.
- Roles playing.
This is method used to gather requirements and this is in regard to user types where the formalised roles playing are done in determining the functionality of the whole integrated system.
- Through the Use-cases and scenarios.
This is a method used in the definition of high-level functions are defined and then used to validate the functionality of the proposed system.
- The prototyping.
This is a method where the system prototype is presented to the stakeholders , then they are able to select the possible sections of the system that can be removed and also suggest any additional feature they would like to be added in the presented prototype and thus the system requirements are clearly identified.
The requirements gathering is a major process and requires better planning and this is used to ensure there is success in the gathering of the requirements without any omission. The table below shows a summary of system requirements gathering plans.
Tasks |
Descriptions |
Choosing respondent members. |
This involves identification of the people to fill in the questionnaires and they are part of system respondents. |
Choosing the tools to be used. |
This stage the tool to be used is identified which can be a questionnaire that will be subjected to the respondents. |
Preparation of questionnaires |
This is the stage where the questionnaire to be given to respondents is prepared and the types of questions to be used are used as well. |
Issuing the questionnaires to respondent. |
This involvers the interviewer where he gives the questionnaire to the respondents to fill in. |
Capturing the respondent data |
This involves recording the data in the analysis tool to be done more operation. |
Data cleaning. |
Here the captured data is cleaned by removing the any anomaly from the whole data. |
Data analysis |
Here the cleaned data get further analysed to obtain final system’s requirements. |
Identification of system requirements. |
After the data is analysed all requirements are identified and then wait to be implemented in the proposed system. |
Below are the system requirements gathered that need to be implemented in the in the company’s mobile application system.
- The system should allow the users to sign up in account creation.
- The system should enable the users to sign in to use it.
- The system should enable the filling of the customers job details.
- The system should enable the office staffs to allocate the contracting staffs some customer’s jobs.
- The system should enable the contracting staffs to update the jobs that they had completed including the amount and the vehicle used.
- The system should enable management to see the tasks completed and the respective profits made.
- The system should enable the management to run the report of the completed jobs each month per vehicle and the amount of profit.
- The system should enable the office staffs to add new vehicles in the database.
In the company there are various processes that are done and all of them are done manually and this tends to take more time and records are not well kept and thus inhibit good company decision making.
I recommend the implementation of the proposed mobile application system in order to improve on time management, services delivery, good records keeping and good income analysis for better decision making.
Events |
Event’s Type |
Triggers |
Sources |
Use Cases |
System Output |
Destinations |
Add customers |
Temp |
Wants to capture new customer’s records |
Customers |
Adding new staff |
customers added successfully |
System |
Add vehicles |
Temp |
Wants to capture new vehicle’s records |
Office staff |
Adding new vehicle |
Vehicle details added successfully |
System |
Add vehicle movements |
Temp |
Wants to capture new vehicle’s movements records |
Office staff |
Adding vehicle’s movement |
Vehicle’s movements details added successfully |
System |
Add job details |
Temp |
Wants to capture new job’s details |
Customers |
Adding new job |
New jobs details added successfully |
System |
Updating completed jobs details |
Temp |
Wants to update jobs completed. |
Contracting staffs |
Updating complete job |
Competed jobs updated successfully |
System |
Running job report |
Ext |
Wants to run the monthly jobs report. |
Tom Smith |
Running monthly job reports |
Jobs reports displayed successfully. |
Tom smith |
Use case Name: |
Create jobs |
Scenario: |
Creating a new customer job. |
Triggering Event: |
Customers have some work and need service. |
Brief Descriptions: |
The customer has some task then come to the office where he is attended by the office staff, the office staff fill in the customer details and then job details into the system. |
Actors: |
Customers, office staffs. |
Related use case: |
Updating completed job |
Stakeholders: |
Office-Staff: records the details of the customer and his job. Customer: provide his personal and job description details to office staff. |
Pre-conditions: |
Customer requires some job to be done. |
Post conditions: |
Office Staffs assign the contracting staffs the customer’s job, and then the contracting staffs do the job and update details to the system. |
Reference
Award,E.(2013) Systems Analysis and Design .3rd edn.Delhi:Galgotia Publications Pvt Ltd.
Gupta,B.(2015) Power System Analysis and Design.1st edn.New Delhi: S Chand & Company.
Goyal, A. (2011) systems Analysis and Design Paperback .2nd edn.INDIA:Prentice Hall India Learning Private Limited.
Karumanchi,N.(2012) Peeling Design Patterns: For Beginners and Interviews.5th edn.New York:CareerMonk Publications.
Laplante,P.(2013) Real-Time Systems Design and Analysis: Tools for the Practitioner.2nd edn.New Jersey:Wiley.
Singh,B.(2016) Systems Analysis and Design.4th edn.Delhi:New Age International Private Limited.
Wixom,D.(2016) Systems Analysis and Design.2nd edn. New Jersey: Wiley publishers.