What is Agile Scrum? An Overview
If you are new to the Scrum scene, check out this article for an overview of everything you need to know about the framework.
Join the DZone community and get the full member experience.Join For Free
What is Agile Scrum?
Scrum is a framework in which people can address complex problems with an adaptive approach while creating productive and creative products of the highest possible value.
- Simple to understand
- Difficult to master
Scrum is a framework within which one can design and implement various process and techniques to manage complex projects. Scrum makes clear the intended result of your product management and work techniques, so that you can continuously improve the product, the team and work environment.
What Does the Scrum Framework Consist Of?
- And Rules
Each component serves its own purpose for Scrum’s success and correct usages.
What Is the Potential Use of Scrum?
The Scrum framework was initially designed and used for managing and designing products, and it is used worldwide to:
- Research and identify feasible market, technologies and product capabilities;
- Develop products and their enhancements;
- Release products and their enhancements frequently;
- Develop a cloud (online, secure, on-demand) and other environments for product use;
- Sustain and renew products.
Scrum is being used to develop software, hardware, autonomous vehicles, schools, government, marketing, operations, and almost everything we use in our daily lives as individuals and as a society.
Since technology, market and other complexities and its interaction have rapidly increased, Scrum has overcome them all and become the choice of many organizations.
Scrum depends on an empirical process control foundation, in which knowledge comes from experience, and making a decision based on what is known. Scrum is incremental and iterative to optimize predictability and control risk.
Three pillars of empirical process control are transparency, inspection, and adaption.
Transparency is defined by common standards shared with the observer, so that the observer can share a common understanding of what can be seen.
- All participants must share a common process.
- Those who are going to work and inspect the increments must share a common definition of “Done”
Scrum team/users must continuously inspect Scrum artifacts and progress towards the sprint goal to identify undesirable variances. However, an inspection should not be done so frequently that it comes in a way of work, and it should be performed diligently by a skilled inspector.
If an observer realizes that one or more aspects of process goes outside acceptable limits, and that may turn into product will be unacceptable, the process must be adjusted accordingly. And adjustment must be implemented as soon as possible to troubleshoot further deviations.
There are 4 formal events for inspection and adaption:
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
There are 5 Values defined by Scrum:
- Openness, and
The Scrum team consists of a Product Owner, the development team, and Scrum Master. The Scrum team is self-organized and cross-functional. The self-organized team chooses how best to accomplish the work, rather than instructed by one who is not a part of team, while cross-functional team has the competencies required to complete the work without being dependent upon an outsider. Team structure in Scrum is designed to optimize flexibility, creativity and productivity.
Role of the Product Owner:
- Clearly express product backlog items;
- Order the items in product backlog to achieve goals and missions;
- Optimizing the value of work development team performs;
- Ensures that product backlog is visible, transparent and clear to all the team members;
- Ensures that the development team has a complete understanding of product backlog to the level needed.
(It is not necessary that all the responsibility must be executed by the Product Owner, they can get these responsibilities executed by the development team. However, the Product Owner is the accountable for the outcome)
The Development Team:
- They are self-organized. No one can instruct the development team on how to turn product backlog into increments of potentially releasable functionality;
- The development team is cross-functional and has the required skills to accomplish the work within the sprint;
- There are no titles for development team even though work is being performed by a person
- There will not be a sub-team in the development team regardless of testing, architecture, operations and business analysis.
- The development team has unique skills and area of focus, but they are yet accountable as a whole team not as an individual.
Development Team Size
Development team size should be small enough to quickly execute work within the sprint, and large enough to finish significant work within the sprint. Product Owners and Scrum Masters are not the part of development team unless they are executing sprint items by themselves.
The Role of The Scrum Master:
- Ensure goal, scope and product domain should be understood by everyone
- Finding techniques to effectively manage product backlogs;
- Helping team to understand need for clear and concise product backlog items;
- Ensure product owner must know how to arrange product backlog to maximize value;
- Understand and practice agility;
- Facilitate Scrum events as and when needed;
- Coach development team in self-organizing and cross-functionality;
- Help development team to create high value product;
- Remove hindrance to the development team’s process;
- Learning and coaching organization in its Scrum adaption;
- Planning Scrum implementation within the organization;
- Helping employee and stakeholders to understand empirical product development;
Scrum framework consists of 4 events which are time-boxed, such that every event has a maximum duration. Once sprint beings its duration become fixed and neither can be shortened or extended under any circumstances.
Sprint is a heart of Scrum and entire process and teams are revolving around sprints. Each sprint has a month or less duration within which a “Done”, usable or potentially releasable product increment is created.
During the Sprint:
- No changes should be made which impact the Sprint Goal
- Quality goals do not decrease
- Scope may be clarified and re-negotiated between the Product Owner and development team as more is learned.
Sprint planning is a roadmap for executing sprints within the time-box and its collective effort of the entire Scrum team. Sprint planning time-box to a minimum of 8 hours for a one-month sprint. Scrum master makes sure that event takes place should be understood its purpose by attendants.
Sprint Planning answers below question:
- What can be delivered in the increment resulting from upcoming sprint?
- And how the work to be delivered to achieve increment?
A Daily Scrum meeting to be held for 15 minutes. In this meeting, the development team will plan the work for next 24 hours. This will optimize team collaboration and performance, by inspecting the work from last Scrum meeting and forecasting upcoming sprint work. The Daily Scrum is held at the same time and place each day to reduce complexity.
The discussion agenda might include questions like:
- What did I do yesterday that helped the development team meet the sprint goal?
- What will I do today that will help the development team meet the sprint goal?
- Do I see any hurdles that prevent me or development team from meeting sprint goal?
Sprint retrospective is an opportunity for the Scrum team to inspect itself and create a plan for improvements to be implemented during next sprint.
Scrum’s artifacts represent work or value to provide transparency and opportunities for inspection and adaptation.
The Product Backlog is an ordered list of everything that is known to be needed in the product. It is the single source of requirements for any changes to be made to the product. The Product Owner is responsible for the Product Backlog, including its content, availability, and ordering.
The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal. The Sprint Backlog is a forecast by the Development Team about what functionality will be in the next Increment and the work needed to deliver that functionality into a “Done” Increment.
Opinions expressed by DZone contributors are their own.