Agile teams use Scrum to organize their development process. Scrum is a framework using Agile principles to develop and deliver software projects. Scrum follows three Agile principles: transparency, inspection and adaptation. Software development teams use Scrum as an incremental and iterative tool. Teams using Scrum usually contain three major players:
- The Product Owner
- The Scrum Master
- The Scrum Team
Usually, a Scrum consists of several Sprints. Sprints and time-blocked between bursts of work that last between one and four weeks. The Scrum Team sets the Sprint goals in the Sprint planning meeting. Scrum usually contains a few fundamental components: Scrum Roles, Artifacts and Ceremonies. Let’s take a close look at these three components of Scrum.
Scrum Teams usually have a few key players, these are the Scrum Roles:
- Product Owner – prioritized the backlog and defines user stories
- Stakeholders – people outside the team who have an interest in the end product
- Scrum Master – guides the team’s activities according to the rules and rituals of Scrum
- Development Team – developers and designers who create the software
Next, we have Scrum Artifacts. Scrum Artifacts include:
- Product Backlog – a prioritized list of to-do items and fixes
- Sprint Goal – high-level object of the Scrum team
- Sprint Backlog – tasks the team will complete in the current Sprint
Read more on the differences between Product Backlog and Sprint Backlog.
Finally, we have Scrum Ceremonies. Scrum Ceremonies include the basic meetings of the Scrum process. They usually include:
- Product Backlog Refinement Meeting – The Product Owner sets priorities and chooses items for upcoming Sprints.
- Sprint Planning Meeting -The Product Owner and development team decide which items (and in which order) to tackle in the next Sprint.
- Daily Stand-up Meeting – a very fast meeting where each team member explains what they did the day before and what they hope to achieve in the coming day. They also identify any obstacles or roadblocks they face.
- Sprint Review – the team analyzes the Sprint and discusses future adaptations or changes to their process.
- Sprint Retrospective – the team analyzes their own work. Often they do this with start-stop-continue. They describe what they want to start doing, what they want to stop doing, and what they want to continue doing.
So, what exactly is an Agile Sprint cycle?
Agile Scrum teams break down large development projects into small bursts of activity, called Sprints. A Sprint in Agile is a short, time-boxed period where a software development team completes work. They choose which items and fixes they will tackle in Sprint Planning Meetings. The Sprint cycle sits at the very center of Agile methodology.
What steps do Agile teams follow in the Sprint cycle?
A Scrum Sprint cycle usually consists of five steps:
- First, the Product Owner determines and prioritizes the backlog.
- Next, the Scrum team analyzes the backlog created by the Product owner. They estimate the amount of work they will need to do and how long it will take.
- The software development team then holds a Sprint planning meeting. In this meeting they determine the goals of the Sprint. They choose User Stories that will help them reach their goals. After this Sprint planning meeting the team should have a complete Sprint Backlog. The Sprint Backlog shows all the items and fixes they will complete in the coming Sprint.
- Every day of the Sprint the team meets for the daily Scrum meeting (sometimes called daily standup meeting). In the Daily Scrum meeting each team member describes what they completed the previous day, what they hope to complete in the day ahead. The team members also identify any obstacles or roadblocks they face. The Scrum Master and Product Owner then work to remove these obstacles. The Daily Scrum meeting should take only 10-15 minutes. The daily Scrum meeting isn’t a status meeting. Rather, it’s a way for the team to keep communications open and transparent.
- After the team has completed the Sprint, they have Sprint Review and Sprint Retrospective meetings. In the Sprint review they scrutinize their process and note what should change. In the Sprint Retrospective, the software development team takes a look at their own work. They note what they can do better in the next Sprint. Each team member identifies ways they personally could work smarter. Sprint Retrospective meetings are not about blame or shame, but rather about introspection. Teams engage in Sprint Retrospectives with the goal of continuous self-improvement.
Tips for successful Scrum Sprints
- Teams should take care to estimate scrum velocity as precisely as possible. They should not take on too many User Stories. An overloaded Sprint will fail. Set the team up for success, not failure.
- Scrum Masters and Product Owners should make sure the team understands the goals and User Stories they will complete during the Sprint.
- In Sprint Planning teams should ensure that they have budgeted time for testing and QA
- Product Owners should present the team with a well-groomed backlog with priority items listed at the top. Product Owners should note dependencies and tasks that rely on previous work. Learn what are the techniques when prioritizing the backlog.
- Teams should use Sprint Planning meetings to closely study the details of the User Stories. They should also identify bugs and possible fixes.
- Teams should maintain focus through the daily Scrum meetings. The goals of the Sprint should remain in focus. Teams must ensure they produce quality work. They should aim to work better, not faster.
- Though Agile doesn’t require extensive documentation, Teams should ensure they have written out the plan for their Scrums. Teams should describe precisely decisions and the reasons behind them.
- Teams should understand the scope of their work. They should not take on User Stories that are very large or complex. Scrum teams should not take on a project with many unknown entities. They should understand what they face before they begin the Sprint.
- Finally, Product Owners and Scrum Masters need to face any concerns or problems brought up by the team members. Ignoring trouble will not make it go away.
Here at Blocshop, we understand the power of Scrum and Agile. We organize our teams to harness the best of what they offer to deliver our projects on time and under budget. If you would like to learn more, please do get in touch.