There are many types of software development techniques. Agile techniques are best for some projects, while another technique may work better for others.
A common methodology used instead of Agile is Waterfall Development. With Waterfall, planning, design, development, and testing happen each just once, in sequential order, and with significant detail. This contrasts to Agile, where these processes occur many times and often overlap.
Here are some indicators to help you figure out if a project is best suited for Agile Development.
If the project requirements are very clear from the start, and not expected to change much, then a Waterfall approach is better than Agile. However, if you are working on a project in which the requirements are incomplete or unclear, Agile is a more effective approach. This is because the iterative nature of the Agile process allows the software to integrate new requirements at any time.
Agile works best on projects that are complex or for which the amount of work required to complete them is uncertain. A less complex project or one with a predictable amount of work is better suited to Waterfall. Agile allows complexity to grow over time, and if needed, it is easier to adjust the workload as the process is continuously evolving.
Uniqueness of Project
If your development team has never worked on a similar project, then it is hard to make good predictions on how stable the requirements are and how much work it involves. Agile is a better approach to a novel project, while Waterfall works better if your team has done similar work many times before.
This post is part of a series about Agile Development and how we use agile approaches at the IC. Get updates to this series and more new ideas by signing up to our newsletter.