What Is Scrum? How It Works, Best Practices, and More
If you're trying to implement Agile and Scrum into your development team, read on for the basics of Scrum works, with details on product backlogs, Scrum Masters, etc.
Join the DZone community and get the full member experience.Join For Free
Wondering how Rugby relates to Scrum? In this post, we’ll examine the Scrum development framework, its benefits and disadvantages, and some best practices for Scrum software development. When you’re ready to manage your development process with the Scrum methodology, check out this post for our analysis of 15 Scrum boards you can use to manage your workflow.
Definition of Scrum
Scrum is a software product development strategy that organizes software developers as a team to reach a common goal — creating a ready-for-market product. It is a widely used subset of Agile software development.
The word Scrum is also used in rugby to define a play where players struggle against each other to gain possession of the ball. The goal of a Scrum in software development is to perform at a high-performing level like a rugby team does in a scrum.
How Scrum Works
In a rugby scrum, all the players literally put their heads together. When it comes to software development, a scrum can be characterized by developers putting their heads together to address complex problems.
- Scrum software development starts with a wish list of features — a.k.a. a product backlog. The team meets to discuss:
- The backlog.
- What still needs to be completed.
- How long it will take.
- Scrum relies on an Agile software development concept called Sprints:
- Sprints are periods of time when software development is actually done.
- A Sprint usually lasts from one week to one month to complete an item from the backlog.
- The goal of each Sprint is to create a sellable product.
- Each Sprint ends with a Sprint review.
- Then the team chooses another piece of backlog to develop — which starts a new Sprint.
- Sprints continue until the project deadline or the project budget is spent.
- In daily Scrums, teams meet to discuss their progress since the previous meeting and make plans for that day.
- The meetings should be brief — no longer than 15 minutes.
- Each team member needs to be present and prepared.
- The Scrum Master keeps the team focused on the goal.
Image via Wikimedia Commons
Who Is in the Scrum?
In rugby, the forwards are involved in the scrum. In software development, three roles are defined in the Scrum framework:
- The Scrum team does the work. It is the individuals who are working together in the Sprints to produce the products.
- The Scrum Master is part of the Scrum team and makes sure the team works in compliance with the Scrum rules. They are not a manager.
- The Product Owner represents the customer. This role prioritizes the backlog and coordinates the Scrum team's efforts. The Product Owner is a role similar to a project manager in more traditional project management frameworks.
Benefits of Scrum
Rugby players try to gain control of the ball in the scrum and move it downfield. Software developers use Scrum to move their projects quickly. And the benefits trickle down to software developers:
- Developers who want the freedom to make decisions thrive in Scrum teams. Team morale tends to be high.
- Each Sprint produces a product that is ready to go to market even though the project is ongoing. The highest priority requirements are addressed first, so a high-quality, low-risk product can be on the market.
- The incremental process shortens the time to market by about 30 percent to 40 percent. Because the Product Owner is part of the Scrum team, requirements can be delivered as they are needed.
- Scrum projects often realize a higher return on investment (ROI). This is attributed to:
- Decreased time to market.
- Early and regular feedback that prompts course corrections early when they are less costly.
- Defects that are fewer and less costly.
- Projects failing early and quickly when it’s less costly.
- Reviewing each Sprint before the team moves on to the next Sprint spreads testing throughout development.
- Project focus and goals can change with evolving business goals.
Disadvantages of Scrum
While a rugby scrum may get rough and bloody, software developers shouldn’t have to worry about that. Nonetheless, Scrum is not for all development teams or software development projects. There are disadvantages to implementing Scrum projects:
- There is a danger of scope creep if stakeholders keep adding functionality to the backlog. This could be encouraged by the fixed deadline.
- Scrum works best with small teams of experienced software developers. They need to be able to work quickly.
- Scrum teams do not work well when the Scrum Master micromanages their work.
- Losing any team members can hurt the progress of the project.
Scrum Best Practices
Teamwork wins rugby games and helps software developers create quality products. To get the most out of Scrum:
- Define requirements just in time to keep product features as relevant as possible.
- Test and incorporate Product Owner feedback daily.
- Sprint reviews with stakeholders need to be regular.
- The Scrum Team needs to use the Sprint retrospectives to improve how they work.
- Conduct face-to-face conversations to reduce miscommunications.
- Trust the teams to do the best job possible.
- Allow the teams to self-organize around people’s skills, work styles, and personalities.
- Don’t burn out the team members. Respect the balance between their personal and professional lives to ease stress.
If you enjoyed this article and want to learn more about Scrum, check out our compendium of tutorials and articles.
Published at DZone with permission of Angela Stringfellow, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.