What is waterfall design?

Waterfall design is a sequential design process, regularly used as a software development methodology, that follows a very specific pattern that ensures organization and progress towards a fixed goal. Like its namesake, waterfall design is a procedure that is seen as flowing steadily in a downward trajectory through various phases until it splashes to the bottom, reaching its goal. In this article I will briefly overview the waterfall design process and discuss ways in which it can be successfully implemented in user interface design projects.

What is the waterfall design process?

Long used in user interface design, the waterfall design process was first conceptualized in a 1970 article published by Winston W. Royce, a computer scientist and director at Lockheed Software Technology Center. Though Royce did not explicitly call it the waterfall method (the name developed later) he did set create the model on which the phases in the waterfall design process are based.

The waterfall design process is comprised of the following phases:

Requirements specification: the creation of a set of use cases that explain all the interactions the users will have with the software.

Design: the creation of a supra-structure that will house and facilitate all use cases.

Construction: coding the User Interface.

Integration: facilitating the functionality of all parts of the user interface design as it comes together.

Testing/debugging: validation, conducting usability tests.

Installation: implementing the final version of the user interface design.

Maintenance: safeguarding the UI design and its users.

Each phase of the waterfall process is meant to contribute (compound upon) the later phases towards the achievement of a specific goal. Though its namesake seems to denote flexibility, that is not the case in waterfall design. Each phase must be thoroughly completed before moving on to the next one. The process is highly structured and thus requires a high level of organization on the part of its participants.

Benefits of waterfall design in user interface development

Waterfall design is a great method for those who are linear thinkers because it is a sequential method that does not deviate from the beaten path. Using the waterfall design method in UI design will ensure that each aspect of your user interface design is thoroughly conceptualized and investigated. It also makes it easy to identify errors in the process later, because the steps and their results are so clearly delineated.

Problems with waterfall design in UI development

Waterfall design’s greatest strengths can also be its greatest weaknesses. The process does not leave room for flexibility or spontaneity. It is a forward thinking process only in the fact that you know the phases that will be reached next, meaning you must really be detail-oriented and thorough during each step of the process. This can cause user interface designers to lose sight of the big picture of the user interface design and thus cause them to spend a lot more time going back to rethink things or fix mistakes.

Waterfall design method lesson: know your team, know your method

Whether or not you choose to employ the waterfall design method ultimately comes down to the make-up of your design team. If your team is highly organized, efficient, and structured it is a method that can really maximize your user interface design team's potentialities. If you have a team that tends to think non-linearly and works better in conditions that are fluid and flexible, the waterfall design process may not be the methodology for you. When picking a user interface design methodology, knowing the make-up of your team members is just as critical as knowing the make-up of your user interface design.

Author's Bio: 

Pidoco.com – Interface Design, Wireframe, Wireframe Software, Interface Design Software, Online Wireframe Tool, Wireframe Tool, Interface Prototyping, Clickable Wireframes, Usability Testing and Digital Paper Prototyping. User centered design for improved user interface design.