In software engineering, a software development methodology also known as software development 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.
Project Initiation - Document the user's expectations Define the resources of the problem domain Select the architectural approach for the solution Select and define the implementation for the software Construction: Build, buy, integrate code to satisfy the design. Put the application into production Enhance and revise the production application