Heard the buzz about Scrum want to learn more? Want to get a sense of what it is and why some teams choose to use it? I’m giving a presentation “Scrum in a Nutshell” at BarCamp2 in Ottawa on Saturday. I only have forty minutes to present and run a session of the Scrum game so I’ve tried to boil my description of Scrum down to the absolute minimum.
Advantages of Scrum – frequent releases means the customer always knows where the project is going and is able to make simple course corrections. Burndown charts and the product backlog provide the product owner and other stakeholders continuous visibility on the projects status.
Scrum is an agile process that allows self organizing teams to focus on delivering the highest business value in the shortest time.
Using iterative development it allows us to rapidly develop and repeatedly inspect working software every two to four weeks (a sprint or iteration).
The product owner sets out the business priorities and the team
determines the best way to deliver the highest priority features.
At the end of the every sprint anyone can see real working software and decide to release it or continue to enhance it.
- used to determine the work for the next sprint
- a prioritized list of everything needed or wanted for the entire product
- often written in the form of user stories
- have estimates associated with them (often Story Points – Clinton
Keith has a good explanation:
- Examples: A company can pay for a job posting with a Visa card; A
company can pay for a job posting with a MasterCard (from
- list of tasks that to be completed in a sprint
- the tasks are created by breaking down the stories during the planning meeting
- have estimates (often in hours) associated with them
- creates and prioritizes the product backlog
- understands the customer’s needs and the business value
- organizes the process
- keeps track of the teams progress
- removes obstacles from the path of the team
Team (not just developers – everyone required to create the product)
- organizes itself to perform the work and deliver business value
Events (all events in Scrum are timeboxed)
- iteration typically of 1-4 weeks length
- this is where the development work (code, test, review, …) occurs
Sprint Planning Meeting
- select the stories the team believes it can commit to in a sprint
- break the stories down into tasks and provide estimates for those tasks
- Team members share progress with other team members (not the manager)
- answer the three questions – “what did you do yesterday”, “what will you do today”, “do you have any roadblocks”
- anyone may attend, only team members (people with skin in the game) may speak
- scrum master uses the information from the standup to update burndown chart illustrating progress
- fifteen minutes maximum
– typically held standing up in front of Task Board – helps keep the meeting focused
– side conversations are taken offline
- Product Owner plays the sprint’s work (without guidance) and provides feedback
- Developers may also demo work
- Team owns up to deficiencies with the product helping to build trust with the Product Owner
- Team reviews what went well and what went poorly
- Use retrospection techniques to find potential for improvement.
- Pick one or two areas to focus for improvement
If there’s something more you would like to learn about Scrum (or Agile in general), leave a question in the comments and I will try to answer it.
Tip of the hat to Matt Truxaw whose 100 word summary I rewrote and Mishkin Berteig whose CSM course notes helped me nail my definitions.
Update: Nov 30/06 – Added a section defining a Sprint and fixed spelling errors.
» Next Online Code Reviews suck – even Guido van Rossum can’t fix that
See all blog posts