The secret of incremental and iterative software development

Incremental and iterative software development is part of the agile DNA but it’s also a perfect way for small and medium-sized software companies to develop user-focused and at the same time resource-efficient. The development teams will ship valuable increments of a feature to the user as soon as possible. Based on feedback, further functionalities will be added to these increments. This leads to a growing product with features that are used and demanded by users and a constant circle of delivered increments and improvements. But how do you define the scope of a feature you would like to add? That’s one of the most important tasks of Product Management.

Define a minimum viable product (MVP)

In order to define an MVP, you first need to collect and sort requirements. Every company has different sources to gather feedback regarding requirements and features people would like to have included in the software. First of all – of course - there are the users because they are the ones that interact with your product on a daily basis. They know exactly what parts of the product they like but also which functionalities they are sorely missing. Besides the requirements of the users, there might be additional ones from other stakeholders like managers or external partners who would like to see some feature sets for business and strategic reasons.

The different requirements have to be collected, sorted, and prioritized – which is mostly a task Product Management is responsible for. Story mapping can be a good methodology to find out which parts of a feature are essential (core functionality) and which ones are needed to add additional value for stakeholders and users.

The MVP defined with that can be the first increment that is shipped. It’s the first iteration of the feature that gets into the product. The goal is to define a piece of software that is small enough to be shipped in a short timeframe but on the other hand still has enough functionality to give value to users and stakeholders. Here’s an example: adding a price to a product might be one of the most important functionalities when it comes to product setup in an ecommerce software, but it does not give the user a real value as long as they are not able to also update the price later on.

Ship it and listen to feedback

Once you’ve shipped your MVP, the iterative cycle of development continues. You (again) have to listen to your users and stakeholders, collect feedback, sort, and prioritize. Often it turns out that functionalities you, personally, would have seen in the next iteration of the feature are deprioritized because your users or stakeholders consider other functionalities more important. Additionally, outer circumstances may change priorities, like the lockdowns during the pandemic.

Extend the feature and grow the product

The incremental and iterative approach will not only help to continuously deliver valuable functionalities for your users and with that grow your product. It also gives you the chance in each iteration to improve and learn from former iterations. Increments don’t necessarily have to be an add-on in terms of functionality, but they can also be UX improvements or a restructuring of existing software parts. And this - as mentioned above – is a great way to go for small and medium-sized software companies. Instead of constantly delivering one feature after another for which they might not have enough manpower, these companies have the chance to deliver the functionalities their users and stakeholders really need. This will lead to a well-structured and good product instead of a feature bloat.

Skills needed to go down that road

Companies that would like to go down the road of incremental and iterative software development will need an agile mindset – of course. Also, it has to be ensured during the development process that the iterative approach does not mean that the increments do not need to have a good quality.

But first and foremost, it’s important to have a good understanding of the wishes and needs of your users and stakeholders. You have to agree that you truly want to listen carefully to the feedback you get – even if it contradicts with the things YOU would consider important for the product. This is not only true for Product Management but also for each department of your company, including the development teams, Marketing, or Sales. In the long run, a product that is successful within its target group will also be the one that best serves your business interests.

About the author

Kerstin Deharde is a Product Owner at ePages. She started her job career as an Editor where she learned to love user-centric values. Taking these values over to Product Management truly matters to her.