Scrum is an agile project management methodology or framework used primarily for software development projects with the goal of delivering new software capability every 2-4 weeks. It is one of the approaches that influenced the Agile Manifesto, which articulates a set of values and principles to guide decisions on how to develop higher quality software faster.
Who uses agile scrum methodology?
Scrum is widely used by software development teams. In fact, it's the most popular agile methodology. According to the 12th annual State of Agile report, 70% of software teams use scrum or a scrum hybrid. However, scrum has spread to other business functions including IT and marketing where there are projects that must move forward in the presence of complexity and ambiguity. Leadership teams are also basing their agile management practices on scrum, often combining it with lean and kanban practices (subgroups of agile project management).
What is scrum in relation to agile project management?
Scrum is a sub-group of agile:
- Agile is a set of values and principles that describe a group's day-to-day interactions and activities. Agile itself is not prescriptive or specific.
- The scrum methodology follows the values and principles of agile, but includes further definitions and specifications, especially regarding certain software development practices.
Although developed for agile software development, agile scrum became the preferred framework for agile project management in general and is sometimes simply referred to as scrum project management or scrum development.
What are the benefits received from the scrum methodology?
Organizations that have adopted agile scrum have experienced:
- Higher productivity
- Better quality products
- Reduced time to market
- Improved stakeholder satisfaction
- Better team dynamics
- Happier employees
What is so special about scrum project management?
Scrum addresses complexity in work by making information transparent, so that people can inspect and adapt based on current conditions rather than predicted conditions. This allows teams to address the common pitfalls of a waterfall development process: chaos resulting from constantly changing requirements; underestimation of time, resources, and cost; compromises on software quality; and inaccurate progress reporting. Transparency of common terms and standards is required in scrum development to ensure that what is being delivered is what was expected. Frequent inspection ensures progress and detects variances early on so that adjustments can be made quickly. The most common scrum events for inspection and adaptation are: sprint planning, daily scrum or "stand-up", sprint review, and sprint retrospective (see "scrum events" section below).
What is scrum methodology compared to other agile approaches?
Most enterprises first transition individual teams to agile before they "scale" to the rest of the organization. Scaling agile is not easy, which has recently prompted new frameworks to emerge, such as the Scaled Agile Framework® and Disciplined Agile Delivery (DAD) This popularity has made scrum a significant piece of many agile application lifecycle management (agile ALM) initiatives.
What are the components of agile scrum development?
The scrum methodology is defined by team roles, events (ceremonies), artifacts, and rules.
The scrum team
Scrum teams are typically composed of 7 +/- 2 members and have no team leader to delegate tasks or decide how a problem is solved. The team as a unit decides how to address issues and solve problems. Each member of the scrum team is an integral part of the solution and is expected to carry a product from inception to completion. There are three key roles in a scrum team:
The product owner
The product owner is the project's key stakeholder - usually an internal or external customer, or a spokesperson for the customer. There is only one product owner who conveys the overall mission and vision of the product which the team is building. The product owner is ultimately accountable for managing the product backlog and accepting completed increments of work.
The scrum master
The scrum master is the servant leader to the product owner, development team, and organization. With no hierarchical authority over the team but rather more of a facilitator, the scrum master ensures that the team adheres to scrum theory, practices, and rules. The scrum master protects the team by doing anything possible to help the team perform at the highest level. This may include removing impediments, facilitating meetings, and helping the product owner groom the backlog.
The development team
The development team is a self-organizing, cross-functional group armed with all of the skills to deliver shippable increments at the completion of each sprint. Scrum broadens the definition of the term "developer" beyond programmers to include anyone who participates in the creation of the delivered increment. There are no titles in the development team and no one, including the scrum master, tells the development team how to turn product backlog items into potentially shippable increments
Scrum events (ceremonies)
A sprint is a time-boxed period during which specific work is completed and made ready for review. Sprints are usually 2-4 weeks long but can be as short as one week.
Sprint planning team meetings are time-boxed events that determine which product backlog items will be delivered and how the work will be achieved.
The daily stand-up
The daily stand-up is a short communication meeting (no more than 15 minutes) in which each team member quickly and transparently covers progress since the last stand-up, planned work before the next meeting, and any impediments that may be blocking their progress.
The sprint review
The sprint review is the "show-and-tell" or demonstration event for the team to present the work completed during the sprint. The product owner checks the work against pre-defined acceptance criteria and either accepts or rejects the work. The stakeholders or clients give feedback to ensure that the delivered increment met the business need.
The retrospective, or retro, is the final team meeting in the sprint to determine what went well, what didn't go well, and how the team can improve in the next sprint. Attended by the team and the scrum master, the retrospective is an important opportunity for the team to focus on its overall performance and identify strategies for continuous improvement on its processes.
The product backlog is the single most important document that outlines every requirement for a system, project, or product. The product backlog can be thought of as a to-do list consisting of work items, each of which produces a deliverable with business value. Backlog items are ordered in terms of business value by the product owner.
A sprint backlog is the specific list of items taken from the product backlog which are to be completed in a sprint.
An increment is the sum of all product backlog items that have been completed since the last software release. While it is up to the product owner to decide on when an increment is released, it is the team's responsibility to make sure everything that is included in an increment is ready to be released. This is also referred to as the potentially shippable increment (PSI).
The rules of agile scrum should be completely up to the team and governed by what works best for their processes. The best agile coaches will tell teams to start with the basic scrum events listed above and then inspect and adapt based on your team's unique needs so there is continuous improvement in the way teams work together.
To get started with scrum, it is not uncommon for an individual scrum team to use simple scrum tools like a whiteboard, sticky notes, or a spreadsheet to manage the product backlog and the progress of the sprint backlog items in each sprint. Scaling agile practices to the rest of the organization is undoubtedly more complicated - the more teams that use scrum within an organization or are geographically dispersed, the more cumbersome simple tools like whiteboards, sticky notes, and spreadsheets become.
Taking agile to the next level
Digital.ai Agility, formerly VersionOne, addresses the challenge of scaling agile practices like scrum by providing an all-in-one agile project management platform that can be used not only by individual teams, but also by distributed enterprises who have adopted a scaled agile framework. Digital.ai Agility is a centralized environment for stakeholders at the team, program, and portfolio levels to plan, track, and report on software delivery regardless of location.
Scale team-level agilewith Digital.ai Agility
Digital.ai Agility seamlessly connects with team-level agile collaboration tools, enabling teams to get the benefits of enterprise agile without needing to rip and replace their existing solution.