This document provides an overview of Agile and Scrum methodologies for software development. It discusses key Agile principles like early delivery, flexibility, and collaboration. Scrum is presented as a framework for Agile development with roles like Product Owner, Scrum Master, and Team. Ceremonies like sprint planning, daily stand-ups, sprint reviews and retrospectives are covered. Artifacts like the product and sprint backlogs are also summarized. Examples of companies using Scrum are provided.
2. What is Agile
• It is a reaction to what some consider a failure of the waterfall
model and other similar models.
• Philosophy and a method
• Early Deliverable. Evolutionary Development. Flexibility.
• Organized and Time aware
• It requires complete commitment by team and management to
work
• It enhances collaboration
• It is not a silver bullet
• It brings together good practices from other methods
(Scrum, Extreme Programming, WaterFall, kanban)
3. The Agile Manifesto–a statement of
values
PPrroocceessss aanndd ttoooollss Individuals and
interactions
over
Comprehensive
documentation
Working software over
RReessppoonnddiinngg ttoo cchhaannggee over FFoolllloowwiinngg aa ppllaann
Source: www.agilemanifesto.org
CCoonnttrraacctt nneeggoottiiaattiioonn Customer
collaboration
over
4. Good artists copy, great artists steal.
Pablo Picasso
Scrum has been used by:
Microsoft,Yahoo,Google,Electronic Arts,
High Moon, Studios, Amazon, Philips, Siemens,
Nokia,Capital One,BBC,Intuit,Nielsen Media, First
American Real Estate, BMC Software, Ipswitch,
John Deere, Lexis Nexis, Sabre, Salesforce.com,
Time Warner, Turner Broadcasting, Oce
5. Scrum in 100 words
• 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.
6. Putting it all together (EPCR 2.9)
Image available at
www.mountaingoatsoftware.com/scrum
7. Project noise level
Complex
Simple
Anarchy
Complicated
Technology
Far from
Agreement
Requirements
Close to
Agreement
Close to
Certainty
Source: Strategic Management and
Organizational Dynamics by Ralph Stacey in
Agile Software Development with Scrum by
Ken Schwaber and Mike Beedle.
Far from
Certainty
9. The ScrumMaster
• Represents management to the project
• Responsible for enacting Scrum values and
practices
• Ensure that the team is fully functional and
productive
• Enable close cooperation across all roles and
functions
• Removes impediments
• Shield the team from external interferences
10. The team
• Typically 5-9 people
• Cross-functional:
• Programmers, testers, user experience designers, etc.
12. Sprint planning meeting
Sprint prioritization
• Analyze and evaluate product
backlog
• Select sprint goal
Sprint planning
• Decide how to achieve sprint goal
(design)
• Create sprint backlog (tasks) from
product backlog items (user stories
/ features)
• Estimate sprint backlog in hours
Sprint
goal
Sprint
backlog
Team
capacity
Team
capacity
Product
backlog
Product
backlog
Business
conditions
Business
conditions
Current
product
Current
product
TTeecchhnnoollooggyy
13. 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
• High-level design is considered
As As a a vacation
vacation
Code the middle tier (8 hours)
planner, planner, I I want want to
to
Code the user interface (4)
see see photos photos of of the
the
Write test fixtures (4)
hotels.
hotels.
Code the foo class (6)
Update performance tests (4)
14. The daily scrum
• Parameters
• Daily
• 15-minutes
• Stand-up
• Not for problem solving
• Whole world is invited
• Only team members, ScrumMaster, product
owner, can talk
• Helps avoid other unnecessary meetings
15. Everyone answers 3 questions
WWhhaatt ddiidd yyoouu ddoo yyeesstteerrddaayy??
1
WWhhaatt wwiillll yyoouu ddoo ttooddaayy??
2
IIss aannyytthhiinngg iinn yyoouurr wwaayy??
3
• These are not status for the ScrumMaster
• They are commitments in front of peers
16. The sprint review
• Team presents what it accomplished during
the sprint
• Typically takes the form of a demo of new
features or underlying architecture
• Informal
• 2-hour prep time rule
• No slides
• Whole team participates
• Invite the world
17. Sprint retrospective
• Periodically take a look at what is and is not
working
• Typically 15–30 minutes
• Done after every sprint
• Whole team participates
• ScrumMaster
• Product owner
• Team
• Possibly customers and others
19. 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 backlog
20. A sample product backlog
Backlog item Estimate
Allow a guest to make a reservation 3
As a guest, I want to cancel a reservation. 5
As a guest, I want to change the dates of a
reservation. 3
As a hotel employee, I can run RevPAR
reports (revenue-per-available-room) 8
Improve exception handling 8
... 30
... 50
21. The sprint goal
• A short statement of what the work will be
focused on during the sprint
Database Application
Life Sciences
Support features necessary for
population genetics studies.
Financial services
Support more technical indicators
than company ABC with real-time,
streaming data.
Make the application run on SQL
Server in addition to Oracle.
22. Managing the sprint backlog
• Individuals sign up for work of their own choosing
• Work is never assigned
• Estimated work remaining is updated daily
23. Managing the sprint backlog
• Any team member can add, delete or change the
sprint backlog
• Work for the sprint emerges
• If work is unclear, define a sprint backlog item with a
larger amount of time and break it down later
• Update work remaining as more becomes known
24. A sprint backlog
TTaasskkss
Code the user interface
Code the middle tier
Test the middle tier
Write online help
Write the foo class
MMoonn
8
16
8
12
8
TTuueess
4
12
16
8
WWeedd TThhuurr
4
11
8
4
FFrrii
8
8
Add error logging
8
10
16
8
8
26. Code the user interface
Code the middle tier
Test the middle tier
Write online help
Hours
TTaasskkss
40
30
20
10
0
MMoonn
8
16
8
12
TTuueess WWeedd TThhuurr FFrrii
4
12
16
8
10
7
16 11
8
Mon Tue Wed Thu Fri
50
27. A Scrum reading list
• Agile Software Development Ecosystems by Jim Highsmith
• Agile Software Development with Scrum by Ken Schwaber and
Mike Beedle
• Scrum and The Enterprise by Ken Schwaber
• Succeeding with Agile by Mike Cohn
• User Stories Applied for Agile Software Development by Mike Cohn
28. Questions ?
Materials from the presentation can be found on www.mountaingoatsoftware.com. Some adaptations where made.