In software engineering, a software development methodology (also known as a
- system development methodology,
- software development life cycle,
- software development process,
- software process
is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management. It is often considered a subset of the
systems development life cycle.
The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application
Common methodologies include
- waterfall,
- prototyping,
- iterative development,
- spiral development,
- rapid application development,
- extreme programming and
- continuous integration.
Some people consider a project life-cycle model a more general term for a category of methodologies and a software development "process" a more specific term to refer to a specific process chosen by a specific organization. For example, there are many specific software development processes that fit the spiral life-cycle model.