Software development life cycle

The development cycle divides software creation into several distinct phases, all focused on improving the design, product management, and project management processes of software engineering. Often, each phase culminates in a milestone, a designated deliverable, or some other marker of phase transition.

The software life cycle is a subset of systems development that was developed in the 1960s to create a formal framework for building information systems. As such, there have been numerous processes and methodologies created over the years to incorporate new technology, to address shortcomings in previous methods, because management demanded it, or other reasons.

Some of the different practices include the following:

As software development frameworks have evolved and changed in the last 50 years, there is no right method to use. Sometimes a hybrid construct will work best, though most software engineering nowadays uses some form of agile development.