Agile Software Development – Feedback loops are very critical to the effectiveness of Agile development processes. Feedback loops provide opportunities for product and process improvements. In other terms they act as catalyst for effective agile product development.
One of the key differences between conventional projects and agile projects is that agile projects have shorter and frequent feedback loops.
Idea here is to change something in the process, see how it went on, learn from it and then adapt the improvement. To do this on a continual basis to ensure the best and continuous improvement is achieved.
To do this XP uses techniques such as Pair Programming, Unit Tests, Continuous Integration whereas as Scrum advocates using Daily Scrums, Sprints etc.
One of the following generic feedback technique can be used by the agile team for building high quality Agile Product:
- Capture feedback received from Customer / User community in terms of inputs / review comments / business requirements
- Product Manager/ Owner grooms the feedback and prioritize the feedback as part of the re-prioritized backlog
- Development Team develops and deliver as per the prioritized feedback
- Product Manager/ Owner reviews the developed feature (relevant to the feedback)
- The developed feature is then validated by the customer / user community
- On satisfactory validation the product feature is finalized. If there are review comments / improvement feedback then steps 1-5 are repeated.
In Agile projects based on the project phase, following techniques / practices are used:
- Code Reviews to validate the code written
- Automated Integration tests – essential for continuous integration
- Automated Acceptance Tests – essential for continuous integration
- Involvement of customer representative, business experts, end user representative throughout the project development process
Increasing the number of releases
- These techniques helps in having shorter feedback loops through frequent verification and validation. This in turn help immensely in effective and rich product development.