Main Menu

Development Cycles

A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.image

Waterfall Model


The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is rigid and linear. Waterfall development has distinct goals for each phase of development where each phase is completed before the next one is started and there is no turning back.

The perceived advantages of the waterfall process are that it allows for departmentalization and managerial control. A schedule is typically set with deadlines for each stage of development and a product can proceed through the development process. In theory, this process leads to the project being delivered on time because each phase has been planned in detail.

Agile Methodology


Scrum Methodology


Scrum is an Agile development methodology focused on design, building, testing and delivering software. Basically, Scrum can also be applied to other goals and results than working software. In practice, it is mostly about software. There are of course more Agile methods such as Lean, XP (Extreme Programming) and older versions such as DSDM (Dynamic Systems Development Method) and RAD (Rapid Application Development, but Scrum has become the most popular Agile methodology. That's probably because of its simplicity and the successful results achieved with Scrum.

Scrum provides a small set of rules that create just enough structure for teams to be able to focus their innovation on solving what might otherwise be an insurmountable challenge.


JAD Methodology


JAD is a requirements-definition and user-interface design methodology in which end-users, executives, and developers attend intense off-site meetings to work out a system's details. The Joint Application Development (JAD) methodology aims to involve the client in the design and development of an application. This is accomplished through a series of collaborative workshops called JAD sessions. Two employees of IBM, Chuck Morris and Tony Crawford, developed the JAD methodology.

Other Methodologies

Agile Software Development
Crystal Methods
Dynamic Systems Development Model (DSDM)
Extreme Programming (XP)
Feature Driven Development (FDD)
Joint Application Development (JAD)
Lean Development (LD)
Rapid Application Development (RAD)
Rational Unified Process (RUP)
Systems Development Life Cycle (SDLC)
Waterfall (a.k.a. Traditional)