As the new project manager at a software company, your first assignment is a simple
software development project. The requirements are clearly laid out, the customer base is
small, and the customer is unlikely to change the initial requirements. Knowing several
different project management models will serve the purpose. How do you choose which one
to use?
- Definition:
One of the many project management models in use today, the waterfall model is one of the
most easily understandable and manageable models. The waterfall model is a project
management methodology based on a sequential design process, much like a waterfall filling
lower-level pools. Phases in the waterfall model flow from one to another, also like the pools
filling completely before water spills into the next pool. The waterfall model finishes one
phase before another phase can begin. Developed as a software development lifecycle model,
waterfall methodology lends itself to projects that are small in size and whose requirements
can be definitively determined upfront.
- Classify:
A simple waterfall model has six phases: requirements, design, implementation, verification,
deployment, and maintenance. Let's go through each, starting with requirements.
The waterfall model emphasizes the importance of well-documented requirements before
project work begins. The project manager spends more time in this phase, gathering
requirements from the customer's concept, discussing it with subject matter experts and
stakeholders. They determine specific business needs, problems, and functionalities for the
software. These requirements are captured in a requirements document, which is approved,
closing the requirements phase before the project team moves to the next phase.
The project team designs software to meet business needs and solve problems. The design
phase includes logical and physical design. The logical design represents data flow, inputs,
and outputs, often graphically. Physical design determines hardware, such as storage and
network hardware. Once complete, the project team reviews and approves the design.
Implementation cannot begin until the design phase is formally closed with the approval of
the design document.
The implementation phase in the waterfall model involves building the design into actual
software, rather than implementing it into the user environment. During this phase, software
programmers code according to the design document. The implementation phase must be
completed before the next phase, verification, can begin. Software is often built in units and
integrated later, allowing for ongoing implementation and verification. Once one unit
implementation is complete, it is sent to verification, and another begins.
Verification is testing the software against the requirements. During the verification phase,
the project team may select a pilot group of users to test the software's user-friendliness or to
provide user feedback. If the software does not meet the requirements in the requirements
document, it is sent back to the software engineers for further implementation.
The project moves to the next phase, the deployment phase, after completing all verification
actions. This phase involves the actual release of the new software into the IT environment. It
can be broken into units for ongoing deployment and maintenance, such as by location. Once
deployed, a location moves into the maintenance phase, while another location begins the
deployment phase.
The maintenance phase, also known as the stabilization period, is a crucial phase in a project
where initial issues are resolved, customer feedback is provided, and additional testing in the
live environment is conducted to ensure acceptable deployment.
One example of the waterfall methodology is the construction of a building. The project starts
with gathering requirements from the client, followed by the design phase, where blueprints
and plans are created. Then, the construction phase begins, where the building is constructed
according to the design. After completion, the building undergoes inspections and testing
before it is finally handed over to the client.
- Advantages and disadvantages
. The waterfall model, while easy to understand and manage, has fewer production issues and
better budget management. However, it's not flexible and doesn't handle unexpected risks
well. It's not suitable for complex or long-term projects, and it can be challenging to capture
all requirements upfront. Therefore, it's not suitable for all projects.
Conclusion
The waterfall model is a sequential project management methodology where one phase
completely finishes before the next phase begins. There are six phases in a simple waterfall
model: requirements, design, implementation, verification, deployment, and maintenance.
The waterfall method is easy to understand and manage, results in fewer production issues,
and is easier to keep on budget. The disadvantages, however, are that it is inflexible, not
suitable for complex or long-term projects, and it can be difficult to capture all requirements
upfront.