Scrum
Scrum is the most popular Agile Framework. It is the lightweight framework that is used in dynamic changing environment. It is simple to understand, but difficult to master.
Scrum relies on three pillars of empirical process control as below:
Transparency – To ensure everyone understands what they are doing and are on the common page.
Inspection – To prevent deviation from the desired process or product.
Adaptation – To allow adjustments in case of any deviation at the end of every iteration.
Scrum Is Iterative & Incremental.
Iterative – To arrive at a desired result through cycle of operations.
Incremental – To provide small improvements to an existing product every time.
Scrum Values
Scrum depends on five values: commitment, courage, focus, openness and respect.
Commitment – It is essential to build agile culture. Scrum teams commit only that much which they believe they can achieve in the sprint.
Courage – It is required to try out new things and challenge the status quo, when required.
Focus – This helps in limiting the work in progress (WIP). Scrum teams finish activities which they start before taking up more activities.
Openness – Scrum teams always look for opportunities to learn and new ideas.
Respect – Scrum teams collaborate among themselves to achieve the target. They respect each other’s views and ideas.
Scrum Framework
Scrum Teams are cross-functional, which has all the capabilities to deliver the product increment.
Sprint – Sprint is the short time-frame, which varies from 1 week to 4 weeks. Scrum Teams work in these sprints to deliver new product increment which must be potentially releasable.
Scrum Team
Scrum defines three roles: Scrum Master, Product Owner, and Development Team. Together all three roles make up a Scrum Team.
Scrum Master
The Scrum Master helps the Scrum Team perform at their highest level by removing impediments and protecting the team from distractions. Scrum Master make sure Scrum values are being properly followed on the project. Scrum master should be humble and respectful. Scrum Master acts a servant leader and agile advocate on the project. Scrum master serves Product Owner, Development team and organization in several ways to ensure they work efficiently and effectively.
Product Owner
The Product Owner defines the feature list of the product. The Product Owner incorporates stakeholder’s feedback to create highest value product increments every sprint. Product Owner maintains the product backlog and ensures that everyone knows the priorities. Product Owner should be empowered, business-savvy, persuasive, knowledgeable and available to the team. Product Owner is the customer voice on the project.
Development Team
The Development Team is cross-functional, which decides how to accomplish the work. They are empowered to organize their own work. There are no designation in the development team and the accountability belongs to the development team as a whole. The ideal size for a development team is 3 to 9 people, excluding Scrum Master and Product Owner.
Scrum Artifacts
Scrum defines three artifacts: Product Backlog, Sprint Backlog, and a potentially releasable product increment.
Product Backlog – The Product Backlog contains everything that is needed in the product. It is prioritized based upon the value of each item. It is constantly evolving.
Sprint Backlog – The Sprint Backlog is the subset of the Product Backlog. It contains everything that the team commits to achieve in a given Sprint. If some of the item doesn’t get completed in the sprint, then that goes back to the Product Backlog.
Potentially Releasable Product Increment – Every sprint generates product increment, which is potentially releasable.
Scrum Events
Scrum defines five events or ceremonies or activities : Sprint, Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective.
Sprint – Sprint is a time-boxed event of four weeks or less during which a potentially releasable product increment is created.
Sprint Planning – In the sprint planning, entire Scrum Team (Product Owner, Development Team, Scrum Master) meets to decide the Sprint Goal. The Product Owner describes the objective of the sprint and shares the acceptance criteria. Development Team based upon their velocity chooses tasks from the Product Backlog and decides how much they can accomplish in the sprint. The duration of the sprint planning is 2 hours for every 1 week of sprint length.
Daily Scrum – The Development Team meets for 15 minutes every day of the Sprint. Each member of the development team answers three questions:
1. What they did yesterday?
2. What they are planning to do today?
3. Any impediments.
It is Scrum Master’s responsibility to remove impediments.
Sprint Review – Sprint reviews focus on the product and allows the Scrum Team to discuss what was completed during the Sprint with all concerned stakeholders. The primary purpose of the Sprint Review is to inspect and adapt based upon the feedback. The duration of the sprint review is 1 hour for every 1 week of sprint length.
Sprint Retrospective – Sprint retrospectives focus on the process and allows scrum team (Product Owner, Development Team, Scrum Master) to check how did they perform in the sprint. They discuss what when right and what needs to be improved and make plans on how to improve in the next sprint. The duration of the sprint retrospective is 45 minutes for every 1 week of sprint length.
There are few organizations which provide Scrum Certifications like ScrumAlliance and Scrum.