Since the Agile Manifesto, many organizations have explored agile development methods to replace traditional waterfall development. Interestingly, waterfall remains the most widely used practice, suggesting that there is something missing from the many “flavors” of agile methodologies. We explore seven of the most common practices to explore this, and evaluate each against a series of criteria centered around product quality and adherence to agile practices. We find that no methodology entirely replaces waterfall and summarize the strengths and weaknesses of each. From this, we conclude that agile methods are, as a whole, unable to cope with the realities of technical debt and large scale systems. Ultimately, no one methodology fits all projects.
During the graduate course on software development methods, Ruslan Shaydulin and I put together a paper analyzing different software methodologies. We find, through our literature review, that the landscape of methodologies has changed rapidly within the last decade. Additionally, we find a large number of pros and cons for all methodologies.
These strengths and weaknesses are detailed in the associated work. Note, this work is unpublished.