Software Project Management– 3: Waterfall Model in Software Project Management
What is the Waterfall Model in Software Project Management?
Software Project Management – 3: Waterfall Model in Software Project Management
Project management methodology is a set of principles, tools and techniques used to plan, execute and manage projects. Project management methodologies help project managers manage the flow of work while making it easier for team members to manage and team collaboration.
There are many different project management methodologies. Some work better in certain industries or projects, so all project management methodologies must be learned in order to decide which is best suited for the project. Now, in this article, how would you like to examine the waterfall model, which is the traditional methodology, within the limits of software project management?
The waterfall model is the oldest and basic model of software engineering, in which the activities implemented in software projects are carried out in successive phases. Today, it is accepted as the management standard of all kinds of projects by governments and large companies.
The first software development method applied in the 1950s, "code and fix", more commonly known as "ad hoc or cowboy programming", is the coding of requirements directly without any planning or design phase and the correction of errors encountered in the process or after product delivery. was based on the principle. As a result of the software crisis in the 1960s, the software engineering program in Germany was established in 1968 by the NATO Science Committee due to reasons such as software projects growing over time, requiring a project management methodology, failure to tolerate errors in critical systems, the rapid increase in computer capacities with the development of technology, and the inability to produce quality software. Conference was held. The main topics covered in this conference are defining the concept of software engineering and determining the standards that should be applied in software development processes. Soon after, in 1970, Dr. The Waterfall Model was described in a paper published by Winston Royce.
Principles and Features
The phases applied in the waterfall model are shown in Figure 1.
Figure 1.Waterfall Model
Considering the time and conditions when the waterfall model emerged, business processes were not as dependent on information systems as they are today, and projects did not need to be completed in a hurry. Also, due to technology and resource constraints, information systems were hardware-centered and the main purpose of the software was limited hardware resources such as storage capacity and processor power. to use it in the most optimal way. The issues that were deemed necessary to manage this risk and which later became the basis of the traditional project management world with the waterfall model were as follows:
- Early identification of all requirements so that planning and budgeting can be done correctly,
- Preventing overshoot by defining requirements early and fixing them unchanged,
- Documentation of all design and decision-making processes for future reference,
- Making all stakeholders aware of the process through intensive interphase investigations and early detection of potential problems,
- Documenting all requirements before starting design activities to ensure that the architecture is suitable,
- Completion of all coding processes before testing to ensure that the capabilities of the entire system have been evaluated,
- All requirements are met before the system is put into practice.
- Clear, understandable and complete definition of requirements at the beginning of the project provides more accurate time and cost estimation, reducing uncertainties in the project.
- It is generally well known in theory as it is a widely used method.
- It is ideal for project staff, project managers and project teams whose performance has fluctuated because it is strictly defined and followed by who should do what and when.
- Project progress is easy to follow as the previous phase is completed before a phase is started. In addition, the absence of a simultaneous progressive phase facilitates resource tracking.
- The fact that documentation is a continuous activity prevents the effort of returning to the past for documentation at the end of the project, as well as ensures that the documentation is complete at any time of the project according to the current situation and allows the current state of the project to be evaluated through this documentation.
- The waterfall model is a disciplined and stable model and gives the project staff the feeling that the project is well managed and that everything is under control.
- It is clear when and how much the client will contribute to the project and is not expected to spare time during the project.
- It prevents the overlapping of the works of the project staff working in more than one project in functional organizations.
- Prepared detailed and comprehensive documentation can be used as a communication tool. Thus, it reduces the need for face-to-face communication in large projects and projects where all the elements are not in the same environment.
- Reversing for change, improvement or correction is like swimming upstream in a waterfall, it is difficult and costly.
- An undetected negativity in any phase affects all subsequent phases.
- It has an inflexible, slow and cumbersome nature due to its structural feature and tight controls.
- It may be unrealistic to expect requirements to be fully and clearly defined at the beginning of the project.
- Failure of customers to fully and accurately express their needs may result in a missing or wrong product at the end of the project.
- The fact that the developers read the documents prepared during the analysis and design phases instead of meeting the requirements face to face with the customers or users makes it difficult to understand the requirements and does not allow the developers to make input.
- Requirements inconsistencies, missing system components, and unexpected development needs can only be identified during the design or coding phase.
- System performance cannot be measured until all coding is complete and errors cannot be detected until full system testing.
- Intensive and up-to-date documentation is an activity that takes time and effort and is generally seen as an unnecessary burden by developers.
- Written system descriptions are difficult to read and implement by users or customers.
- Due to the fact that the next phase does not start before the completion of a phase, even delays that do not concern all project elements can cause time wastage for all project elements.
- High administrative expenses are unnecessary costs for small projects and small teams.
- Software development activities are activities that require creativity and the highly disciplined approach of the waterfall model negatively affects creativity.
In summary,project management methodology is a set of principles, tools and techniques used to plan, execute and manage projects. Project management methodologies are used in projects realized in the field of software as well. In this article, we talked about the traditional waterfall model. The waterfall model, seen as the management standard of all kinds of projects, is a sequential development process in which each stage of a project is completed before starting the next. As with any methodology, it has its useful and limited points.
Comparison of Waterfall Model and Agile Methods
While there are many similarities between the traditional waterfall model and agile methods due to the nature of the work, there are differences in the approach style and applied techniques due to the difference of opinion in their philosophies.
Software Project Management -1 : Introduction
Project management is the discipline of planning, organizing, procuring and managing resources so that a particular project can achieve its goals and objectives and be completed.