scrum 101 - "the scrum guide" - teacher's cut
TRANSCRIPT
SCRUM 101 “THE SCRUM GUIDE”
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
TEACHER’S CUT
ADVANCED TOPICS IN SOFTWARE ENGINEERINGTÓPICOS AVANÇADOS DE ENGENHARIA DE SOFTWARE
Engenharia Informática - 3º ano - 1º semestre Departamento de Engenharia Informática
Escola Superior de Tecnologia e Gestão Instituto Politécnico de Leiria
Catarina Reis [email protected]
reiscatarina
@catarina_reis
SCRUM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PEOPLE AND HISTORY
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
Ken Schwaber Jeff Sutherland
‣ OOPSLA - 1995
‣ “The Scrum Guide” - http://www.scrumguides.org
TheScrumGuideTM
TheDefinitiveGuidetoScrum:TheRulesoftheGame
July2016
DevelopedandsustainedbyKenSchwaberandJeffSutherland
TheScrumGuideTM
TheDefinitiveGuidetoScrum:TheRulesoftheGame
July2016
DevelopedandsustainedbyKenSchwaberandJeffSutherland
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DEFINITION
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.
‣ not a process or a technique for building products —> a framework within which you can employ various processes and techniques.
‣ Scrum Teams and roles, events, artifacts, and rules.
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
THEORY
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
‣ Empirical process control theory
‣ Iterative and incremental approach to optimize predictability and control risk
‣ Three Pillars
‣ Transparency
‣ Inspection
‣ Adaptation
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
VALUES
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
Commitment
Courage
Focus
Openness
Respect
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
THE FRAMEWORK
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT
SPRINT PLANNING
DAILY SCRUM
SPRINT REVIEW
SPRINT RETROSPECTIVE
SPRINT BACKLOG
MONITORING CHARTS
PRODUCT INCREMENT
PRODUCT BACKLOG
PRODUCT OWNER
SCRUM MASTER
DEVELOPMENT TEAM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SCRUM TEAM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
ROLES
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT OWNER SCRUM MASTER
DEVELOPMENT TEAM© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT OWNER
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT OWNER
‣ maximize value of the product and of the development team
‣ one person
‣ respect! development team only works with his requirements
‣ responsible for managing the product backlog • clearly expressing the items • ordering the items • optimising value • product backlog is visible, transparent and
clear to the SCRUM Team© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DEVELOPMENT TEAM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DEVELOPMENT TEAM
‣ professionals who do the work
‣ work == deliver potentially releasable increment of “Done” product
‣ self-organising and cross-functional
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DEVELOPMENT TEAM
‣ no titles! —> everyone is a “developer”
‣ no sub-teams!
‣ accountability belongs to the Development Team (as a whole)
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DEVELOPMENT TEAM
size? “small enough to remain nimble and large enough to complete significant work within a Sprint.”
[3, 9]interaction productivity gains
skill constraints
coordination complexity
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SCRUM MASTER
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SCRUM MASTER
‣ ensuring Scrum is understood and enacted
‣ servant-leader
‣ one person
‣ helps everyone understand and change their interactions with the Scrum Team
‣ maximize value created by the Scrum Team
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SCRUM MASTER
‣ finding techniques for effective product backlog management
‣ clear and concise backlog items
‣ product planning in an empirical environment
‣ arrange product backlog to maximize value
‣ understand agility and practice it!
‣ facilitating scrum events (on demand or when needed)PRODUCT OWNER
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SCRUM MASTER
‣ coaching
‣ self-organising and cross-functional
‣ protecting the team
‣ create high-value products
‣ remove impediments
‣ facilitating scrum events (on demand or when needed)
DEVELOPMENT TEAM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SCRUM MASTER
‣ leading and coaching the Scrum adoption
‣ planning Scrum implementations
‣ helping everyone understand and enact upon Scrum
‣ presenting the productivity increase of the Scrum Team
‣ working to increase the overall effectiveness of the organisationORGANISATION
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SCRUM TEAM
‣ self-organising
‣ cross-functional
‣ deliver products iteratively and incrementally maximising opportunities for feedback
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
EVENTS
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT
SPRINT PLANNING
DAILY SCRUM
SPRINT REVIEW
SPRINT RETROSPECTIVE
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT‣ one month or less
‣ creation of potentially releasable product increment - SPRINT GOAL
‣ no changes that endanger the sprint goal allowed
‣ scope clarified (and re-negotiated) as the work evolves
‣ contains all other events© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT‣ sprints have equal durations during
development
‣ sprint ends >>> new sprint begins
‣ quality goals (keep)
‣ enable predictability
‣ limit risk
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINTCANCELLED
‣ whom? Product Owner
‣ why? Sprint Goal becomes obsolete
‣ traumatic and very uncommon
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT PLANNING
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT PLANNING
‣ maximum of 8 hours (to a 1 month Sprint)
‣ plan the work to be performed in the Sprint
‣ collaboration of the entire Scrum Team
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT PLANNING
‣ Development Team
‣ forecasts the functionality to develop in the Sprint
‣ Product Owner
‣ proposes the Sprint Goal by selecting the Product Backlog items
INPUTS
• Product Backlog
• Latest Product Increment
• Projected capacity of Development Team
• Past performance of Development Team
OUTPUT
SPRINT GOAL
What can be done this Sprint?
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT PLANNING
‣ Development Team
‣ designs the system and the work to produce a product increment
‣ decomposes work to units of 1 day or less (tasks)
‣ external assistance
‣ Product Owner
‣ helps to clarify the items and makes trade-offs
INPUTS
• Product Backlog Items for the Sprint
• Sprint Goal
OUTPUT
SPRINT BACKLOG
How will the chosen work get done?
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DAILY SCRUM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DAILY SCRUM
‣ 15 minute time-boxed event
‣ held at the same time and place each day
‣ Development Team synchronises
‣ Inspecting the work since the last Daily Scrum
‣ Forecasting the work to be done before the next Daily Scrum
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
‣ What did I do yesterday that helped the Development Team meet the Sprint Goal?
‣ What will I do today to help the Development Team meet the Sprint Goal?
‣ Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal?
DAILY SCRUM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT REVIEW
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT REVIEW
‣ maximum of 4 hours (to a 1 month Sprint)
‣ held at the end of each Sprint
‣ presentation of the Increment to elicit feedback and foster collaboration
‣ attendees: Scrum Team and invited stakeholders
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT REVIEW
INPUTS
• Product Backlog Items - “Done” or !”Done”
• Product Increment
OUTPUT
PRODUCT BACKLOG - REVISED
‣ Development Team
‣ demonstrates the Product Increment
‣ Product Owner
‣ explains the Product Backlog status
‣ ALL: revise the Product Backlog
Collaboration
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT RETROSPECTIVE
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT RETROSPECTIVE
‣ maximum of 3 hours (to a 1 month Sprint)
‣ held at the end of each Sprint Review
‣ Scrum Team
‣ Inspects how the last Sprint went with regards to people, relationships, process, and tools
‣ Identifies and orders the major items that went well and potential improvements
‣ Creates a plan for implementing improvements© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
‣ create regularity and minimize the need for meetings
‣ time-boxed events (maximum duration)
‣ formal opportunity to inspect and adapt
‣ enable transparency
EVENTS
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
ARTIFACTS
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT BACKLOG
MONITORING CHARTS
PRODUCT INCREMENT
PRODUCT BACKLOG
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT BACKLOG
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT BACKLOG ‣ ordered list of items
‣ everything that might be needed in the product
‣ single source of requirements
‣ never complete ‣ first layouts the initially known and well understood
requirements
‣ evolves with the product and with the surrounding environment - dynamic
PRODUCT OWNER
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT BACKLOG ‣ lists all features, functions, requirements,
enhancements and fixes of the product
‣ each item has a description, order, estimate and value (and occasionally, a group)
‣ living artifact
PRODUCT OWNER
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT BACKLOG ‣ adding detail, estimates and order to the items
‣ ongoing process
‣ items reviewed and revised
‣ when? Scrum Team decides - no more than 10%
‣ “Ready” implies that a item can be selected for a Sprint to be “Done” (enough detail is included)
PRODUCT OWNER
Refinement
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
MONITORING CHARTS
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
MONITORING CHARTS
‣ burndowns / burnups /cumulative flow
‣ compare the amount of work done and the remaining
‣ improve transparency
“In complex environments, what will happen is unknown. Only what has happened may be used for forward-looking decision-making.”
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT BACKLOG
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT BACKLOG
‣ forecast of the functionality included in the next product increment
set of Product Backlog items selected for the Sprint +
a plan for delivering the product Increment and realising the Sprint Goal
‣ highly visible, real-time picture of the work to be accomplished during the Sprint
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT BACKLOG
DEVELOPMENT TEAM
DURING THE SPRINT
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT INCREMENT
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT INCREMENT
‣ sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints
‣ must be “Done” at the end of a Sprint
‣ must be in a useable condition (meet the “Definition of Done”) regardless of the Product Owner’s acceptance
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
‣ represent work or value
‣ provide and maximize transparency
‣ provide opportunities to inspect and adapt
ARTIFACTS
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
DEFINITION OF DONE
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
‣ everyone must understand what “Done” means
‣ used to assess that the work is complete on the product increment
‣ varies from team to team
‣ each Increment is additive to all prior Increments and thoroughly tested, ensuring that all Increments work together
DEFINITION OF “DONE”
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
SPRINT
SPRINT PLANNING
DAILY SCRUM
SPRINT REVIEW
SPRINT RETROSPECTIVE
SPRINT BACKLOG
MONITORING CHARTS
PRODUCT INCREMENT
PRODUCT BACKLOG
PRODUCT OWNER
SCRUM MASTER
DEVELOPMENT TEAM
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT OWNER SCRUM MASTER
DEVELOPMENT TEAM© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT OWNER SCRUM MASTER
DEVELOPMENT TEAM© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017
PRODUCT OWNER SCRUM MASTER
DEVELOPMENT TEAM© Catarina Reis Advanced Topics in Software Engineering - ESTG - IPLeiria - 2016/2017