Scrum
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal. The framework begins with a simple premise: Start with what can be seen or known. After that, track the progress and tweak, as necessary.
Scrum is often part of Agile software development. It is named for a rugby formation in which everyone plays a role. Software development Scrum roles include the following:
Product owner. This person serves as the liaison between the development team and its customers. The product owner is responsible for ensuring that expectations for the completed product are communicated and agreed upon.
Scrum Master. The Scrum Master is referred to as the project facilitator. They ensure Scrum best practices are followed. They must be good leaders and project managers, skilled at collaboration, conflict resolution and process improvement.
Development team. Members of the Scrum development team work together to create and test incremental releases of the final product. Developers must know Scrum and Agile development practices.
Industry associations and other organizations provide training and certification for these key roles. Some examples of these include the following:
- the Project Management Institute, which offers the Disciplined Agile Scrum Master certification;
- the Scrum Alliance, which offers the Certified ScrumMaster certification;
- Scrum.org, which offers Professional Scrum Master Training; and
- Scrumstudy.com, which offers the Scrum Master Certified certification.
What is the Scrum process?
The Scrum process encourages practitioners to work with what they have and continually evaluate what is or is not working. Good communication is essential and is carried out through meetings, called "events."
Scrum events include the following:
- Daily Scrum. This event is a short, stand-up daily meeting that takes place in the same place and time each day. In these meetings, the team reviews work accomplished the previous day and plans what will be done in the next 24 hours. This is the time when team members discuss problems that might prevent project completion.
- Sprint. A Sprint is the time frame in which work must be completed -- often 30 days. New Sprints start right after the end of the previous one.
- Sprint Planning Meeting. In these meetings, everyone participates in setting goals. At the end, at least one increment -- a usable piece of software -- should be produced.
- Sprint Review. This is the time to show off the increment.
- Sprint Retrospective. A Sprint Retrospective is a meeting held after a Sprint ends. During this meeting, everyone reflects on the process. A team-building exercise may also be offered. An important goal of this event is continuous improvement.
What are Scrum artifacts?
An artifact is something of historical interest that warrants being reexamined. In Scrum product development, artifacts are used to see what has been done and what is still in the queue.
It is useful to look at Scrum artifacts in Sprint Planning Meetings. Scrum artifacts include the following:
- Product backlog. This refers to what remains to be done. During a product backlog grooming session, the development team works with the business owner to prioritize work that has been backlogged. The product backlog may be fine-tuned during a process called backlog refinement.
- Sprint backlog. This is a list of tasks that must be completed before selected product backlog items can be delivered. These are divided into time-based user stories.
- Product increment. This refers to what has been accomplished during a Sprint -- all the product backlog items -- as well as what's been created during all previous Sprints. The product increment reflects how much progress has been made.
- Burn down. A burn down chart is a visual representation of the amount of work that still needs to be completed. A burn down chart has a Y axis that shows work and an X axis that shows time. Ideally, the chart illustrates a downward trend, as the amount of work still left to do over time burns down to zero.
Benefits of Scrum methodology
The core benefits of Scrum include the following:
- Quality products. The Sprint retrospective part of the Scrum process builds in feedback and continuous improvement. As a result, development teams using the methodology deliver high-quality products.
- Teamwork. Scrum creates cohesive software development teams that communicate effectively, meet deadlines and solve problems together. Members trust and respect one another and understand that their time is valuable. This might mean limiting the daily Scrum to a strict timeboxed window. Some software development teams include a hacking sprint in their process. It allows developers to work on new concepts, try out new ideas and take ownership of products.
- Flexibility. With Scrum, teams have to adapt their tools and processes to new circumstances as they happen. Product definitions may change as development progresses, and effective teams deliver those changes within a few iterations. Regular product backlog meetings enable a team to rearrange priorities before products are moved into the sprint.
- Reduced risk. Scrum focuses on a predictable, sustainable delivery pace and consistent feedback that gives teams a chance to mitigate risk early and often. Short sprints let teams fail fast if an idea doesn't work, keeping the risk of failure manageable.
- Decreased time to market. Scrum aims to release products and their features in predictable increments using well-defined sprints. The entire product does not need to be done for features to be released. Sprints are designed to add shippable features at every increment. Complete products made up of those shipped features are known as complex products.
- Higher return on investment (ROI). Scrum's combined benefits lead to a higher ROI. Constant feedback leads to less costly mistakes late in the process and a better product with fewer defects. Decreased time to market and incremental releases bring in revenue faster.
Scrum and Agile relationship explained
Agile is a development and project planning method. It has an overarching philosophy, or framework, that informs the methodologies under it, as explained in the Agile Manifesto. Scrum is one of several Agile methodologies.
Scrum can be thought of as a practical way to implement Agile. Like Scrum, Agile contains a set of values and principles. Development teams incorporate Scrum into their Agile strategy to add a layer of specificity.
One of the principles of Agile development is having team members regularly discuss how to be more effective and then adjust their behavior accordingly. Scrum incorporates a formal process to help teams do this. Daily meetings enable teams to reflect on work to do in the next 24 hours and change their approach based on obstacles expected or encountered.
Another principle of Agile is recognizing that the best work emerges from self-directed teams. Scrum Masters play a role in making this happen. They give teams what they need to do their work, and the freedom to set their own course. They then act as a servant leader, coaching teams to solve problems, reach goals and resolve conflicts.
The history of Scrum
The basis for the Scrum framework was introduced in 1986 in a Harvard Business Review article, "The New New Product Development Game," by Hirotaka Takeuchi and Ikujiro Nonaka. The authors described two approaches to managing product development. Some teams are like runners in a relay race, passing the baton along as they worked in a straight line. Other teams are like rugby players participating in a single game and passing things back and forth, as necessary.
Takeuchi and Nonaka concluded that the relay-race approach, as used in NASA's Phased Program Planning system, was outdated. The rugby approach would give companies the tools they need to compete in a multinational business world, they said.
Jeff Sutherland, John Scumniotales and Jeff McKenna then tried Scrum software development at Easel Corp., a software company, in 1993. In 1995, Ken Schwaber and Sutherland, working with others -- including McKenna and Scumniotales -- presented a paper, entitled "SCRUM Development Process." The result was a sea change that made developers question the effectiveness of the classic Waterfall software development model.
According to the Digital.ai's "15th State of Agile Report," Scrum is the most popular Agile methodology today. The survey of the global development community found that 66% of respondents said it was their chosen methodology and 15% said they used a Scrum derivative.
An updated version of the "Scrum Guide" by Sutherland and Schwaber was released in November 2020. The guide includes the official definition of Scrum.
Scrum pillars and values
The three pillars of Scrum are adaptation, inspection and transparency.
- Adaptation. The team consistently revises its approach to problems and takes on new ones as they arise.
- Inspection. The team consistently reflects on and evaluates its performance.
- Transparency. The team works in an open environment, where all members have insight into each other's process and are aware of the challenges others face.
Scrum's five core values support the pillars. They are the following:
- Commitment. The team is self-directed, and everyone is dedicated to doing the work that has been agreed upon.
- Courage. The team operates as one entity and succeeds or fails together. Members do the right thing and take on tough problems.
- Focus. Distractions are limited, and the team concentrates on the work that must be done today.
- Openness. The team spends time sharing where it has succeeded and what must be improved.
- Respect. Team members have different strengths, and each member's strengths are respected. No one is blamed when figuring out how to fix what is not working.
Scaling Scrum to multiple teams
Scrum and similar Agile methods are designed for one team. When IT organizations try to scale these frameworks across multiple teams, problems can occur. These methods don't provide guidance on how to work across teams at the end of a sprint, for example.
Scaled Agile Framework (SAFe) provides a set of principles, processes and best practices to address this problem. Comparing various SAFe methodologies can provide insight to help deal with Agile frameworks at an enterprise scale.