Taking Farmers to Markets Service Delivery Handbook

Feedback loops

The feedback loop is everything you do, between:

  • identifying a problem or hypothesis to test
  • designing and delivering a solution
  • measuring how well the change you made met the user need.

To work well in an agile team, you need to understand your product's feedback loop, the factors that impact its length, and the actions you can take to reduce the size of the loop.

# Feedback loops help you plan for change

When you take a waterfall approach to delivering a project, you set out all your requirements at the start, at the point when you often know the least about the problem.

Taking an agile approach means you lock in as little as possible upfront and use what you learn along the way to shape your path.

Even designing and testing the smallest of ideas with users will offer valuable insights that will help you refine and recalibrate.

Doing this over multiple years results in a product that has been thoroughly tested with real users.

This requires a different approach to delivery: in mindset, planning and technology. It's all about planning for your plans to change.

Agile feedback loops are driven through the 'Deming cycle':

  • Plan - identify the problem and opportunities
  • Do - test your hypothesis
  • Check - understand what happened in the test and adjust your hypothesis
  • Act - deliver something that adds value to the user, or stop and try something different.

# Shorter feedback loops help manage risk more responsibly

A long feedback loop means it takes longer to deliver a given change to the product and increases the risk of having to do rework of the service.

Over time, this means you're more likely to bundle up more changes to release at once. This increases the risk that a product release will have an unintended consequence.

It becomes a vicious cycle. As releases become bigger and riskier and we respond with increasing change controls and process.

Agile flips this.

By shortening our feedback loops, changes become smaller, regular, more predictable and well-rehearsed.

Change becomes our 'business as usual', and when something goes wrong, we're able to quickly detect it and fix it.

# Technology helps shorten feedback loops

Technology is one of the first limiting factors in the feedback loop. You cannot run faster than the speed that you can release new versions of your product.

Good starting points for faster software:

  • choosing technology that allows for zero-downtime deployments
  • using pipelines to make your release process repeatable
  • writing automated tests to check for unexpected regressions
  • setting up monitoring to be alerted when something breaks.