A traditional sequential software development methodology that divides the project lifecycle into distinct phases, such as requirements gathering, design, implementation, testing, and maintenance, with each phase dependent on the completion of the previous one, often criticized for its inflexibility and lack of adaptability to changing requirements.
"The team followed a waterfall approach to software development, which required completing each phase before moving on to the next."