A software development process is a structure imposed on the development of a software product. Synonyms include software life cycle and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.
Systems Development Life Cycle (SDLC) is any logical process used by a systems analyst to develop an information system, including requirements, validation, training and user ownership. A SDLC should result in a high quality system that meets or exceeds customer expectations, reaches completion within time and cost estimates, works effectively and efficiently.
Some well known SDLC models to manage the complexity in traditional systems are waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, synchronize and stabilize.
Methodologies in use over the recent years,