Incremental Incremental development is a development approach that slices the product into fully working slices that are called increments.
Iterative development is when teams gradually build up the features and functions but don’t wait until each of these is complete before releasing.
Incremental development is a development approach that slices the product into fully working slices that are called increments. Each new increment builds on top of the existing released functionality.
Example: Ecommerce website
Consider a team building an ecommerce website using incremental development. The final target product has search, product information, a shopping basket, checkout, favourites, and customer reviews.
For the first released increment, the team builds the basic functionality to buy a product. It includes search, product information, adding products to a shopping basket and checkout. This first slice would only be released once it’s complete.
The second released increment builds on that basic functionality, and would add another capability such as favourites. The would be released when the favourites functionality is complete.
The third released increment adds customer reviews once that is complete, and so on.
Iterative development is when teams gradually build up the features and functions but don’t wait until each of these is complete before releasing. They release a basic version of each feature and the add to that feature in subsequent iterative releases, usually based on feedback from the basic version released.
Example: Ecommerce website
Assume a team building the same ecommerce website using an iterative process.
The first release has a really stripped back version of all the required functionality; namely search, product information, a shopping basket, checkout, favourites, and customer reviews.
For the second iterative release, the team would improve some of the existing basic functionality, taking into account feedback from stakeholders or customer, or other inputs such as analytics.
On every subsequent iterative release, new ideas and requirements are added or low value/usage areas may be removed.
How can you benefit from an incremental – iterative approach
The complementary characteristics of the above approaches can make the development and release process more effective.
Limited ‘Beta’ iterative releases are a way to get early feedback from the users before a full increment is released to all users. It’s a good way of de-risking a release and getting early and frequent feedback from the users.
The right approach for your organisation does depend on the market, the culture of the organisation, the phase of growth of the organisation is in i.e. is the company profitable? what is the size of organisation? the number of users? the impact on reputation in case of a feature poor or basic release?
Recommended Training Courses
- Learn more about our certified SAFe training courses we offer