What is the point of the retrospective?
The retrospective is one of the most important ceremonies in all of agile. This is the time the team spends together to assess how they are working together and define steps to improve that process. It needs to be a “safe place” where people are able to speak openly and honestly. This is their opportunity to air their dirty laundry and work through their inter-personal issues. This is a time of growth for the team and for the team to take ownership of improvement. The team lead will facilitating the retrospective and should manage the interactions to keep the environment safe.
Define the Team
If the retrospective is a team ceremony, then what do we mean by team? The team includes: the team lead, the architecture owner and all other members that actively contributed to meeting the deliverables for the iteration. This includes: developers, testers, BAs, QAs, or other specialists such as technical writers, database engineers etc.
What about the Product Owner (PO)?
The PO is NOT a member of the team. They certainly interact with the team but they do not contribute to meeting the deliverables for the iteration so they are not a member of the team. They are not allowed to participate in the planning poker for the user stories for the same reason. The team votes because they are on the hook for delivering based on the sizing and the estimates but the PO is not on the hook, so they don’t get a vote.
Should the Product Owner participate in the retrospective?
In general, I would start by including the PO in the retrospectives because the team does have to learn and adjust to working with the PO. Keep in mind though that the PO may come and go but the team should stay together so it is most important that the team works well together. As a coach, I usually talk to the PO beforehand to say that they are an invited guest and that it is a privilege to be part of the meeting so they should act accordingly. I have been in many situations where the PO was welcomed at the retrospective, and felt left out if not included. I favor building trust between the business (the PO is their representative) and IT (the team). Including the PO in the retrospective can help the PO assimilate with the team.
I have also had several situations where as the coach I had to ban the PO from the retrospective because they were too commanding and disruptive in the meeting for the team to have an effective retrospective. I have also seen many situations where the PO is also the resource manager of members of the team (which in itself is not recommended). Having managers in the room can definitely have a dampening effect on the member’s willingness to be open and honest about problems and solutions.
If the PO doesn’t participate, at least as an observer, the team runs the risk of having to “sell” the cost of their improvement actions (against other backlog items) after coming up with them. Hopefully the PO is engaged enough with the team to understand its weaknesses and support improvement in those areas whether then attend the meetings or not.
Retrospectives are about improving the process, and a non-trivial part of that is optimization of collaboration between the PO and the team. I would suggest that the team should decide whether or not to include the Product owner.
What about the Stakeholders?
The retrospective should absolutely be a closed door session for the stakeholders since the retrospective must be a “safe space”.
There was a twitter debate lately that talked about a team being subjected to “a drive by criticism from 2 PM’s during a Retrospective”. This is a good reminder why we constrain attendance. The “safe place” is affected by the presence of people with positional authority, potential agendas or other implicit impact. The team may decide to invite such people – usually to ensure that they are communicating improvements needed that are beyond their locus of control. Having outsiders as guests at the retrospective will change the dynamics but at least it is a team decision to do so.
It is very important that the team own their process. If they’re uncomfortable that someone is in the room then that person should be asked to either change their behavior or leave (perhaps to be invited back in the future). The coach should always be thinking along the lines of “do we have the right people in the room” and then act accordingly
Isn’t agile all about transparency?
There was a twitter debate lately that centered on transparency. I believe that transparency is a key element to making agile successful. I’m all for transparency in everything about agile; EXCEPT the retrospective! Sometimes you need to have a family meeting outside of the public eye and that is the retrospective. The retrospective is all about resolving your issues in private so that you can present a united front to the rest of the world. To use a sports analogy, an NHL coach doesn’t invite the business (fans) into the dressing room between periods. There are lots of other places for transparency; the retrospective doesn’t have to be one of them.
The output of the Retrospective
While the actual retrospective meeting is closed to other observers, I would suggest that the action items coming out of the retrospective need to be made public and posted as an information radiator for everyone to see. The changes are more likely to get implemented if the team sees them every day. The team may also want to “radiate” their improvement actions on their dashboard.
The actions and results of the actions may also be shared with other teams through what is often called a Retrospective of Retrospectives. I encourage teams to only choose one or two areas for improvement at a time to provide focus and make meaningful progress.