Retro Guide
Tags: agile
Published: 2023-11-20 09:20:37

## Introduction
The sprint retrospective is a moment for our team to reflect on the past sprint, celebrate successes, and identify areas for improvement. By fostering a culture of continuous learning, we aim to enhance our work process and achieve even greater success in the future. To achieve this, strategic planning is essential, ensuring that the retrospective becomes a well-orchestrated effort toward sustained improvement and growth.

## Directives
At the heart of our retrospective is the understanding that everyone did their best given the circumstances. We value cooperation, recognizing that our unique strengths are amplified when we work together. Hope and trust emerge through engagement, and we seize this opportunity to unite around a shared vision for the future.

## Context
Gaining insight into the project context provides a clear understanding of our position in the project, making it particularly valuable for the sprint retrospective. If time constraints prevent context discussion during other events like sprint review or planning, consider incorporating it as an introduction to the retrospective.

Here are some aspects of the context that might be relevant to a retrospective:

#### Start or End of a Project
Whether the retrospective marks the beginning or end of a project, the context would include specific project goals, team changes, initial expectations, and achievements.

#### Team Changes
If there have been significant changes to the team composition (members joining or leaving), the context may include how these changes impacted team dynamics and performance.

#### Implementation of New Processes
If the team has recently adopted new processes or tools, context can address the effectiveness of these changes and how they have influenced workflow.

#### Development Cycle
Timing in the development cycle iteration (such as a specific sprint) is essential. Discussions can focus on goals met, user stories delivered, and obstacles faced during this sprint.

#### External Events
External events, such as changes in customer demands, industry updates, or unexpected challenges, provide crucial context for understanding how the team responded to these external factors.

#### Performance Metrics
Quantitative metrics such as team velocity, user story completion rate, or code quality can be part of the context, providing an objective basis for analysis.

#### Customer Feedback
If there was customer feedback during or after the sprint, that feedback becomes part of the context, helping the team understand how their deliverables are perceived.

#### Organizational Objectives
Contextualizing the retrospective about the organization's broader goals helps align the team's priorities with the company's overall goals.

#### Evaluation of Training or Culture Changes
If the team participated in training or if the organization is going through cultural changes, this context is crucial to evaluate how these initiatives are being absorbed and applied.

#### Focus on the Current Sprint
Direct the discussion to the most recent sprint, ensuring that observations and learnings are specific to the team's current situation.

#### Specific Goal Orientation
This allows a team to focus on specific areas that need attention and improvement.

#### Connection to Long-Term Goals
The retrospective should be seen as part of a continuous improvement process. Timing/context helps link the discussion to the long-term goals of the team and organization.

#### Identification of Trends Over Time
You can identify trends over multiple sprints, which can lead to relevant insights into performance patterns and consistent areas for improvement.

## Participant Preparation
For our retrospective to be effective, the team members are encouraged to reflect on specific questions before the meeting to facilitate a more insightful discussion:

**What worked well:**
#### Standout moments in the sprint.  
- Example: "The continued refinement of the Rewards topic was a highlight, allowing us to define the goals of the domain better."

#### Effective practices or processes.  
- Example: "Adopting the clean architecture concepts has helped us to create a more scalable system."

#### Exceptional collaboration between team members.  
- Example: "Close collaboration between developers and PMs during the Q&A phase facilitated rapid identification and resolution of bugs."

#### Individual skills that contributed to success.  
- Example: "John's problem-solving skills were instrumental in overcoming unexpected challenges during development."

#### Aspects of the work that led to overall success.  
- Example: "Clarity in user stories helped avoid misunderstandings and allowed smoother implementation."

#### Positive changes compared to the previous sprint.  
- Example: "Implementing `excellent_migrations` tool reduced the bugs to zero when creating a new migration."

#### Each team member's main contributions.  
- Example: "Maria effectively led the resolution of a critical problem, demonstrating her ability to deal with challenging situations."

**What can be improved:**
#### Main obstacles or challenges faced.  
- Example: "Integration with the legacy API system was more complicated than expected, causing significant delays."

#### Communication difficulties negatively impact the team.  
- Example: "The lack of regular updates on task progress has confused me about priorities. When we say 'I'm working on it and don't have any blockers' on Dailies meeting, we lose the opportunity to receive feedback and share knowledge."

#### Aspects of the work process that can be optimized.  
- Example: "Reviewing milestones and deadlines regularly can give us evidence to adapt to the current tasks."

#### Recurring issues that need addressing.  
- Example: "Dependence on a single specialist for certain critical tasks has caused bottlenecks. We must diversify knowledge within the team."

#### Gaps in the team’s skills or knowledge.  
- Example: "The lack of expertise in a new technology impacted the efficient implementation of a feature. We must seek training."

#### Handling external pressures or tight deadlines.  
- Example: "Deadline pressure has affected code quality. We should explore strategies to maintain an appropriate balance between speed and quality."

#### Tasks or activities that did not contribute significantly.  
- Example: "Allocating extensive resources to infrequently requested functionality may have been unnecessary. We must evaluate the value before initiating such tasks."

## Checkin
Collect the participants' sentiments. This sets the tone for a focused and constructive discussion.

## Continuous Improvement
Engage in data collection, emotional expression, and acknowledgment of positive aspects. Explore opportunities for enhancement to commit to continuous improvement.

## Filtering
Prioritize discussion topics to generate insights within the available time efficiently. Streamline the conversation to focus on the most crucial areas.

## Checkout
As the meeting concludes, assign responsibilities for action items identified during the retrospective. Clearly define who will be responsible for each task.

## Conclusion
In summary, the retrospective process is designed to promote a culture of continuous improvement within our team. By encouraging thoughtful participant preparation, considering relevant context, and fostering open communication, we aim to glean valuable insights for enhancing our work processes. Through these efforts, we aspire to create a collaborative environment that consistently strives for excellence.

## References
- [Fun Retrospectives](https://www.funretrospectives.com): A diverse collection of activities and techniques for engaging retrospectives.
- *The Retrospective Handbook - A guide for agile teams* by Patrick Kua: A practical guide for agile teams running effective retrospectives.
- *Agile Retrospectives - Making Good Teams Great* by Esther Derby, Diana Larsen, Ken Schwaber: A comprehensive overview of conducting effective agile retrospectives.