There are many software development methodologies and frameworks - from mainstream or old-school approaches like agile and waterfall, to the exotic, like the Hollywood model. There are others, like the V-Model, the Rational Unified Process, Feature-Driven Development, the Chaos Model, the Slow Model, and Adaptive Software Development. Each has not only its disadvantages, but also merits.
Waterfall is pretty much the only way to build a system that has a zero bug tolerance. Methodologies like Spiral and Prototyping form a middle ground. Like Rapid Development, they seek to address the shortcomings of Waterfall by introducing agile techniques. At the other end of the spectrum is agile, which typically eschews up-front-design and documentation alltogether. Agile methodologies include eXtreme Programming, Scrum and Kanban.
The tool below demonstrates that one methodology might be better than another in specific circumstances, by suggesting one of four main-stream approaches based on specified preferences.
Selection Criteria
Recomended Methodology
Notes
This tool is subjective. I put this page together in a couple of hours, so the selection criteria and weightings (see below) I chose are unlikely to suit your agenda and requirements. My point is to demonstrate that there is more than one way to manage a software development project.
Weightings
|
Waterfall |
Spiral |
Prototyping |
Agile |
Culture |
10 |
5 |
3 |
1 |
Functionality |
10 |
6 |
3 |
1 |
Reliability |
10 |
6 |
3 |
4 |
Complexity |
10 |
6 |
5 |
1 |
Governance |
10 |
7 |
2 |
1 |
Documentation |
10 |
7 |
3 |
1 |
The sliders used on this page are © 1996-2013 DHTMLX LTD.