The Waterfall model of system development is one of the most common methods of SDLC. It is a phased progression of activities that leads to the release of a new software system. There is a number opportunities to provide feedback to discover new information and improve on old technology. The progression through the steps of the waterfall model also allow a regression through the steps so you can go back and improve steps prviously completed. Despite being one of the most poular forms of software development it has come in for criticism. Most customers dont know what they want up front making it very difficult for software designers to create the correct system. This makes estimating time and cost very difficult due to the customers indefinate requirements.