Está en la página 1de 2

A comparison of Software

Development Methodologies
Apr 5, 2013
Anirudh Oswal
Software development methodologies
Code and Fix Waterfall RUP Agile Spiral

Least formal model Follows a strict structure of Rational Unified Model or An expert development team Iterative and focused on risk
The coder uses whatever phases RUP is structured but produced a minimal mitigation
informal design, code and Requirements Gathering iterative application with limited Each iterative step involves
test tools he/she chooses Design Each iterative step involves feature sets are developed four phases
The requirements may or Development four phases delivered in sprints, short Planning
may not be formally written Coding Inception working spans of 2-4 weeks Evaluation
Testing Elaboration Releases are iterative and Risk analysis
Implementation Construction necessarily incremental Engineering
Each phase requires the Transition
Description previous phase to be Iterations overlap
complete Each iteration outputs a
working solution that is
incremental to the previous

Unstructured Structured Structured Iterative Iterative


Key Informal Linear and simple Evolutionary Incremental Low risk
Characteristics Lean

There is no process Easy to manage large and As changes can be pushed Open to change in Risk mitigation leads to
overhead complex projects when the into future releases there is requirement and scope increased success rate
There is no training or requirements and scope can less time pressure on Flexible Strong approval
expertise necessary be clearly defined and dont development Works when requirements documentation and control
Advantages keep changing Risk is managed and exposed are unclear at the beginning Great for mission critical
Can be outsourced early of the project projects
Produces robust Software evolves and is not
documentation produced in one huge effort

There is no planning and Requirements and design The approach is complex and Outsourcing is hard due to Requires highly skilled
control over the changes cause complexity can easily get disorganized high level of client interaction people to execute on all four
development process lead to a lot of rework Highly customizable and thus Managing many stakeholders phases
Leads to spaghetti code Success of the project causes confusion in larger is hard Multiple iterations add
Disadvantages depends on the correctness teams Difficult to apply in large overhead
and completeness of each Requires experts projects with several
phase stakeholders and team
members

También podría gustarte