Scrum Framework
Introduction
Scrum is an agile framework for managing complex projects. It is designed to help teams work together, learn through experiences, self-organize while working on a problem, and reflect on their wins and losses to continuously improve. Scrum is a simple framework for effective team collaboration on complex products.
Scrum Roles
There are three core roles in Scrum:
- Product Owner: Responsible for maximizing the value of the product resulting from the work of the Development Team.
- Scrum Master: Responsible for ensuring Scrum is understood and enacted. They do this by ensuring the team adheres to Scrum theory, practices, and rules.
- Development Team: A group of professionals who do the work of delivering a potentially releasable Increment of "Done" product at the end of each Sprint.
Scrum Events
Scrum defines four formal events for inspection and adaptation:
- Sprint: The heart of Scrum is a Sprint, a time-box of one month or less during which a "Done", useable, and potentially releasable product Increment is created.
- Sprint Planning: The work to be performed in the Sprint is planned at the Sprint Planning. This plan is created by the collaborative work of the entire Scrum Team.
- Daily Scrum: A 15-minute time-boxed event for the Development Team to synchronize activities and create a plan for the next 24 hours.
- Sprint Review: Held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed.
- Sprint Retrospective: An opportunity for the Scrum Team to inspect itself and create a plan for improvements to be enacted during the next Sprint.
Scrum Artifacts
Scrum's artifacts represent work or value to provide transparency and opportunities for inspection and adaptation. Artifacts defined by Scrum are specifically designed to maximize transparency of key information so that everybody has the same understanding of the artifact.
- Product Backlog: 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.
- Sprint Backlog: The set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal.
- Increment: The sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints.
Example: Scrum in Action
Imagine a software development team working on a new mobile application. Here's how they might use Scrum:
- Product Owner: Creates and prioritizes the Product Backlog with features, bug fixes, and improvements.
- Sprint Planning: The team selects the highest priority items from the Product Backlog to work on during the Sprint.
- Daily Scrum: Each team member answers three questions: What did I do yesterday? What will I do today? Are there any impediments in my way?
- Sprint Review: The team demonstrates the new features to stakeholders and gathers feedback.
- Sprint Retrospective: The team reflects on the Sprint and identifies improvements for the next Sprint.