Delivery in day(s): 4
Information Systems Analysis and Design Proof Reading Services
We are given the case study for Natural Health Food store, which is a chain of health food stores. At present the food chain has a traditional way of serving their customers from NSW, Queensland and Victoria. David Brown, its owner had at first started this chain in the year 1965 and currently has 15 stores. Mr. David has now wished to implement Automatic Delivery System (ADS) for his existing line of products and services. So far the customers are served manually and are facing various problems like lot of overheads in terms of cost in manual serving of the order, which at times taken an hour or so. To reduce these overheads and be more prompt in delivering the orders, Mr David wants that the system should be able to process customer’s subscription automatically without the interference of the staff. Once the subscription is in place, then the customer is a member in the system. Then the system should allow the customer to place orders.
2. Approach to Systems Development
Natural Health Food store chain operates from 15 locations from various states. Mr. David, the owner, now wishes to implement the Automatic Delivery System (ADS) for its existing line of products and services. The system therefore should be able to operate from a website which enables its customer to order its products and services online. So in this context we can propose the following 3 design approaches:
- Agile/Scrum Development
- Extreme Programming Methodology
- Traditional Waterfall method
Either of the methods can be used for the system development. However, each method has its own advantages and disadvantages. For instance, first 2 methods which are modern methods are increasingly being used by the developers as they are flexible and enable the users to quickly see the development progress. We discuss each method in detail below:
- Agile Development: As the name suggests, this method is a flexible way of developing the system. This method involves scrum development, where a couple of developers quickly develop a model which is tested and deployable at all times. The owner or the user like Mr David in our case, has to see and verify the model and suggest the changes. With this the scrum developer quickly makes another model with the help of the team. The model is re-presented to the owner for further verification and feedback process. These steps continues iteratively till the model is accepted. There are more chances that the project will succeed as the users or owners have more confidence in the system. However, this is very resource intensive and even the owner has to devote lot of time, which may not be possible every time as Mr David or his team may be busy handling existing business.
- Other way is called extreme programming which is also a faster way to develop the system. This takes into account the customers changing requirements and is a very flexible method of development. The method stresses on quality and strictly adheres to the customer specification and quality standards. Hence the name extreme programming as it takes into account even the smallest details to maintain the quality.
- Waterfall Method: it is a conventional method of system design where the system has is designed beforehand. We have all the system diagrams, analysis designs and planning complete before we start the development work. However, this method is not flexible as once the system design is complete then we cannot accept more changes.
3. Systems Requirements
For each of above approaches, most important stage is to understand the system or user requirements. A software development project constitutes two tyes of system requirements:
- User requirements or the functional requirements
- System Requirements or the non- functional requirements.
The Functional requirements are basically the user requirements specified the users or the owner of the system. They provide the details as to how the system will work. For instance, the system operates manually and what all processes are being followed like customer details acquisition and maintenance, order taking, delivery and so on. These requirements have to be coded into the system and these are called functional requirements.
In this context, we can enlist the functional requirements as given below:
- There has to be an automated system or order taking and delivery.
- The system will take the customers orders and before that it will record the customers details
- The system will allow the first time customers to register into the system so it is easy for them to just order without worrying about the details like phone numbers, addresses and the timings or delivery frequency.
- The system will allow the customers to become members and the system can acquire their details and shall be able to retrieve these details next time when the member orders.
- The system will be able to maintain a high performing database to store and retrieve the information and to process their orders with the help of the stored information in quick turnaround time.
- The system shall be able to generate the reports based on the customers, members, frequency of the products or services ordered and other management information reports.
Apart from the above non-exhaustive functional requirements, there are a set of Non functional requirements which define the quality standards. Extreme programming methodology as we discussed above is concerned more on non-functional requirements as its main focus is on quality. Other 2 methods or software development approaches also focus on quality. So we can enlist the following non-functional requirements:
- The system should be responsive and is able to reduce the turnaround time of processing the orders
- The system should have fast response time and should be able to process the orders in the matter of minutes.
- The system should not be breakable and work efficiently in storing and retrieving the information
4. Project Cost Benefit Analysis
The idea behind the project is to reduce the costs and overheads involved in the manual operations. Currently it takes much time in processing the orders and there is lot of costs involved in maintaining extra staff to handle all the processes manually. The automated system is to take care of many processes online and do the work automatically without the intervention of the staff. However, the automated system takes its own time and cost of development. Initially the costs are high in the first couple of years, and finally the system provides the benefits and reduces the overall cost of operations with the span of a few years. So these are the benefits of the system.
Here, we try to evaluate the cost and benefits to be provided by the system over a period of first few years. This is also taken as a part of the financial feasibility analysis of the projects. At times the projects tend to be costly and are the project sponsor or the owner has to see whether there is an overall benefit of the project.
5. Project Schedule
Having seen that there will be economic benefits in taking up this project, now we develop a project plan, schedule and draw a Gantt chart for this schedule:
The below diagram shows the project schedule and Gantt Chart:
6. System Information Requirement Investigation Techniques
Mr David is the project sponsor as the project is initiated and funded by hm
Stakeholders: There are various stakeholders for the system and they are the people who are impacted by the outcome of the project
Techniques: We discussed some techniques while detailing about the project methodologies. For instance if we select the agile development then there will be certain techniques which will be applicable. For scrum or waterfall development there are other techniques. For agile methods we need to have the project sponsor or important stakeholders associated with us continuously till the project is finally completed and deployed. A set of meetings are required and the communication is sent to the stakeholders giving the details of the meetings. This is an important way to investigate and ascertain on the actual requirements.
Reflections and Conclusions
This project gives an important opportunity to learn the development skills. The project provides the chance to develop an automated system using modern methodology like scrum or agile development. The most important skills of interacting with the clients and understanding the requirements as well as developing the prototype and versions of the project can be developed while implementing this project. Overall it was a great learning experience.
- Burke, R. (2003), Project Management, Planning and Control Techniques, John Wiley and Sons
- Field, M., Keller, L. (1998) Project Management. Open University
- Yardley, D. (2003) Success IT Project Delivery: Learning the Lessons of Project Failure.
- PRINCE2® (2005). Retrieved from http://www.PRINCE2®.com/p2download20102005.asp
- The Executive Guide to Directing Projects: within a PRINCE2 and MSP Environment (TSO, 2009)