2 images. 1 of a car being built in 4 sequential stages, from just a wheel, to a whole car, with a big cross over it. 1 of a skateboard, then a bike, then a motorbike, then a car, with smiley faces above each one.

Why you should develop digital services incrementally and test often with users. Avoid big project plans, work in small cyclical stages. Part of agile working.

Got an idea for a new digital service or product? Want to develop or change something you are already doing? Designing and building a new website? Iterative working could help!

Iterative working is a design methodology that helps you learn and improve your product or service as you go. It’s a continuous cycle of learning, changing and adapting your service to become the best it can be. Digital is always changing, so the chances are your digital products and services will need to change too.

Iterative development is now the most common approach to digital development. Previously, traditional project management would involve making a big plan up front and sticking to it until the plan was delivered. But, the truth is digital things are rarely finished and projects rarely go to plan. So adding in the ability to iterate; to easily change as you go will create better digital products and services for your users.

The philosophy of iterative development

Iterative development is a continuous cycle, building one piece at a time, testing, learning, tweaking, then moving onto the next piece.

Unlike a traditional, linear waterfall project plan, you won’t know the exact order you will build. Instead you re-prioritise as you go, in real-time.

Working iteratively leaves space for failure. This may sound scary, but failure helps us learn and improve. Rather than waiting until you have finished a product, you can pilot an idea or share small parts with users as you go. This means you get regular feedback and ensures you are creating something that is fit for purpose.

If you are creating something for your beneficiaries, customers or clients, you want to ensure they like it and find it easy and useful to use. You might think you know what’s best for them, but you won’t unless you ask them. So don’t wait until it’s finished to get feedback. Test with them regularly and change things accordingly.

You don’t need to be a professional service designer to work iteratively. You just need to be interested in learning from your audience and willing to test your assumptions at every stage of the development cycle. 

Example: designing and building a new website

Don’t wait until the website is live before putting it in front of your users. Follow the iterative design process, getting feedback from users at every stage. 

1. Research and requirements 

Test key issues and the success of your current website. Do user research. Run a session to understand the key requirements for the website. Prioritise these requirements and plan accordingly.

2. Analysis and design 

Analyse the key requirements and start designing what the website could look like. Share different designs with users for feedback. You could even run a co-design session.

3. Prototyping and testing 

Build a prototype of the website or key user journeys and wireframes to test with your users. Test the structure, layout and content.

4. Build the website 

As you build the website, test different pages and functionality with users as you go. Use the feedback to inform the next stage of development.

5. More usability testing 

Once the core of your website is live, continue testing as you finalise its design and functionality. For example, live user testing, feedback via the site and looking at analytics to see how people are using it. You will find out whether they are doing the things you want them to do.

Continued evaluation and testing

A website is never finished. You should regularly add new content, test user journeys and change things depending on the needs of your target audiences.

Agile development vs Iterative development

Iterative working is an aspect of Agile working. If you want to be more Agile, then developing your products and services iteratively is a good place to start.

There are a lot of similarities between 'Agile' and 'iterative' ways of working. However, you will often find that when people say they are using Agile, they are actually only working iteratively.

This is because there is a lot more to Agile working than only working iteratively. This includes how teams work together and how they collaborate with stakeholders.

Benefits of iterative development

When you work iteratively it forces you to listen to your users and adapt your plans, designs and services. There are many more benefits too.

1. Improved usability

Regular user feedback and user testing will ensure you are building something usable. And usable products and services meet the needs of your users.

It can help you understand which parts of your website or product are working well and which areas need improvement.

The more you test and refine, the more usable it will be. The more usable it is the more beneficiaries you can help, donations you can receive or people will visit your website.

2. Cost effective

It may seem that iterative development isn’t cost effective. And it does mean being more experimental and testing more often. But in the long run it will save you money and de-risk the likelihood of spending money on building the wrong thing.

If you don't work iteratively then you can end up spending a lot of money building a new digital product that your users don't want, can't use or don't find useful.

3. Staying current

It can help you stay on top of changes as you go. For example, if you have a new website, you should regularly test new pages, functionality or accessibility with your users. If you upgrade the site and plugins you should test to ensure everything is still working. This will help you keep it up to date. If you ignore it for a few years, your entire site could need a full redesign and rebuild.

4. Visibility to stakeholders

If you've received funding or persuaded your board to use some reserves on a new digital design, you'll want to show it's working. 

Iterative development enables you to continually show key stakeholders how the project is going. Testing provides regular evidence that you are moving in the right direction and creating value for your users. When stakeholders see this they become more confident in what you are doing.

Where to start with iterative development 

If we’ve persuaded you that iterative working is a good thing to do, then here's how to get started.

An iterative approach involves planning and design. Followed by implementation, testing and evaluation. This process works in a cycle, so think about what you’re developing and start with a plan. 

The plan should be small, unlike a normal big project plan like you might be used to. It should include a clear goal alongside some rough ideas of different project stages. You will also want to prioritise the best place to start.

For example, if you are building a new website, you should start with a full analysis of the current website and review some competitor sites. 

Find out:

  • the ultimate goal you are trying to achieve
  • the key actions you want users to do
  • which areas users enjoy using
  • which areas users struggle to use
  • what needs to change

Next start the process of designing and developing a website. Test it with key users at each stage and ensure the feedback influences what happens next.

You can use a project management tool, such as Asana or Trello, to help manage the different requirements and stages of the project. This can help the whole team see what is happening next.

More useful resources

If you’re ready to get started with iterative development, these resources will help:

Our Catalyst network - what we do

Support & services

Our free services help you make the right decisions and find the right support to make digital happen.

Learn what other non-profits are doing

39+ organisations share 50+ Guides to how they use digital tools to run their services. Visit Shared Digital Guides.