Agile software development differs from conventional programming models by abandoning the 'waterfall' approach. This traditional method carves up the software development process into discrete stages ...