Iterative Software Development
using the SCRUM method
Networked Embedded Systems
Armin Wasicek
SS12
Manifesto for Agile Software Development
� Individuals and interactions over processes and tools
� Working software over comprehensive documentation
� Customer collaboration over contract negotiation
� Responding to change over following a plan
http://agilemanifesto.org/
25.04.2012 Networked Embedded Systems 2
What is a Scrum?
25.04.2012 Networked Embedded Systems 3
Description
� SCRUM is an iterative, incremental process for
developing any product or managing any work.
� Scrum provides a small set of rules that create just
enough structure for teams to be able to focus their
innovation on solving what might otherwise be an
insurmountable challenge.
25.04.2012 Networked Embedded Systems 4
Characteristics
� Self-organizing teams
� 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”
25.04.2012 Networked Embedded Systems 5
A fable of chicken and pigs
A Pig and a Chicken are walking down the road.
The Chicken says, "Hey Pig, I was thinking we should open
a restaurant!". Pig replies, "Hm, maybe, what would we
call it?".
The Chicken responds, "How about 'ham-n-eggs'?".
The Pig thinks for a moment and says, "No thanks. I'd be
committed, but you'd only be involved!"
25.04.2012 Networked Embedded Systems 6
SCRUM roles
PIGS:
� Developement team
• Delivers functionalities
� Product Owner
• Manges product backlog
• Connects functionalities to
user and customer
• Focus on ROI
� ScrumMaster
• Organizes the scrum
• Controlling
CHICKEN:
� Management
• Provides resources
� Customer
• Determines functionalities
� User
• Rates usefulness/usability
For a successful project
you need both types!
25.04.2012 Networked Embedded Systems 7
� Pregame
− Planning
− System Architecture/High level Design
� Game
− Sprints (Concurrent Engineering)
− Develop (Analysis, Design, Develop)
− Wrap
− Review
− Adjust
� Postgame
− Closure
Scrum Methodology
25.04.2012 Networked Embedded Systems 8
SCRUM process flow
25.04.2012 Networked Embedded Systems 9
The Daily SCRUM
� Time boxed to fifteen minutes!
� The Team and the Scrum Master only.
� What have you accomplished since yesterday?
� Are your Sprint Backlog estimates accurate?
� What are you working on today?
� Is there anything blocking you?
Review
Focus
25.04.2012 Networked Embedded Systems 10
Product/Sprint Backlog
� Selected by team at outset of Sprint
� A Sprint is usually 30 days
� Changes during Sprint as information is discovered
� Okay to use other engineering practices (stories, micro-
iterations), but progress must be reported in the
backlog
� Time estimates must be updated daily
25.04.2012 Networked Embedded Systems 11
The Sprint Burndown Chart
25.04.2012 Networked Embedded Systems 12
The Product
� Delivers measurable value
� “Potentially Shippable”: the process can be halted after
every Sprint and there will be some value, some ROI
� Must be a product, no matter how incomplete
25.04.2012 Networked Embedded Systems 13
Process Comparison
25.04.2012 Networked Embedded Systems 14
Scrum Success Factor
25.04.2012 Networked Embedded Systems 15
Further Reading
Agile Manifesto http://agilemanifesto.org/
SCRUM http://de.wikipedia.org/wiki/Scrum
http://www.scrum.org/
Requirements http://www.reqexperts.com/resources.html
Pareto Principle http://management.about.com/
25.04.2012 Networked Embedded Systems 16