Waterfall model is the earliest Software Development life cycle approach that was used for software development. In "The Waterfall" approach, the whole process of software development is divided into separate phases. In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase sequentially. Waterfall development are that it allows for departmentalization and control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process model phases one by one. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order.
RAD should be used when there is a need to create a system that can be modularized in 2-3 months of time. It should be used if there’s high availability of designers for modeling and the budget is high enough to afford their cost along with the cost of automated code generating tools. RAD SDLC model should be chosen only if resources with high business knowledge are available and there is a need to produce the system in a short span of time (2-3 months).
The original goal of agile development was to “heal the rift between development and the business.” With this in mind, many agile “management” and “technical” practices have been developed. The goal is for both groups to participate in a series of activities that will foster shared understanding and provide an underpinning of effectiveness. The management practices in particular are designed to provide a smooth, prioritized path to completion of features for a given development effort.
DevOps is all the rage in modern software development and that should be no surprise to long term software development professionals. DevOps is a methodology of iterative software development that embraces close collaboration between contributing software developers, QA and IT operations staff. It’s both a software development process methodology, as well as a toolchain implementation recipe.It also is ideal for cloud services, where rapid iteration on functionality and close cooperation between development and operations is an absolute necessity.