- These notes are part of a broader set of principles.
Fast reliable feedback allows teams to move quickly with safety.
- Improved overall quality. When rapid feedback is readily available, it is quicker and easier to address.
- Improved lead time for individual tickets and reduced overall delivery times. Reliable feedback helps teams build confidence in making changes, allowing them to move faster and be bolder.
As well as being fast, feedback should be reliable and readily accessible and understandable. Investing time in building feedback mechanisms early in a delivery is often an effective way of reducing overall delivery time, since teams are able to deliver faster and are more able to focus on what really matters.
- Understanding requirements. We seek to continuously validate and refine our understanding of users needs, both through explicit user research and by observing real world behaviour, e.g. via A/B testing and analytics.
- Quality. Automated feedback plays an important role in ensuring quality, since it is highly reliable and repeatable, e.g. code quality, builds, unit and other tests. But peer code review is also important to ensure code is clear and well structured, as well as to catch quality issues missed through automated checks. And of course tightly integrated exploratory testing helps to uncover issues such as unclear or inconsistent user journeys which are hard to automate.
- Delivery. A benefit of breaking work down into small, independently deliverable stories is that it gives continuous reliable feedback on how delivery is progressing, allowing work to be reprioritised and scope or team size to be flexed to keep delivery on track.
- Service reliability. Comprehensive logging and monitoring give essential feedback on how systems are performing in the real world and help teams respond rapidly to issues.