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
- 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.