Problems with the development process can and will arise all the time. The team have the responsibility to identify and resolve those problems, and one way to do that is through reflection.
What is reflection?
Reflection is a collective exercise, conducted by the development team to keep house and to improve their development processes and work agreements.
They take a moment to notice and think how well the team is functioning, how productive their structures are and how efficiently they communicate. Once they’ve spotted broken or poorly functioning areas, they introduce changes to fix them or counter their effects.
How is reflection done?
Typically, reflection is done by asking the following questions:
- Which parts of our process are working?
- Which parts of our process are broken?
- What should we change to move things from 2 to 1?
This happens on a regular basis, split into two main activities:
A regular focused session to discuss the previous questions. Often conducted in retrospect, thus called retrospectives, and held once every 1, 2 or 4 weeks.
The execution of the proposed changes, if any. Those changes must be actionable and must be assigned to team members. The team will examine them in later sessions to decide whether they have fixed the original problem or not.
Common challenges to reflection
Reflection, as the name implies, demands heavy intellectual effort. It also requires enough open-mindedness, creativity and listnening skills. Surely a diverse and unexhausted team will have a better reflection ritual than one that isn’t.
Moreover, reflection requires a good amount of problem-oriented thinking in order to chase and uncover the root causes and not just the symptoms.
The tendency to quickly jump to solutions usually produce much bolder changes than necessary, making it even harder and scarier to implement them.
Another typical issue is when participants have different visibility of the status quo, which leads to more time being wasted on misunderstandings and confusion over definitions and ideas. This is more likely to happen when different separate teams meet in reflection sessions, and the obvious solution in that case is to have separate reflection sessions as well.
A sign of disfuctional reflection is when personal, managerial or logistic issues become the biggest part of the problems discussed in reflection sessions. This is fine while the team is just beginning with reflection and still learning how to scope their thinking to problems with the process itself.
But when this persists longer or starts to appear again, it is likely that the team has become less motivated to solve the actual issues in their process because they are hard, complex or out of their hands entirely.