Work

Home | Work | Play | Photos | Contact | About

Choosing a Software Development Methodology

Home > Work > 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 the equally obscure Adaptive Software Development framework. Each comes with merits and disadvantages.

Waterfall is pretty much the only way to build a system that has zero bug tolerance. Ask NASA how they get rockets and rovers to Mars. 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 desired project attributes.

Selection Criteria

Move the sliders to reflect your preferences, and see the recommended project management approach below.

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

Recomendation

1.     Spiral
2.     Prototyping
3.     Agile
4.     Waterfall

Notes

This tool is subjective. I put this page together in a couple of hours, so the selection criteria and weightings I chose (see below) are unlikely to suit your agenda and requirements. This page serves only 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

A slightly broader discussion of trade-offs and comrpomise is here.

< Back to Work | ^ Back to top


All content copyright © Michael Wittenburg 1995 to 2024. All rights reserved.
Merch (t-shirts designed by my twin)