Choosing a Software Development Methodology


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

Attribute Value (between 1 and 10)
Culture Leading-edge      Tried and tested
Functionality Tactical      Strategic
Reliability Unessential      Critical
Complexity Low      High
Governance Minimal      Predictable
Documentation Unessential      Critical

Recomended Methodology


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.


  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.

Home | Blog | Photos | Contact | About and all content copyright 1995-2019 by Michael Wittenburg, unless otherwise stated.
All content on this site is licensed under the Creative Commons license, unless otherwise stated. uses a single session cookie because it's required by the tech underlying the site (Microsoft ASP.NET). The cookie stores no information and seves no functional purpose.