Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.
Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
Characteristics of Scrum
Product progresses in a series of month-long “sprints”
Requirements are captured as items in a list of “product backlog”
No specific engineering practices prescribed
Uses generative rules to create an agile environment for delivering projects
One of the “agile processes”
Scrum projects make progress in a series of “sprints”
Analogous to Extreme Programming iterations
Typical duration is 2–4 weeks or a calendar month at most
A constant duration leads to a better rhythm
Product is designed, coded, and tested during the sprint
Sequential Vs Overlapping Development
Requirements Design Code Test
Rather than doing all of one thing at a time
Scrum team do a little of everything all the time
Product Owner - Defines the Feature of the project and decide on release date and content
Scrum Master - Responsible for enacting Scrum values and practices and Ensure that the team is fully functional and productive
Team - The team typically consists of 5 - 9 people. They are cross functional : Programmers, testers, user experience designers, etc.
Sprint Planning - Team selects items from the product backlog they can commit to completing. Sprint backlog is created. Tasks are identified and each is estimated (1-16 hours). Collaboratively, not done alone by the ScrumMaster
Daily Scrum - The Daily scrum is 15 minutes stand up meeting conducted everyday. This is not for problem solving.Only team members, ScrumMaster, product owner, can talk.
Everyone answers these 3 questions
What did you do yesterday?
What will you do today?
Is anything in your way?
Sprint Review - The Team presents what it accomplished during the sprint. It typically takes the form of a demo of new features or underlying architecture
Sprint Retrospective - It periodically take a look at what is and is not working. It is conducted typically 15–30 minutes. It is done after every sprint and Whole team participates
Product backlog - A list of all desired work on the project. It is ideally expressed such that each item has value to the users or customers of the product . It is prioritized by the product owner and reprioritized at the start of each sprint
Sprint backlog - A short statement of what the work will be focused on during the sprint. Any team member can add, delete or change the sprint backlog and work for the sprint emerges
Burndown chart - A visual measurement tool that shows the completed work per day against the projected rate of completion for the current project release. Its purpose is to enable that the project is on the track to deliver the expected solution within the desired schedule.
Why Scrum ?
The scrum framework itself is simple. The rules, artifacts, events, and roles are easy to understand. Its semi-prescriptive approach actually helps remove the ambiguities in the development process, while giving sufficient space for companies to introduce their individual flavor to it. Quick releases keep the team motivated and the users happy as they can see progress in a short amount of time.