Scrum is a widely used agile software product development strategy, born out of the manufacturing and extended by the software development industry as an agile methodology. Scrum organizes software developers as a team to reach a common goal - creating a ready-for-market product.
The word Scrum is 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. 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 Brief History
In 1986. Two Japanese business experts introduced the term in the context of product development. Hirotaka Takeuchi and Ikujiro Nonaka published the article, "New New Product Development Game" (the double “New” is indeed part of the title) in the Harvard Business Review. The authors described a new approach to commercial product development that would increase speed and flexibility. Their inspiration came from case studies from manufacturing firms in the automotive, photocopier, and printer industries.
Jeff Sutherland originated the first Scrum project in 1993. Sutherland, working with Ken Schwaber, developed Scrum as a formal process in 1995. In 2001, Sutherland and Schwaber, along with several pioneers of agile thinking converged at a ski resort in Utah to assess commonalities in agile methods. The Agile Manifesto was created out of this group’s consensus.
How Scrum Works
1. Scrum software development starts with a wish list of features called PBIs - Product Backlog Items.
2. Sprint Planning meeting with development team: product owner, development representative, scrum master is taken place in order estimate and prioritize product backlog list and define the sprint backlogs.
3. 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 sell-able product. When completing a sprint 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.Each Sprint ends with a Sprint review and a potential releasable product.
3. Sprint Retrospective meeting is set with the scrum team to discus topics and processes to preserve and to improve.
4. Daily Scrums, teams meet to discuss their progress since the previous meeting and make plans for the current day. The meetings should take no longer than 15 minutes. Each team member needs to be present and prepared. The Scrum Master keeps the team focused on the goal.
Roles and Responsibilities
The individuals are developers 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
Great for developers who want the freedom to make decisions.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 process shortens the time to market by about 30 to 40 percent.Since 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
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.
How to get the most out of Scrum (Best Practices):
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.Respect the team's balance between their personal and professional lives to ease stress.