A software development methodology is sometimes referred to as system development methodology when it is in reference to software engineering. It is the foundation or framework of an informational system when developing a process that is made up of a structure with a plan and the controls to monitor the system.
The very first example of development methodology can be traced back to the first use of flow charts in the 1920s. In the 1960s, the life cycle of a system development was created. This helped to visualize how informational systems could be developed in a methodical and structured way, from its beginning to completion of the system.
Since the first introduction of software development methodology, there have been several different approaches that have been developed so the end process can be accomplished. The Waterfall approach is one that uses a linear framework. Then, there is prototyping that is iterative framework. The Incremental type combines both the Linear and Iterative frameworks to achieve its goal. Spiral uses both Linear and Iterative, but in a different way than Incremental. The Rapid Application Development approach is a modified iterative framework system. The latest is the Extreme Programming with has an all new approach.
The Waterfall method is best described as a continuous sequential developmental process where the different phases are continuously flowing towards completion in a downhill motion.
The prototyping is where an incomplete version of the framework is developed independently. When pieced all together, mock up versions can be modified into working systems.
Incremental development methodology uses many small Waterfall processes that resemble prototyping which can all be pieced together at the end to have a working model.
The spiral development methodology has a continuous flow from analysis to evaluation, then on to development and planning, then back to analysis where the process starts over until a final product is produced with satisfactory results.
The Rapid Application Development takes the iterative approach to developed prototypes that are refined into a final product.
With all of these different development methodology versions, the goal is to have an idea and develop it until it fulfills the needs for the purpose it is intended to do, in the most efficient manner that is both time and cost effective.