Agile, Development Process – Difference Between Agile and Incremental Development Process Models

agiledevelopment-process

As the title implies , what is the difference between these both concepts? According to my understanding , Agile software process uses increments , where some requirements are first implemented and checked. The same for incremental development.

Best Answer

“Agile” is a set of values. One of these: “we have come to value: […] responding to change over following a plan”. This suggests that waterfall-style development models can be inappropriate. In practice, many agile workflows are incremental, for example Scrum.

While there is significant overlap between “agile” and “iterative” models, there can be also agile non-incremental models or incremental non-agile models.

In particular, agile values are not very prescriptive. An agile team may decide on an incremental or non-incremental workflow depending on what works for them. E.g. for a short project, it can be perfectly agile to not divide the work into increments. There are also many practices in the agile-ish space without clear time increments, for example Kanban (which is more about a flow of tasks than delivery in increments), or continuous delivery.

In contrast, a specific incremental workflow may be imposed on a team even outside an agile setting, e.g. because incremental development allows for better risk management or because the increments have to be integrated into a release train.