The system development life cycle (SDLC) is a framework for developing information systems. It consists of several sequential phases: initial investigation, feasibility study, system analysis, system design, system coding, testing, implementation, and maintenance. In the past, the waterfall approach was used, but now developers may iterate between phases as needed. The goal is to conceive, design, and implement an information system to solve business problems.