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.
Definitions:
Product backlog
- 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:
https://www.agilegamedevelopment.com/2006/03/hours-vs-story-points.html) - 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
https://www.mountaingoatsoftware.com/articles/usa_sample.pdf)
Sprint Backlog
- 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
Roles
Product Owner
- creates and prioritizes the product backlog
- understands the customer’s needs and the business value
Scrum Master
- 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)
Sprint
- 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
Daily Scrum/Standup
- 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
Sprint Review
- 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
Sprint Retrospective
- 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
Related articles: Too many bugs making it to production? The role of QA in Agile/Scrum.
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.
Mark,
Great summary. You might want to add the size of the timeboxes for the meetings… 1hr/week of Sprint length for the review and retrospective and 2hr/week of Sprint length for the planning meeting.
Hi, thanks for summary 🙂 Just the clear basics in a very understandable form! Could you please give some advices on what tools can be good for managing backlogs and planning sprints? Something easy to use, cause we’re just tasting Scrum and just starting to use it.
Great post Mark! Really clear and concise overview; very useful…
Kelly Waters
https://www.allaboutagile.com
Hi Mark. I like what you’re doing with scrum, and I second all the folks who say that it just isn’t that hard. It’s amazing what you can do with low overhead if you have small teams that do things in a way that complies with the sort of “creative chaos” of development, instead of against it.
That said, thanks for the comments on my blog – you didn’t leave an email address, so please, shoot me an email – matt at xndev dot com.
One of the possibilities for What Works In Software Testing is to run it in the Toronto area in 2008. Not quite Ottowa, but it’s better, right. 🙂
–heusser
The Carnival of Software Development, number 1
As this is the first edition of the Carnival of Software Development and I didn’t give much notice to allow…
re: Interesting Finds: December 17, 2006
Tatiana – thanks for the comment. The best tools for practicing scrum are a corkboard, index cards and a pen. Software tracking tools are best avoided until you discover something that the above doesn’t solve for you. This just reminds me to write a post “Why corkboards are better than web pages”. The best place to discuss scrum and its practice is the scrumdevelopment mailing list on yahoo groups. Search through the archives and you will find some detailed answers to your questions.
Good luck and we look forward to seeing you on the mailing list.
I just wrote an Agile article based off of what you wrote in this one. Thanks for your insight! :>
https://www.pchenry.com/Home/tabid/36/EntryID/56/Default.aspx