Think of a development methodology as a recipe for success. Over the years these recipes (processes) have been
refined and provide the structure for improved results when working with cross-functional teams on large projects.
To learn more about different methodologies read on.
Return
Development Methodologies
Systems Development Life Cycle (SDLC) is a term that describes a group of process models.
Each methodology has specific steps to follow to deliver consistent results for different types of application development.
Some of the more popular
methodoloogies are highlighted below. Frequently, several different methods can be combined to form a hybrid for
specific projects and customer needs.
Waterfall
is by far the most popular metholodogy for software and web development. Like a waterfall
the process cascades where each section builds on the section before it. Because the waterfall
method is linear it is easier to plan and deligate tasks due its sequential nature.
A simple example is the 4 D process where the project is first Defined, then Designed, then Developed
and finally Deployed. Each phase of the project is completed before moving on to the next phase.
Phases can be broken down further into sub sections where for example QA and Lessons Learned can be added to the Deploy stage.
Rapid Application Development (RAD)
RAD seeks to speed development and increase quality by gathering requirements and using a
reiterative approach to prototyping to test out designs.
RAD seeks to re-use components and is suited for object-oriented programming.
Joint Application Development (JAD)
JAD, as the name implies, is a methodology that involves the client and the development
teams jointly in the desgn and development process. This process alows the client the most interaction
and control of final product because they are involved in several stages of the design and
development process.
Synchronize-and-stabilize
is a method for teams to work in parallel on individual modules and then synchronize stabilized parts
together. Testing and debugging is done throughout the development process to make sure the application
is stable before any new modules are added.
Spiral
model uses an initial prototype or preliminary design and then looks to improve that design
by taking the initial design to the next level. The process can continue until the final product is refined in
the on-going prototyping process.
Agile
method attempts to minimize risk by developing software in short fixed iterations
which can last from one to four weeks. Each iteration is designed to be a self contained
project of its own to be tested and deployed. Each smaller sub project follows the steps for
planning, requirements, design, programming, QA and documentation.
The agile method allows project teams to reevaluate and prioritize while still delivering a finished
product every few weeks. Agile teams tend to meet several times a day to reivew because of the compressed time frame for each cycle.