2. Roshan Venugopal
Certified Scrum Master
With Emdeon since 2008.
Passionate about Scrum, web2.0 and open source
roshan.venugopal@cognizant.com
6/20/2014
2
3. Name of the person on your left
His/her Project
His/her favorite Football team
What brings you here ?
6/20/2014
3
5. 6/20/2014
5
Most companies approach software development as follows:
dream up a project.
set a date for launch
hire a bunch of coders
whip them until they’re half dead.
hire some testers
testers reports bugs
PM blames testers for bugs while reporting ‘green’
Business has no idea what was accomplished
Time passes quickly…Its already 2years
Unfortunately the market has changed and we are out with the
project is technically obsolete
Start over.
6. Concept first discussed by H. Takeuchi
and I. Nonaka in their seminal HBR article
"The New New Product Development
Game“ (Jan 1986)
6/20/2014
6
7. Jeff Sutherland was frustrated by this cycle
and wanted to deploy new products fast
without the ‘death-march’ aspect. He
discovered Scrum in an HBR article and
first implemented it in 1993 at Easel Corp.
6/20/2014
7
8. Other iconoclasts banded together to form
the Agile alliance to promote Agile/Scrum
methodologies.
• Scrum is the management framework for product
development promoted by the alliance.
Agile though based on empirical
experiences borrows from Lean
Manufacturing, Six sigma, Wideband
Delphi etc.
6/20/2014
8
9. We value
Individuals and interactions over processes
and tools
Working software over comprehensive
documentation
Customer collaboration over contract
negotiation
Responding to change over following a plan
6/20/2014
9
11. Process to manage a self organizing team
that uses agile principles to focus on
delivering the greatest business value in
the shortest time.
• Code fast, Release often.
• Time boxing Releases.
• Collaboration with stakeholders.
• Management wrapper for agile engineering
processes.
• Adapt to changing marketplace
6/20/2014
11
12. Value to customer
Collaboration and feedback
Motivated teams
Responsibility and decision making at
lowest level
Work at sustainable pace
Face to face communication
Frequent delivery of working software
Inspect and Adapt
No surprises
6/20/2014
12
16. 6/20/2014
16
Water Fall
Iterative
Scrum
Requirements Code Testing Implementation
Analysis
&
Design
Requirements
Code,
Test
Prototype,
Analysis
Design
Implementation
Prototype,
Analysis
Design
Code,
Test
Some
Requirements
Sprint Sprint Sprint Sprint
17. Google (Adwords. One of the biggest
money making apps in Google’s history)
• Government NASA, VA DMV, BBC, DoD
• Healthcare GE Healthcare
• Manufacturing HP, Siemens, Nokia
• Software Products Microsoft, Electronic Arts,
High Moon Studios
• Finance Capital One, Intuit
Emdeon : Real Time Claiming and
ePayment projects.
6/20/2014
17
20. Sprint is a time boxed build increment (no changes
accepted during a sprint)
Normally lasts for 2-4 weeks
Input Sprint backlog built by the team containing
User Stories/Use Cases ordered by priority.
Output Done User stories and Sprint demo to
Product Owner
Each User story is rated based on importance,
complexity, Feature, time needed.
Every Sprint must deliver atleast one finished
piece of functionality.
6/20/2014
20
22. Cross functional team consisting 5-9 members
Organizes itself and its work
Preferable co-located or must have visual and
voice connection
Plans and creates sprint backlog
Attends daily scrum meeting
Completes all tasks required for a user story
Demos the sprint to Product owner
Chickens and Pigs
6/20/2014
22
24. Plans and creates Product backlog
Decides on release date
Can change Priority and backlog at the
beginning of a sprint.
Attends scrum meetings as needed
Accept or Reject Sprint deliverables
Must have the vision and expertise
6/20/2014
24
26. Organizes planning sessions for Product Owner
and Team
Ensures co-operation inside team across
functions and roles
Removes barriers and external interferences
Plans Daily scrum meetings and Sprint Demos
Product Owner engagement
Servant leader
6/20/2014
26
27. Conducted before the beginning of a sprint
Joint planning by team and Product Owner
Create prioritized backlog of user stories
and tasks for given sprint
Mutually define ‘done’ for the sprint
6/20/2014
27
29. Typically, Sprints have a unique feature or
theme.
Helps focus the PO and Team to a united
goal
Helps manage backlogs
Helps in envisioning the product roadmap
Examples ?
6/20/2014
29
30. Daily 15 min meeting
Only 3 questions to be asked and answered
• What have you done in last 24 hours ?
• What do you plan to do next 24 hours ?
• Any Obstacles ?
Is not a status update to Scrum master or
Product owner
Team will assign task themselves
Only pigs will talk, chickens will listen
Team will co-ordinate the meeting
Scrum Master to resolve obstacles
6/20/2014
30
32. Team demos the Sprint deliverables to
Product owner
Product Owner can accept or reject the
deliverables
Q & A session with team
Demo is actual product demonstration and
not a ppt deck.
6/20/2014
32
33. Q & A session with team
What went wrong
What was done right
Improvements for next sprint
Celebrate sprint success
6/20/2014
33
34. As a <type of user> I want to <action > so that
<Business Value>
Attributes
Size – Use Cases per story
Complexity – H/M/L
Time needed – story points
Priority – Must have/ Good to have
Based on the above, Rank each User story in
the Backlog
6/20/2014
34
35. Exercise
Each team to create 3-4 Business goals to
develop an portal for your football team.
Discuss
6/20/2014
35
36. Product Owner to co-ordinate
Decompose epics to right sized-stories
Prioritize at a theme level
• Kano analysis
• Relative weights
• Net Present Value
6/20/2014
36
37. Calculate the number of days to build a wall
Est. effort req. is 160 man hours
Exercise:
Size the team and estimate the duration.
6/20/2014
37
http://en.wikipedia.org/wiki/The_Mythical_Man-Month
38. Member Portal for Medical Insurance Benefits
As a user I need to view my available benefits
As a user I need to view my claims
As a user I need to call help desk to reset my
password
As a helpdesk analyst I need to edit user
profile
As a Company representative I need to view
the website usage statistics
6/20/2014
38
39. Exercise
Create 10 user stories based on Business
goals
• Prioritize
• Size using Fibonacci scale 1,2,3,5,8,13
• Each user story must be linked to a business goal
• Rank the user stories
• Assume 2 story points per man day
Discuss
6/20/2014
39
40. Member Portal for Medical Insurance Benefits
As a user I need to view my available benefits
• Create a screen for user to register- 8hrs
• Create security features for users when logging- 15
hrs
• Get data feed from eligibility d/b- 2hrs
• Write Ajax code to display member benefits- 12 hrs
• Test screen registration- 1 hr
• Test member benefits display -3 hr
• Test website security -9 hr
6/20/2014
40
42. Preferably displayed in the Scrum room
Must contain all the User stories in the Sprint
backlog
Must contain 3 columns / rows to denote user
stories that have
• Not been started
• Work In Progress
Includes coding complete but testing in progress
• Been completed
Must include only items that has been ‘done’ and no more
work is needed.
6/20/2014
42
43. 6/20/2014
43
To do WIP Done
Task1
Task2
Task3
Task4
Task5
Task6
Task7
Task8
Task9
Sprint 8 is in progress. 6 days left for Demo. Comment on the
taskboard.
45. Rate at which story points were completed
per sprint by a team.
Very useful in estimation and planning for
subsequent sprints.
Used to track effectiveness of Scrum as
velocity increases every sprint.
6/20/2014
45
46. Typically Scrum assumes 5-5.5 hours of
productive work every working day.
Vacations and holidays are included in
planning.
Team decides the available capacity.
Additional specialized capacity has to be
accounted for like DBAs etc.
6/20/2014
46
47. Typically, Sprints have a unique feature or
theme.
Helps focus the PO and Team to a united
goal
Helps manage backlogs
Helps in envisioning the product roadmap
Examples ?
6/20/2014
47
50. XP –eXtreme Programming
Scrum is the management wrapper for XP
XP has a set of rules for engineering
including
• Pair Programming
• Test Driven Development
• Automated unit Tests
• Code Refactoring
6/20/2014
50
51. Agile culture & PMO
Competition
Management Responsibilities
Documentation and Signoffs
Finger pointing
Trust and Openness
6/20/2014
51
52. Planning
• - Don’t plan too ahead. Goals are reached one
step at a time.
• Involve team in planning
Testing in Scrum
• Testing Automation
• Work should be interesting for testers
• TDD – Testing as development activity
6/20/2014
52
53. Development Environment
• Automated unit tests
Common sense items
• Code Review
• Help documentation
• Performance testing
• Defect tracking
Implementation Environment
• Automated builds
6/20/2014
53
55. Its defined as the buildup of small issues
or malfunctions in the code base which
needs corrective action.
Fixing(repaying) this will have not business
benefit but needs to be done else over
time debt gets escalated to unmanageable
levels.
6/20/2014
55
60. Salesforce.com
Top down approach
• Scrum mentor to coach CxOs
• Scrum Center of Excellence
• Coach Scrummasters and Product Owners
• Scrum mentor to assist teams
6/20/2014
60
61. Google.com
Bottom up approach
• Influential developers implement Scrum
• Demonstrate Scrum efficiencies
• Attain critical mass by reaching out to
management
6/20/2014
61
64. Packaged commonsense
Old wine in new bottle
Commercialized and watered down
Newest buzzword
Read ‘Agile Disease’ blog by Luke Halliwell
6/20/2014
64
65. Scrum xp from the trenches
ControlChaos
Mountain Goat Software
Rally software
Infoq.com (look for papers/presentations
on Scrum/Agile)
ScrumAlliance.org (look for
papers/articles/presentations on Scrum)
notesfromatooluser.com
6/20/2014
65
Hinweis der Redaktion
Agile manifesto was created by the Ken, Jeff and others in 2001.
Perhaps the most important Scrum practice. The daily scrum is chance for the team to synchronize and share progress with each other (note the team is not reporting to the Scrum Master). Held near the beginning of the day.
Anyone may attend
Scrum master uses the information from the standup to update burndown chart illustrating progress
Fifteen minutes maximum
Typically held standing up (to encourage brevity and focus)
Gets the team focused for the day ahead. It is the heartbeat of the team.
The team shares information and isn’t reporting to a manager.
Roadblocks are addressed immediately
Possibly the most important practice because it gives you a chance to discover what your team mates are doing and provide help (offline) to solve problems they encounter. Also it encourages the team to communicate breaking down silos.
This is not a design session. Design sessions, code review etc can be held after the Scrum meeting or impromptu as applicable.
Kano analysis- Prof. N Kano.
Classify Product attributes as
Must-be
Attractive
One-dimensional
Indifferent
MoSCoW is a method used to prioritize functional and non-functional software requirements. Originally used as part of the Dynamic Systems Development Method, MoSCoW is an acronym which stands for:
M – Must HaveS – Should HaveC – Could Have W – Won’t Have but Would Like in the Future
Product Backlogs are typically updated after every sprint.
Its important to review this with the team.
Its important to have a completed Product backlog before every Sprint.
Its advisable to have Sprint 0 for initial work like Architecture, Product selection, Product backlog preparation.
Each sub story or story point must be less then 16 hours else it must be broken apart.
This list is locked and no new stories can be added by any one other than the team.
The estimates are just estimates and they can be reworked
Additional tasks if needed will be added by the team
A similar chart is also made for the release called as the release burn down chart.
Notice the blips in the chart. This shows that team re-estimated some tasks or added more tasks and added number of hours to the hours left.
Initial sprints will have reduced velocities as team formation is still ongoing.
Conducted daily
Typically the scrum masters of each team attend but this is not a rule.