The main drawback of the waterfall development model is that it leaves little room for iterative development and revision. Therefore, once an application reaches the testing phase, it can be very costly for the project team to return to the early stages of the development process. More importantly, errors are discovered during the concept or early design stages when using waterfall. This is because the process does not allow overlapping stages. Common alternatives to waterfall include Sashimi waterfall (overlapping waterfall model), rapid application development (RAD), build and fix, iterative development, and spiral model.