3. What is SCRUM?
• Scrum is an agile, lightweight process that can be
used to manage and control software and product
development using iterative, incremental practices
• An empirical approach based in process control
theory
• Intended to give the team control of its time and
destiny
• .
4. History
• Origin in Rugby
– Getting an out of play ball into play
• Used to describe hyper-productive development in
1987 by Ikujiro Nonaka and Hirotaka
Takeuchi
5. Agile Method
• Continuous attention to technical excellence
and good design
• Self-organizing teams
• Customer satisfaction by rapid, continuous
delivery of useful software
• Working software is the principal measure of
progress
• Delivered frequently
6. Agile Method (cont)
• Late changes in requirements
• Close, daily cooperation between business people and developers
•
• Face-to-face conversation is the best form of communication
• Time is a fixed variable
7. Characteristics
• Self-organizing teams
• Product progresses in a series of two- to four-week “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
8. Scrum has been used by:
• Microsoft
• Yahoo
• Google
• Electronic Arts
• Lockheed Martin
• Philips
• Siemens
• Nokia
• IBM
• Capital One
• BBC
• Intuit
• Nielsen Media
• First American Real Estate
• BMC Software
• Ip switch
• John Deere
• Lexis Nexis
• Sabre
• Salesf orce.com
• Time Warner
• Turner Broadcasting
• Oce
9. Scrum has been used for:
• Commercial software
• In-house development
• Contract development
• Fixed-price projects
• Financial applications
• ISO 9001-certified applications
• Embedded systems
• 24x7 systems with 99.999%
uptime requirements
• the Joint Strike Fighter
• Video game development
• FDA-approved, life-critical
systems
• Satellite-control software
• Websites
• Handheld software
• Mobile phones
• Network switching applications
• ISV applications
• Some of the largest applications
in use
11. Product owner
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the product
• Prioritize features according to market value
• Adjust features and priority every iteration, as
needed
• Accept or reject work results
12. Scrum Master
• Responsible for ensuring that Scrum values, practices, and
rules are enacted and enforced
• Represents management and the team to each other
• Makes decisions and removes impediments
• Sometimes making decisions without complete information
(better some decision rather than no decision)
• Keep the team working at the highest possible level of
productivity
13. Scrum Teams
• Typically 5-9 people
• Cross-functional:
– Programmers, testers, user experience designers, etc.
• Members should be full-time
– May be exceptions (e.g., database administrator)
• Teams are self-organizing
– Ideally, no titles but rarely a possibility
• Membership should change only between sprints
15. Sprints
• Scrum project make progress in a series of Sprints
• Time boxed Period (2 – 4 weeks)
• During Sprint, team does:
– Analysis
– Design
– Code
– Test
• Product is potentially releasable after every Sprint
16. 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 Scrum
Master
• High-level design is considered
17. The scrum Meeting
• Parameters
– Daily
– 15-minutes
– Stand-up
• Not for problem solving
– Only team members, Scrum Master, product
owner can talk.
• Helps avoid other unnecessary meetings
18. Everyone answers 3 questions
What did you do yesterday?What did you do yesterday?
1
What will you do today?What will you do today?
2
Is anything in your way?Is anything in your way?
3
19. Daily Scrum Meetings
(contd)
• established meeting room (same place and same
time every day)
• Door, speakerphone, table, enough chairs for each
team member, whiteboards
• Scrum Master starts a meeting
• Avoid turning it into a working or design session
21. Product backlog
• The requirements
• A list of all desired work on the project
• Ideally expressed such that each item
has value to the users or customers of
the product
• Prioritized by the product owner
• Reprioritized at the start of each sprint
This is the product backlogThis is the product backlog
22. Sprint Backlog
• A subset of Product Backlog Items, which define the work for a Sprint
• Is created ONLY by Team members
• Each Item has it’s own status
• Should be updated every day
• No more then 300 tasks in the list
• If a task requires more than 16 hours, it should be broken down
• Team can add or subtract items from the list. Product Owner is not
allowed to do it
• Is a FORECAST!
• Is a good warning monitor
23. 23
Advantages
• To product - stability
• To Developers – understand the requirements
• To QA – better knowledge of the product
• Flexible /Dynamic
• Clear state of code
• Quality: finding issues at the beginning
24. 24
Disadvantages
• No final view
• Hard to implement
• Human perspective
• No Team Leaders
• Challenge in managing the product
25. 25
Common Failures with Scrum
1. Misunderstanding what Scrum is
(and is not)
2. Software not tested at end of sprint
(definition of Done)
3. Backlog not ready at beginning of sprint
(definition of Ready)
4. Lack of facilitation or bad facilitation
5. Lack of management support
6. Lack of client, customer, or end user
support
Scrum is our example Agile Method
These are the common failures that I have seen with people implementing Scrum
My idea is that we would list these points then show how the CMMI address these Common Failures and some of the basic truths regarding hyperproductive Scrum