The waterfall life cycle breaks development down into a set of discrete activities or disciplines. In order to continue on with the next activity, the previous activity has to be completed in its entirety. The waterfall method is not generally considered to be a good way to develop most business software because it takes a long time to get feedback between requirements specification and testing, and thus fails to to accomodate change: Fixing problems in analysis and design at the very end of development is highly onerous. The waterfall life cycle identifies the steps that form the core of any software development activity. In modern approaches, such as the RUP or XP however, these activities are broken down into shorter cycles in order to provide feedback as the development goes on and to make room for change.
