Theory Session 2: Agile Ceremonies
Scrum
Up to now we've been considering Agile in general.
We're now going to cover in more detail one of the leading standard formal agile processes, Scrum. This is a useful starting point for a new agile team. But remember, you own your own process, as a team. View the Scrum template as a starting point for your own adopt and adapt process, and make it work for you. (But when you change it, write down your changes.)
Scrum is not the only choice for a specific process that meets the agile philosophy. Kanban is another interesting choice.
Roles in Scrum
While no one 'manages' a self-organising team in an agile project, Scrum identifies a couple of special responsibilities as helpful to productive teams.
The Scrum Master organises the agile process. They are accountable for ensuring the process is followed. They chair the meetings, and verify that tickets are up to date and complete. (Though everyone is responsible for their own tickets.)
The Product Owner ensures that the team is delivering functionality that meets the project's priorities. They arbitrate in the event of lack of consensus between stakeholders or contributors.
Scrum also makes a clear separation between the core project team, who are responsible or accountable for the project, from other stakeholders, who are consulted or informed.
Meetings in agile
We all know we have too many meetings. Agile approaches achieve efficiency by defining a series of specific meetings within the process, reducing the number of other meetings.
Scrum defines four, which we will discuss in turn:
Sprint Planning Meeting
- Decide which issues from the backlog should be put into the sprint
- Decide who will work on which issues
- Affirm that the team agree that issues are of reasonable size to be completed, or break them down.
(Typically 1-2 hours)
Demo meeting
- Demonstrate functionality from the sprint to stakeholders outside the core project team.
- Receive input which may result in new issues for the backlog.
- Formally the only meeting which invites members not of the core project team.
(Typically 30 minutes.)
Sprint Retrospective
- Note any issues that were not completed, and understand why.
- Resolve on any changes to the process needed.
(Typically 1 hour, often co-scheduled with the retrospective.)
Daily standup
- What did I complete yesterday?
- What will I work on today?
- Am I blocked by anything?
(Maximum 15 minutes, often shorter.)