The significance of Mirrors in our world
I am sure you must have come across funny mirrors in theme parks or fun carnivals which makes you see a ludicrous version of yourself, maybe a heavier or lighter version. It’s good for a laugh, but you won’t buy one of those for your home to use regularly. On a regular basis, we want to see our true reflection in a normal mirror when getting ready for school, work, etc. The mirror enables us to take a look at the way we appear and then adjust from there. Please bear in mind that “THE MIRROR CAN’T ADJUST THE WAY YOU LOOK”.
How feedback loops relate to mirrors
Feedback loops are also like mirrors in our Agile journey, they have the capability to show us how we work at the present stage helping us interpret what can be improved, but the responsibility to experiment and improve things lies with us. These feedback loops can’t change the way we work, just like the mirror can’t change your appearance. One of the most common and frequently used feedback loops is Daily Scrum, which helps you inspect what is already done and adapt the course of your work towards the Sprint goal.
When we use a dirty mirror, it doesn’t give us a clear reflection of our appearance. If we still don’t clean it, we adjust our appearance based on the vague image that we see in the mirror, which may lead to a disastrous outcome. Similarly, Daily Scrum helps the team to inspect the progress and adapt the plan towards the sprint goal. If the Daily Scrum is not done efficiently then the progress of the sprint goal becomes vague and may lead the team towards a poor plan, thereby, spearheading towards a disastrous sprint. Let’s explore what may cause an inefficient Daily Scrum.
5 Dysfunctions of Daily Scrum:
- Status Updates: When the daily scrum restricts to the status updates, for example: “the story that I am working on is In-progress” or “the story I am working on is blocked”. In these cases, the progress on that work unit never surfaces. What has already been done and what more needs to be done. If something is blocked then what is it blocked by and who can help it unblock. This information not only helps the team get better insights on the progress but also helps the development team to know what will be done next, increasing the accountability within the team.
- Passive participation: I strongly believe that we must share what we are working on, be it development, quality assurance, DevOps tasks, or any enabling task. Active participation helps the team understand the value of collective accountability and ownership, helps a team to better understand the present situation so that they can help each other in the best way possible. Passive participation also promotes Silo formation within the team based on expertise. This is one of the reasons why Scrum doesn’t recognize titles within the Scrum teams.
- Invisible Work: Team often works on units that are not present in sprints, this hampers the transparency around the progress towards the sprint goal and also impacts the forecasting abilities of the team. It is perfectly fine to add some unforeseen work to the sprint which compliments the sprint goal but it needs to be communicated and discussed with the Product Owner to find the best way to accommodate the change within the sprint.
- No Impediments: We know software development is complex in nature, and it is quite impossible to stay in a “No impediment” Zone for some time. If the team is habitual to state that they don’t have any impediments then, it can be a smell. In these cases helping the team understanding what can be stated as impediments can help them raise the impediments. If they can identify the impediments faster, they can resolve the impediments faster.
- Feet Dragging: This is a very visible sign of an inefficient Daily Scrum some examples can be Team members waiting for each other to move first for Daily Scrum or Team takes time to arrange themselves for Daily Scrum. These are the cases where the team doesn’t get value out of their Daily Scrum. Helping them understand the purpose of daily scrum can be a good starting point for these cases and then comes the silver bullet to all the solutions in the Agile world i.e. “INSPECT & ADAPT”.
To get a clear reflection, you need to keep your mirror clean. To become transparent you have to clean your feedback loops.