Development teams working on CSE projects will conduct agile retrospectives for each iteration and project milestone.
- Continually learn from our engagement, improving our ability to deliver value to our customers.
- Involve everyone in the learning and improvement.
- The dev team and the larger org learn from each engagement.
At the end of each milestone or engagement, the team will write up the results of their retrospective, including 1-3 proposed changes or experiments. Owners will be assigned to each item, to make sure that retrospection leads to action, when desired.
Proposed changes coming out of iteration retrospectives should be tracked as tasks or bugs in the project backlog.
The Agile Retrospectives book provides a clear script for conducting retrospectives. Every retrospective should follow some version of the script, depending on the length of the retrospective. The basic script is:
- Set the stage.
- Gather data.
- Generate insights.
- Decide what to do.
- Close the retrospective.
Within that script, the facilitator can make choices with regard to which activities to use for each element.
These are the most intense retrospectives, in that they cover more project working time and should be the strictest with regard to following the ceremony described in the retrospective book. The goal of most project or milestone retrospectives is to identify proposed changes that the engineering crew or all of CSE might try in the next project. Teams should cover the overall project or milestone, including the development phase, how the on-site hack went, how well the customer engineering team engaged, how well the wrap up activities went, how well the whole CSE team worked together, etc.
A project or milestone retrospective will usually take 3-4 hours, depending on how long or complex the milestone was and how many people are involved in the retrospective.
We recommend that project and milestone retrospectives bring in an experienced facilitator to work with the team. CSE will maintain a list of experienced facilitators for teams to request.
- Set the stage.
- Thank everyone for being here.
- Walk through the standard CSE retrospective introduction slide deck, reminding everyone of the purpose, script, and expected behaviors.
- Each participant introduces themselves and their role on the project.
- Do one Set the Stage activity: 4.1-4.3.
- Run a quick Working Agreement activity (4.4) to give participants a chance to add any items to the standard working agreement.
- Gather Data.
- Run 2-3 Gather Data activities: 5.1-5.8.
- See the Recommended Activity Recipes section for ideas on selecting activities.
- Generate Insights
- Run 1 Generate Insights activity: 6.1-6.9.
- See the Recommended Activity Recipes section for ideas on selecting activities.
- Decide What to Do
- Run 1 Decide What to Do activity: 7.1-7.4.
- See the Recommended Activity Recipes section for ideas on selecting activities.
- Close the Retrospective.
- Run 1 Close the Retrospective activity: 8.1-8.5.
- See the Recommended Activity Recipes section for ideas on selecting activities.
- Thank everyone for participating.
- Follow up on proposed changes and experiments.
Iteration reviews should follow the ceremony of the retrospective script, but using less time and fewer activities than the project or milestone retrospective. Iteration (sprint) retrospectives will focus more on execution and implementation details and how the team can improve execution for future iterations.
An iteration retrospective will usually take 1-2 hours.
Usually, the process lead or engineering manager will lead the first one or two iteration retrospectives. After that, it's good for the team to take turns.
- Set the stage.
- Run a quick Working Agreement activity (4.4) to give participants a chance to add any items to the standard working agreement.
- Do one Set the Stage activity: 4.1-4.3.
- Gather Data / Generate Insights
- Run 1 Gather Data or Generate Insights activity: 5.1-5.8 or 6.1-6.9. Alternate between them on alternating iterations or let the facilitator choose the activity that they believe will be the most helpful.
- See the recommended Activity Recipes section for ideas on selecting activities.
- Decide What to Do
- Run 1 Decide What to Do activity: 7.1-7.4.
- See the recommended Activity Recipes section for ideas on selecting activities.
- Close the Retrospective
- Make sure someone is responsible for adding the proposed changes and/or experiments to work item tracking.
- Thank everyone for participating.
This variation assumes that the team is running an iteration per day, which is common in code-with engagements or hacks that have higher levels of uncertainty. In a single-day sprint, the team runs a 15-30 minute planning session for the day, conducts at least one standup (frequently immediately after lunch), and has a short demo, followed by a short retrospective at the end of the day.
A single-day iteration retrospective will usually take 15-30 minutes.
The process lead or engineering manager will lead these short retrospectives.
- Set the stage.
- Remind everyone of the team's working agreement for daily retrospectives.
- Give participants a chance to propose changes.
- Do one Set the Stage activity: 4.1-4.3.
- Activity
- Run 1 activity from any section of the book.
- The facilitator can choose based on they think the team could use.
- Decide What to Do
- The team should decide if they want to make any change for the next day.
- Close the Retrospective
- Make sure someone is responsible for adding the proposed changes and/or experiments to work item tracking.
- Thank everyone for participating.
Below are recommended commendations of activities to use in the slots above.
Give participants a chance to vent before getting into the more analytical parts of the retrospective.
- Set the Stage: Check-in (4.1), using a more emotion-oriented question
- Gather Data: Mad Sad Glad (5.4) to bring out emotional responses
- Gather Data: Timeline (5.1) to move toward an analytical view
- Gather Data: Locate Strengths (5.5) to help people move toward positive
- Generate Insights: Five Whys (6.3) or Identify Themes (6.8) to dig into thorny issues or find the underlying connections in the data
- Decide What to Do: SMART Goals (7.2) to capture what the team wants to accomplish with proposed changes
- Close the Retrospective: Appreciations (8.2) to give people the best chance of leaving with positive energy