Waterfall System Development Methodology

Scenario
Doctor-Computer is a computer repair company operating out of a small workshop. The owner, James is the only person working in the company, but he hopes to expand and employ more engineers in the near future. At present James holds much of the information about repair jobs in a filing cabinet but this is rather disorganized, and he realizes that a computer system would be a better method especially as any new members of staff would also need access to this information.
When a customer brings in a faulty computer James logs the fault and the customer’s details giving him/her an estimated date for the repair to be completed. Every day he checks the list of repairs and selects the jobs to be done that day. If he finds he doesn’t have the required parts in stock for a repair he places a purchase order with his supplier and reschedules the job to a later date. When a repair is complete and the customer comes to collect the computer, James gives him/her an invoice and the customer pays immediately. Once a week James checks his stock of parts, and orders any that are getting low from his supplier.


Task
Assuming that the above manual system is to be automated,
1. Choose an appropriate System Development Methodology for proposed system and justify the
reasons for choosing it.
2. Write the tasks you are going to do under each phrase of the chosen System Development
Methodology. If any assumptions are made, mention them at the work.

Analysis and selection of the appropriate system development methodology.

Upon analyzing the provided information in the case-study, It was identified that Mr. James has a small business and looking forward to expand further, which results in recruiting more employees. As of now since Mr James is the only employee in his business, he has his own mythology of handling the business-related files and documentation manually for his convenience. But now with the expected expansion of the company in the near future, this approach of document handling cannot be tolerated in an organized business environment with multiple employees. Mr. James has identified this concern and has taken the correct decision to get this manual process automated.

Based on the provided information in the case study, the requirements of the project is well explained and straight forward considering the simplicity of the required application/solution the best and the most suitable system development methodology would be the waterfall model.

The reason why waterfall system development methodology was considered in this project is because:
• The requirements are not likely to change frequently.
• The application is not complicated and big.
• By analysing the project requirements, the expectation and the business process workflow is very simple less complex and clear.
• The software living environment is stable and the technology or the tools used in this workflow is static.

The waterfall model is linear or has a sequential approach to develop systems/solutions and this drives based on an estimated time of arrival/submission ETA, which is discussed and brought into an agreement during its initial phase. Further, in this development model, there’s no requirement to have consistent communication with the client unless specific integrations are required can be self-contained. Also, the team members can work independently and focus more on the solution than often provide status reports when comparing to other system development methodologies.
Moreover, project management and progress monitoring are easier in this system development model as the development process is more visible and each stage has an output on its own.
As discussed above the Waterfall System Development Mythology is chronological and is made up of the following phases

:
1. Requirements Analysis & Definition
2. System & Software Design
3. Implementation & Unit testing
4. Integration & System Testing
5. Operations & Maintenance

Each of the above phases starts at the end of its previous phase and keeps flowing till the end of the lifecycle just as an actual waterfall.

Below is a description of tasks which will be performed under each phase of the waterfall
mythology.

Requirements Analysis & Definition
At this phase, I will be gathering and analyzing all possible project requirements, Thereafter I will evaluate the
feasibility of the project. Most importantly I will make sure that I understand Mr. James’s business model and analyse the potential risks involved with the project and all of the information created in the phase will be documented in a requirement specification document. Throughout the phases in this model, requirements will be maintained, and put into a single document and used for verification of each stage, are composed alongside constraints and functional and non-functional needs of the project. Key factors such as budgeting, assumptions, risks, dependencies, success metrics, timelines for completion, project scope, stakeholder expectations, research, assemble team and kick-off are areas which I will be further discussing during this phase.

System & Software Design
In this phase, the requirement specification will be further studied and evaluated by myself. As a result I will created a high-level design (HLD) to describe the purpose, the scope of the project, the general traffic flow of each component, and the integration points (the topology), followed by a detailed design, which allows subject matter experts (SMEs) to implement the HLD design to precise details. Further hardware and software requirements will also be identified, and overall system architecture is defined. The system specifications made in this phase are used in the coding phase. 

Implementation & Unit testing
In this phase I will be working to bring the design into the real-life by code implement and by testing the solution. It’s very much important that the written document in the initial stage be as clear as possible. As per the design specifications in this phase the actual development or the coding biggins, usually at this stage programmers, interface designers, and other specialists using tools such as compellers, debuggers, interpreters and media editors comes into action. The responsibilities of the tasks mentioned above are dedicated among the developers based on the size of the team and considering their expertise. In a comparatively smaller business, multiple tasks of the above list could be assigned to one developer. Most of the times I will be developing the system in small programmes or units and they Will be integrated into the next phase. Phase by phase the developed units will be tested for its functionality which is called as unit testing.

Integration & System Testing
At this phase I will be conducting the acceptance tests are being deployed and executed in the verification phase, with the built solution further tested against the requirements to confirm that the project meets the initial expectations. If it does not, then an examination is performed to identify the shortfalls and a review is completed to determine any rectification actions.

Operations & Maintenance

Finally, as defects are raised or new versions of products are needed (maybe because they are no longer supported), planned changes will be made. With the waterfall model, each stage can only continue when each of the previous stages are completed and signed off. Out of the above phases this is the longest phase in waterfall system development mythology, the solution / application is installed and put into practical use and involves activities such as staff training, file conversions, site preparation are few tasks that I will be completing at this phase . Further this stage is used to fix any issues which occur in the client environment; in order to fix these minor issues or rather further developments, miner versions of the software will be released moreover system enhancements are also released to the customer environment in this phase..

Leave a Comment

Your email address will not be published. Required fields are marked *