Once the application is in production, new requirements may arise, or problems occur. These can result in a re-iteration of any of the preceding steps. Requirements for important new function will cause you to go back to the requirements phase. Major usability issues may return you to the requirements or the design phase. Performance problems may return you to design or implementation, as will failure to handle every situation that arises or provide correct output.