|
The waterfall model was first defined by
Winston W. Royce in 1970 and has been widely
used for software projects ever since.
Royce's original model is shown on the
right. It differs from the
agile
development model by seeking to fully
describe the application in written
documents before any code is written (the
implementation phase).
Our own implementation of the
requirements/design phase is to produce a
Functional Specification
(detailing what the application will do) and
a User Interface Specification
(detailing how it will do it).
Only when these documents are signed off can
the actual process of building the
application commence (the implementation
phase).
When using this methodology it is vital
that all requirements are captured during
the Requirements/design phase as it can be
very expensive to re-visit requirements once
implementation (coding) has begun.
When done well the waterfall method is
excellent for large projects and there are
no surprises when the application is finally
delivered as all features and even the
appearance of the application has been fully
specified and understood by future users of
the system. We've had great success
with large projects using this method and
can show potential clients excellent
functional specifications produced for
previous successful projects.
If the requirements phase is done badly
(and this is often the case when the
business confuses shoddy requirements with
faster progress) the waterfall method
delivers failure as the end result will only
ever be as good as the specifications. |