HOME

TheInfoList



OR:

Scrum is an agile team collaboration framework commonly used in
software development Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
and other industries. Scrum prescribes for teams to break work into
goal A goal or objective is an idea of the future or desired result that a person or a group of people envision, plan, and commit to achieve. People endeavour to reach goals within a finite time by setting deadlines. A goal is roughly similar to ...
s to be completed within time-boxed iterations, called ''sprints''. Each sprint is no longer than one month and commonly lasts two weeks. The scrum team assesses progress in time-boxed, stand-up meetings of up to 15 minutes, called ''daily scrums''. At the end of the sprint, the team holds two further meetings: one sprint review to demonstrate the work for stakeholders and solicit feedback, and one internal sprint retrospective. A person in charge of a scrum team is typically called a scrum master. Scrum's approach to product development involves bringing
decision-making In psychology, decision-making (also spelled decision making and decisionmaking) is regarded as the Cognition, cognitive process resulting in the selection of a belief or a course of action among several possible alternative options. It could be ...
authority to an operational level. Unlike a sequential approach to product development, scrum is an iterative and incremental framework for product development. Scrum allows for continuous feedback and flexibility, requiring teams to self-organize by encouraging physical co-location or close online collaboration, and mandating frequent communication among all team members. The flexible approach of scrum is based in part on the notion of requirement volatility, that stakeholders will change their requirements as the project evolves.


History

The use of the term ''scrum'' in software development came from a 1986 ''
Harvard Business Review ''Harvard Business Review'' (''HBR'') is a general management magazine published by Harvard Business Publishing, a not-for-profit, independent corporation that is an affiliate of Harvard Business School. ''HBR'' is published six times a year ...
'' paper titled "The New New Product Development Game" by Hirotaka Takeuchi and Ikujiro Nonaka. Based on case studies from manufacturing firms in the automotive, photocopier, and printer industries, the authors outlined a new approach to product development for increased speed and flexibility. They called this the rugby approach, as the process involves a single cross-functional team operating across multiple overlapping phases in which the team "tries to go the distance as a unit, passing the ball back and forth". The authors later developed scrum in their book, ''The Knowledge Creating Company''. In the early 1990s, Ken Schwaber used what would become scrum at his company, Advanced Development Methods. Jeff Sutherland, John Scumniotales, and Jeff McKenna developed a similar approach at Easel Corporation, referring to the approach with the term ''scrum''. Sutherland and Schwaber later worked together to integrate their ideas into a single framework, formally known as scrum. Schwaber and Sutherland tested scrum and continually improved it, leading to the publication of a research paper in 1995, and the Manifesto for Agile Software Development in 2001. Schwaber also collaborated with Babatunde Ogunnaike at DuPont Research Station and the
University of Delaware The University of Delaware (colloquially known as UD, UDel, or Delaware) is a Statutory college#Delaware, privately governed, state-assisted Land-grant university, land-grant research university in Newark, Delaware, United States. UD offers f ...
to develop Scrum. Ogunnaike believed that software development projects could often fail when initial conditions change if
product management Product management is the business process of planning, developing, launching, and managing a product or service. It includes the entire lifecycle of a product, from ideation to development to go to market. Product managers are responsible for ...
was not rooted in empirical practice. In 2002, Schwaber with others founded the Scrum Alliance and set up the ''Certified Scrum'' accreditation series. Schwaber left the Scrum Alliance in late 2009 and subsequently founded Scrum.org, which oversees the parallel ''Professional Scrum'' accreditation series. Since 2009, a public document called ''The Scrum Guide'' has been published and updated by Schwaber and Sutherland. It has been revised six times, with the most recent version having been published in November 2020.


Scrum team

A scrum team is organized into at least three categories of individuals: the product owner, developers, and the scrum master. The product owner liaises with stakeholders, those who have an interest in the project's outcome, to communicate tasks and expectations with developers. Developers in a scrum team organize work by themselves, with the facilitation of a scrum master.


Product owner

Each scrum team has one product owner. The product owner focuses on the business side of product development and spends the majority of time liaising with stakeholders and the team. The role is intended to primarily represent the product's stakeholders, the voice of the customer, or the desires of a
committee A committee or commission is a body of one or more persons subordinate to a deliberative assembly or other form of organization. A committee may not itself be considered to be a form of assembly or a decision-making body. Usually, an assembly o ...
, and bears responsibility for the delivery of business results. Product owners manage the product backlog and are responsible for maximizing the value that a team delivers. They do not dictate the technical solutions of a team but may instead attempt to seek consensus among team members. As the primary liaison of the scrum team towards stakeholders, product owners are responsible for communicating announcements, project definitions and progress, RIDAs (
risks In simple terms, risk is the possibility of something bad happening. Risk involves uncertainty about the effects/implications of an activity with respect to something that humans value (such as health, well-being, wealth, property or the environ ...
, impediments, dependencies, and assumptions), funding and scheduling changes, the product backlog, and project governance, among other responsibilities. Product owners can also cancel a sprint if necessary, without the input of team members.


Developers

In scrum, the term ''developer'' or ''team member'' refers to anyone who plays a role in the development and support of the product and can include researchers,
architects An architect is a person who plans, designs, and oversees the construction of buildings. To practice architecture means to provide services in connection with the design of buildings and the space within the site surrounding the buildings that h ...
, designers, programmers, etc.


Scrum master

Scrum is facilitated by a scrum master, whose role is to educate and coach teams about scrum theory and practice. Scrum masters have differing roles and responsibilities from traditional team leads or project managers. Some scrum master responsibilities include coaching, objective setting, problem solving, oversight, planning, backlog management, and communication facilitation. On the other hand, traditional project managers often have people management responsibilities, which a scrum master does not. Scrum teams do not involve project managers, so as to maximize self-organisation among developers.


Workflow


Sprint

A sprint (also known as a '' design sprint'', ''
iteration Iteration is the repetition of a process in order to generate a (possibly unbounded) sequence of outcomes. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration. ...
'', or '' timebox'') is a fixed period of time wherein team members work on a specific goal. Each sprint is normally between one week and one month, with two weeks being the most common. The outcome of the sprint is a functional deliverable, or a product which has received some development in increments. When a sprint is abnormally terminated, the next step is to conduct new sprint planning, where the reason for the termination is reviewed. Each sprint starts with a sprint planning event in which a sprint goal is defined. Priorities for planned sprints are chosen out of the backlog. Each sprint ends with two events: * A ''sprint review'' (progress shown to stakeholders to elicit their feedback) * A ''sprint retrospective'' (identifying lessons and improvements for the next sprints) The suggested maximum duration of sprint planning is eight hours for a four-week sprint.


Daily scrum

Each day during a sprint, the developers hold a daily scrum (often conducted standing up) with specific guidelines, and which may be facilitated by a scrum master. Daily scrum meetings are intended to be less than 15 minutes in length, taking place at the same time and location daily. The purpose of the meeting is to announce progress made towards the sprint goal and issues that may be hindering the goal, without going into any detailed discussion. Once over, individual members can go into a 'breakout session' or an 'after party' for extended discussion and collaboration. Scrum masters are responsible for ensuring that team members use daily scrums effectively or, if team members are unable to use them, providing alternatives to achieve similar outcomes.


Post-sprint events

Conducted at the end of a sprint, a sprint review is a meeting that has a team share the work they've completed with stakeholders and liaise with them on feedback, expectations, and upcoming plans. At a sprint review completed deliverables are demonstrated to stakeholders. The recommended duration for a sprint review is one hour per week of sprint. A sprint retrospective is a separate meeting that allows team members to internally analyze the strengths and weaknesses of the sprint, future areas of improvement, and continuous process improvement actions.


Backlog refinement

Backlog refinement is a process by which team members revise and prioritize a backlog for future sprints. It can be done as a separate stage done before the beginning of a new sprint or as a continuous process that team members work on by themselves. Backlog refinement can include the breaking down of large tasks into smaller and clearer ones, the clarification of success criteria, and the revision of changing priorities and returns.


Artifacts

Artifacts are a means by which scrum teams manage product development by documenting work done towards the project. There are seven scrum artifacts, with three of them being the most common: product backlog, sprint backlog, and increment.


Product backlog

The product backlog is a breakdown of work to be done and contains an ordered list of product requirements (such as
feature Feature may refer to: Computing * Feature recognition, could be a hole, pocket, or notch * Feature (computer vision), could be an edge, corner or blob * Feature (machine learning), in statistics: individual measurable properties of the phenome ...
s, bug fixes and non-functional requirements) that the team maintains for a product. The order of a product backlog corresponds to the urgency of the task. Common formats for backlog items include user stories and
use case In both software and systems engineering, a use case is a structured description of a system’s behavior as it responds to requests from external actors, aiming to achieve a specific goal. It is used to define and validate functional requireme ...
s. The product backlog may also contain the product owner's assessment of business value and the team's assessment of the product's effort or complexity, which can be stated in story points using the rounded Fibonacci scale. These estimates try to help the product owner gauge the timeline and may influence the ordering of product backlog items. The product owner maintains and prioritizes product backlog items based on considerations such as risk, business value, dependencies, size, and timing. High-priority items at the top of the backlog are broken down into more detail for developers to work on, while tasks further down the backlog may be more vague.


Sprint backlog

The sprint backlog is the subset of items from the product backlog intended for developers to address in a particular sprint. Developers fill this backlog with tasks they deem appropriate to fill the sprint, using past performance to assess their capacity for each sprint. The scrum approach has tasks on the sprint backlog not assigned to developers by any particular individual or leader. Team members self organize by pulling work as needed according to the backlog priority and their own capabilities and capacity.


Increment

An increment is a potentially releasable output of a sprint, which meets the sprint goal. It is formed from all the completed sprint backlog items, integrated with the work of all previous sprints.


Other artifacts


Burndown chart

Often used in scrum, a burndown chart is a publicly displayed chart showing remaining work. It provides quick visualizations for reference. The horizontal axis of the burndown chart shows the days remaining, while the vertical axis shows the amount of work remaining each day. During sprint planning, the ideal burndown chart is plotted. Then, during the sprint, developers update the chart with the remaining work.


Release burnup chart

Updated at the end of each sprint, the release burn-up chart shows progress towards delivering a forecast scope. The horizontal axis of the release burnup chart shows the sprints in a release, while the vertical axis shows the amount of work completed at the end of each sprint.


Velocity

Some project managers believe that a team's total capability effort for a single sprint can be derived by evaluating work completed in the last sprint. The collection of historical "
velocity Velocity is a measurement of speed in a certain direction of motion. It is a fundamental concept in kinematics, the branch of classical mechanics that describes the motion of physical objects. Velocity is a vector (geometry), vector Physical q ...
" data is a guideline for assisting the team in understanding their capacity.


Limitations

Some have argued that scrum events, such as daily scrums and scrum reviews, hurt
productivity Productivity is the efficiency of production of goods or services expressed by some measure. Measurements of productivity are often expressed as a ratio of an aggregate output to a single input or an aggregate input used in a production proce ...
and waste time that could be better spent on actual productive tasks. Scrum has also been observed to pose difficulties for part-time or geographically distant teams; those that have highly specialized members who would be better off working by themselves or in working cliques; and those that are unsuitable for incremental and development testing.


Adaptations

Scrum is frequently tailored or adapted in different contexts to achieve varying aims. A common approach to adapting scrum is the combination of scrum with other software development methodologies, as scrum does not cover the whole product development lifecycle. Various scrum practitioners have also suggested more detailed techniques for how to apply or adapt scrum to particular problems or organizations. Many refer to these techniques as 'patterns', an analogous use to design patterns in architecture and software.


Scrumban

Scrumban is a software production model based on scrum and kanban. To illustrate each stage of work, teams working in the same space often use post-it notes or a large whiteboard. Kanban models allow a team to visualize work stages and limitations.


Scrum of scrums

Scrum of scrums is a technique to operate scrum at scale for multiple teams coordinating on the same product. Scrum-of-scrums daily scrum meetings involve ambassadors selected from each individual team, who may be either a developer or scrum master. As a tool for coordination, scrum of scrums allows teams to collectively work on team-wide risks, impediments, dependencies, and assumptions (RIDAs), which may be tracked in a backlog of their own.


Large-scale scrum

Large-scale scrum is an organizational system for product development that scales scrum with varied rules and guidelines, developed by Bas Vodde and Craig Larman. There are two levels to the framework: the first level, designed for up to eight teams; and the second level, known as 'LeSS Huge', which can accommodate development involving hundreds of developers.


Criticism

A systematic review found "that Distributed Scrum has no impact, positive or negative on overall project success" in distributed software development. Martin Fowler, one of the authors of the Manifesto for Agile Software Development, has criticized what he calls "faux-agile" practices that are "disregarding Agile's values and principles", and "the Agile Industrial Complex imposing methods upon people" contrary to the Agile principle of valuing "individuals and interactions over processes and tools" and allowing the individuals doing the work to decide how the work is done, changing processes to suit their needs. In September 2016, Ron Jeffries, a signatory to the Agile Manifesto, described what he called "Dark Scrum", saying that "Scrum can be very unsafe for programmers."


See also

*
Agile software development Agile software development is an umbrella term for approaches to software development, developing software that reflect the values and principles agreed upon by ''The Agile Alliance'', a group of 17 software practitioners, in 2001. As documented ...
** Agile testing * Agile learning *
Disciplined agile delivery Disciplined agile delivery (DAD) is the software development portion of the Disciplined Agile Toolkit. DAD enables teams to make simplified process decisions around incremental and iterative solution delivery. DAD builds on the many practices es ...
* Comparison of scrum software *
High-performance teams High-performance teams (HPTs) is a concept within organization development referring to teams, organizations, or virtual groups that are highly focused on their goals and that achieve superior business results. High-performance teams outperform ...
*
Lean software development Lean software development is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System, it is emerging with the support of a pro-lean subculture within the ag ...
*
Project management Project management is the process of supervising the work of a Project team, team to achieve all project goals within the given constraints. This information is usually described in project initiation documentation, project documentation, crea ...
* Unified process


Citations


General and cited references

* * * * * * * Verheyen, Gunther (2013). ''Scrum – A Pocket Guide (A Smart Travel Companion)''. .


External links


Agile Alliance's Scrum library

A scrum process description
by the Eclipse process framework (EPF) project {{Authority control Agile software development Software development Software development philosophies Software project management