BEFORE SPRINT
Before you can start coding, you must plan what you'll work on. In Scrum, there are no big master plans like in Waterfall, where you lock up your resources months in advance. Instead, Scrum lets you work on one thing for two weeks and then reflect on what you'll work on next.
Everything starts with your users/clients. First, you get a wish list from your customers in a special format called user story, which looks like this:
• As a (role), I want (feature) so that (reason)
• As a manager, I want custom time reporting services to calculate my employees' exact salaries.
Then, you create a task for each user story, put it in a backlog, and estimate each task (together with the team). Finally, you decide on what items you will work during the sprint. If some item can't be done in one sprint, it's called an epic, and you have three options: split it across several sprints, leave it for later, or do a new project and form a separate team to work on it.
DURING SPRINT
You set up a Kanban board to visually track progress, see who works on what, and control bottlenecks. The board is usually split into several task lists (columns):
• Backlog - all feature requests and bugs go here first
• Next Sprint - tasks you'll work on after the team finishes the current sprint
• To-Do - what the team needs to complete during the current sprint
• In Progress - tasks that the team is actively working on right now
• Testing - finished tasks that need to be tested before being marked as complete
• Done - finished tasks that are ready to be shipped once the sprint end
Once you've decided on what items to work on, the team pulls tasks from the To-Do columns and moves them to In Progress as they start working on them. Once they're finished, the task goes to Testing; if the task needs more work, it goes back to In Progress; once the task meets the Definition-Of-Done criteria, it goes to Done and is ready to be shipped.
Each day before work, the team has a daily standup. The meeting doesn't take longer than 15 minutes, and everyone shares a quick status update:
• Things I have done since yesterday's meeting
• Things I am going to get done today
• Obstacles I need someone to remove
To measure professional progress, the team uses a Burndown Chart, which is a graphical representation of work left to do versus time. That chart shows the team's efficiency, whether they will ship on time, and if the process must be optimized.
AFTER SPRINT
At the end of the sprint, the team reflects on what they've done. They have two reflection sessions:
• Sprint review (2h), where they discuss the work they've done and the planned work they didn't finish
• Sprint retrospective (1h), where they talk about the process (what went well and what could be improved in the next sprint)
After the reflection, the team estimates new user stories and decides on what to work on during the next sprint.
People frequently ask which role can cancel a sprint. The answer is that only the product owner can cancel a sprint if the conditions change significantly or the sprint goal becomes obsolete.
Product vision
A short and precise definition of the project's goal. It's used by the scrum team as a general direction for developing the product.
Product backlog
A list of user stories, bugs, and tasks that the scrum team must achieve to complete the project.
Sprint vision
Guidance for the scrum team to achieve the sprint goal.
Sprint backlog
A to-do list of tasks that need to be completed in the current sprint.
Definition of done (DOD)
A checklist of items used to define the factors needed for an increment to be released. It applies to all your work and increases the transparency among team members because everyone knows what needs to be done for an item to be checked as "done".
Product increment
The deliverables produced during the current and all previous sprints.
Burndown chart
A graphic depiction of how fast the scrum team completes the product backlog items during a sprint.
Sprint Planning
Sprint planning starts with the product owner explaining the vision and how team members should complete this project stage. Also, teams decide how much work they can complete within the sprint. This type of meeting happens when teams move from product backlog to sprint backlog as well. This step requires about an hour for the team to decide on the final items that will be included in the sprint.
Scrum Daily Standup
Each day, team members gather for about 15 minutes to report any issues and discuss progress. Even though it's a brief meeting, it's still relevant to the scrum process. Daily scrum meetings are designed to keep all team members on the same page and bind them to a cohesive and functional unit. The scrum master is present during these meetings.
Sprint Review
The primary purpose of a sprint review is to demonstrate what has been done so far. Stakeholders, scrum masters, and product owners must review the product and suggest necessary changes or improvements.
Sprint Retrospective
Team members speak freely and openly during this meeting about their organizational concerns and teamwork. The meeting should be impartial, non-judgmental, and friendly. This session is a crucial part of the development and team-building process. To some extent, future scrum projects depend on it.
Sprint retrospectives happen after each sprint review but before the next sprint planning. In most cases, this is an hour-long meeting. This is an improvement meeting, where team members try to identify past mistakes, and potential pitfalls and look for new ways to avoid those mistakes.
Development team members, scrum masters, and product owners need to attend this meeting. Sprint retrospectives help the organization locate activities the team is doing well and what needs to be done for the next sprint to be more productive.
Each sprint retrospective meeting includes five stages:
• Set the stage: set up goals and allow people to have some time to get into the right mood.
• Collect data: remember to help everyone by creating a shared pool of information.
• Generate insight: why do things happen the way they do? Use this step to pinpoint some patterns and try to see the bigger picture.
• Decide what to do: choose a couple of issues to work on and then create an action plan to address them.
• Select the retrospective: think about the ways you can improve retrospectives.
When it comes to length, sprint retrospectives shouldn't take more than 45 minutes per week. For example, if you have a week of sprint duration, then the retrospective meeting should last 45 minutes, for two weeks 90 minutes, and so on.
People who execute tasks should attend a sprint retrospective meeting. They include product owners or a scrum master, designers, developers, and engineers.
Anyone who isn't a sprint execution or scrum team member shouldn't attend sprint retrospective meetings because they cannot help, and their presence may damage the retrospective process. The scrum master runs the meeting and keeps everything in perfect order. Other participants offer their input and views on what happened and ways to achieve better results next time.
Retrospectives aren't strategic meetings that could change the direction of the organization. They usually focus on small changes to improve processes, collaboration, and teamwork, bit by bit.
Backlog Refinement
Last but not least, we have a backlog refinement meeting, where teams focus on skills and the quality of work involved during the sprints. In this meeting, the product owner will connect with the development team and assess the final product.
Difference Between the Review and Retrospective Meeting
• Participants— Sprint reviews include almost everyone related to the project. In contrast, a sprint retrospective involves a scrum team only, with no input from others.
• Deliverables— While both meetings are held at the end of each sprint, their outputs vary significantly. Sprint review output involves updating the product backlog with high-priority user stories for the development team to work on. The sprint retrospective output is an action that lists all the essential steps, which boosts the team's ways of working during the next sprint.
• Goals— In sprint review, the goal is alignment between product stakeholders and the scrum team to offer a universal direction for progress and development. The purpose of a sprint retrospective is to enhance scrum team execution for each sprint continuously. These two scrum events work best when they are separated, so don't try to merge them.