Using Feedback Loops to Boost Development Lifecycles

[article]
Summary:

Feedback loops serve as opportunities to increase productivity, either in an individual’s performance or in project teamwork or process. Identifying areas for improvement throughout each sprint and turning them into action items can help you track and address the key challenges related to technology or product improvement.

One of the reasons for introducing short and iterative development cycles is to meet customers’ expectations and priorities and dynamics in the market, as these are constantly changing. In agile, this involves incorporating feedback loops. Each individual’s performance, interactions, teamwork, process (including engineering practices), and progress need to be tailored or monitored in order to address the change in a better way.

This article details what productive loops are and how using feedback loops in development cycles can change an agile team’s experience.

What Are Productive Loops?

Feedback loops are the driving factors in agile methodology and are used in almost all agile frameworks, including Scrum and kanban. A sprint itself is a feedback loop, and these loops are injected into almost all stages of an iteration to make a team more agile.

First, let’s establish what postmortems, retrospectives, inspect and adapt cycles, and feedback loops are, then jump to productive loops.

Postmortem: A traditional project management terminology generally used in noniterative projects. In nonagile projects, teams often wait until the end of the project to learn how they can improve. Those teams don’t get the benefit of productive loops.

Inspect and adapt cycles: A principle that basically follows the concept of continuous improvement and is applied to different actions or activities. Individuals or teams demonstrate the current state of solution to appropriate peers or stakeholders (both internal and external) in different activities and actions across the sprint.

Inspect and adapt cycles are feedback loops—individuals and teams may or may not get the feedback they need to manage the process or engineering practices.

Agile operates on an iterative and incremental principle. Retrospectives are agile postmortems and are done by the team, within the team, at the end of every increment.

Feedback loops: Feedback helps the team improve productivity. We can use feedback loops to improve an individual’s performance, interactions, teamwork, process (including engineering practices), and progress on projects. These loops continuously reevaluate the path to the expected desired goal, based on tangible data and feedback. I like calling them as “productive loops” because they not only provide feedback, but also ultimately help the team improve productivity.

Productive loops are iterative and occur at each stage of the sprint throughout the release. The diagram below gives the holistic view of productive loops that happen at every phase of the development cycle. I’ve included all the possible productive loops at the program level.

Productive loops at every phase of the development cycle

(In the diagram above, CD means continuous delivery, Con Int (CI) means continuous integration, TDD means test-driven development, ATDD means acceptance test-driven development, and SI & Acceptance means system integration testing and acceptance testing.

Inspection and adaptation need not happen immediately for all the productive loops. For a few, the statistical data is captured at the respective level and the observation will happen at the end in the sprint retrospective. The outcomes of inspect and adapt cycle also do not always happen in the same place and at the same time; it always depends on the situation, context, and dynamics.

How Teams Can Benefit

Productive loops can help teams have more collaborative, coordinated, and committed deliverables in iterations. They also can encourage more proactive, positive attitudes and shared ownerships within the team, and improved team performance, productivity, and agility. Inspection and adaptation can lead to better approach, automation, and certainty of processes and engineering practices, as well as addressing conflicting and unpredictable demands of dynamics in the market.

Productive loops can take anywhere from seconds to months. A team might follow an idea for improvement in the same window of the productive loop, or that betterment may come as a suggestion in a sprint retrospective, which would eventually turn into an action item for the team to follow up on in upcoming sprints.

From all the productive loops within that sprint, there would be many suggestions for process changes, approach changes in engineering practices, etc., all of which will be addressed in retrospectives. These suggestions are churned, validated, and finalized, and then action items are identified.

It’s a reasonable practice to take just the items the team can accomplish for the next sprint, such as only picking the top three. But the team should not ignore the remaining action items that evolved from a sprint retrospective. The team should put the action items on the backlog and reconsider them in the next retrospective, again reprioritizing and considering the best fit. This practice ignites the team empowerment, fuels the team’s confidence, and builds better teams.

Using Productive Loops on a Daily Basis

Sprint health line: A visual representation that will remind the team to minimize work in progress. This can also be called a progress line, monitor line, or days to demo. The ScrumMaster reminds the team about the days remaining, their current status, etc. At the next standup, the team analyzes the same image and gets a new understanding on status, and it continues. Daily monitoring of the sprint timeline assists the Scrum community in conveying the remaining duration, controlling the sprint, tracking the schedule, steering the team toward the sprint’s vision, reducing work in progress, and determining when to take adaptive action.

In the below image, reviews and acceptance of stories can be done as and when they are ready. If the team has any pending activities for review or acceptance, days eight and nine need to be considered the last days.

Representation of a sprint timeline

Mood matrix: Also called a niko niko calendar in Japanese, this tracks team members’ moods by having a matrix with team members’ names and the total number of business days for that sprint. Everyone in the team is required to capture their moods at the end of the day in the form of a happy face, sad face, or sick face (more emotions could be added). Tracking these moods helps the team identify situational problems like environment unavailability, unhealthy conditions, frustration about changing requirements, appraisal ratings, etc. The ScrumMaster can analyze the previous day’s mood and can take necessary action on the situation.

The team can use a physical mood matrix board or build an application.

A mood matrix

Utilizing a sprint health line improves team progress by reminding them about work in progress stories and tasks, and a mood matrix improves team productivity by addressing risks or unhealthy situations in project.

Every loop gives an opportunity to increase productivity, either in an individual’s performance or in project teamwork or process, including engineering practices. Identifying opportunities for improvement throughout each sprint and turning them into action items for the next sprint can help you track and address the key challenges related to technology or product improvement.

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.