Вы находитесь на странице: 1из 125

Certified ScrumMaster

Michel Goldenberg

Is Scrum an acronym?
Acronym?
Name refers to a Rugby Scrum where adaptive team behavior moves a ball up the field toward a common goal

Michel Goldenberg

Scrum Introduction
Scrum is not a methodology that will make you develop better products; Scrum does not provide the answers to how to build quality software faster; Scrum is a tool, a framework, you can use to find out what you need to do to build quality software faster. Scrum does not require team collocation; However, with Scrum, you can measure the productivity of collocation.
Ken Schwaber (Scrum But)
Michel Goldenberg 3

Basic Scrum glossary


Product owner responsible for maximizing value of the product;

Scrum master coach facilitates the process and productivity;


The Team Multi-functional (includes testers, architect); Product backlog emerging, prioritized list of user stories;

Sprint a thirty day iteration resulting in functionality;


Sprint backlog list of tasks to be completed to turn the backlog into working functionality during the sprint; Sprint planning and Sprint Review Meeting; Increment a piece of potentially shippable product built during every sprint; Daily scrum standup status meeting.
Michel Goldenberg 4

Scrum is like the Mother-In-Law


The person who knew that her son/daughter could have married better, and who intends to help you be good enough. You have just invited her to come live with you.

Michel Goldenberg

Certification Levels
The Scrum Alliance certification program bridges the gap between theory and practice. The journey to mastery begins with a Certified ScrumMaster or Certified Scrum Product Owner course. These courses provide a solid foundation to help you make the paradigm shift to managing a project using Scrum.

As shown in the flow chart, a CSM or CSPO course is essential for moving toward the more advanced certifications of Certified Scrum Practitioner, Certified Scrum Coach, and Certified Scrum Trainer.

Michel Goldenberg

What is Scrum?
Scrum is an agile framework 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 to four weeks (Sprints); The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features. In every sprint, anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
Michel Goldenberg 7

Scrum
Empirical process for managing the development and deployment of complex products; Empiricism is dependent on frequent inspection and adaptation to reach goal; Inspection is dependent on transparency; Scrum rests on the four legs of iterative development that generates done increments of functionality using self-managing teams that are cross-functional.
Ken Schwaber
Michel Goldenberg 8

Scrum is a tool that you can use to:


Increase productivity; Increase predictability; Increase risk management capabilities; Increase the value of products and systems; Increase quality; Improving the morale and pleasure of the developers, product managers, customers and stakeholders.
Michel Goldenberg 9

Agile Methods
Scrum Ken Schwaber, Jeff Sutherland Extreme Programming (XP) Kent Beck, Ward Cunningham, Ron Jeffries Crystal Alistair Cockburn Lean Software Development Mary Poppendieck Dynamic System Development Method (DSDM) Dane Faulkner Adaptive Software Development (ASD) Jim Highsmith Feature Driven Development (FDD) Jeff DeLuca Others?
Michel Goldenberg 10

Agile Manifesto
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to 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 That is, while there is value in the items on the right, we value the items on the left more.

Michel Goldenberg

11

Agile Manifesto Principles (1)


Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Michel Goldenberg

12

Agile Manifesto Principles (2)


Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Michel Goldenberg 13

Agile rules of etiquette (examples)


Avoid to use the word "you" because the other person may feel on the spot and defensive; Avoid to refer to history (e.g., "three months ago, you said...!"); Be on time for meetings; if you are late, apologize and pay a late "penalty "; Use a talking stick; Everyone's opinion is important and needs to be understood and taken into account; Remember: Feelings are Facts; Know and appreciate other personality type preferences; Etc

Michel Goldenberg

14

Scrum origins
Jeff Sutherland:

Initial scrums at Easel Corp in 1993; IDX and 500+ people doing Scrum.

Ken Schwaber:

ADM; Scrum presented at OOPSLA 96 with Sutherland; Author of three books on Scrum.
Scrum patterns in PLOPD4. Co-founded Scrum Alliance in 2002,initially within the Agile Alliance.
Michel Goldenberg 15

Mike Beedle:

Ken Schwaber and Mike Cohn:

Scrum 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.
Mike Cohn
Michel Goldenberg 16

Project noise level


Far from Agreement

Requirements

Anarchy Complex

Close to Certainty

Technology
Michel Goldenberg

Far from Certainty

Close to Agreement

Simple

Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

17

Traditional Waterfall

Analysis

Design

Develop

Test

Deploy

Michel Goldenberg

18

Agile Value Profile


Delivers value only at the end
Waterfall

Analysis

Design

Develop

Test

Deploy

Stories Remaining

Delivers value Delivers value at every at every release


Sprint 1 Sprint 2 Sprint 3 Sprint 4

Scrum

Release 1

Sprint 6

Release 2

7 8

11

12

13

14

Time Michel Goldenberg 19

R4

Defined Process Control


The defined process control model requires that every piece of work be completely understood. Given a well-defined set of inputs, the same outputs are generated every time. A defined process can be started and allowed to run until completion, with the same results every time
Michel Goldenberg 20

Empirical Process Control


Complex problems are those that behave unpredictably Not only are these problems unpredictable, but even the ways in which they will prove unpredictable are impossible to predict When defined process control cannot be achieved because of the complexity of the intermediate activities, something called empirical process control has to be employed For many years software development methodologies have been based on the defined control model. But software development isnt a process that generates the same output every time given a certain input.

Michel Goldenberg

21

Empirical and Defined Process


Defined process assumes Consistent input and consistent process steps yield a definable output
Do we ever have the same inputs? Is every task ever completely understood? Can we expect predictable output?

Inputs

Process

Output

Empirical process assumes Assumes inputs and process steps will vary each time yielding an unpredictable outcome Inspect and Adapt

Inputs

Process

Output

Adapted from the Oobeya Group, LLC 2008

Michel Goldenberg

22

From Plan Driven to Value-Driven Development


Waterfall
The Plan creates cost/ schedule estimates

Agile
The Vision creates feature estimates Cost Schedule

Fix These

Features

VALUE/VISION DRIVEN PLAN DRIVEN

Estimate These

Cost

Schedule

Features

Michel Goldenberg

23

Scrum Elevator Pitch


Scrum: A team-based framework to develop complex systems and products.
Scrum is an iterative, incremental framework for developing any product or managing any work. It allows teams to deliver a potentially shippable set of functionality every iteration, providing the agility needed to respond to rapidly changing requirements. The Scrum framework constantly challenges its users to focus on improvement, and its Sprints provide the stability to address the ever-changing needs that occur in any project.

Michel Goldenberg

24

Scrum Framework

Michel Goldenberg

25

Why Scrum?
Improve ROI(Return Of Investment):
Traditional methods take too long to satisfy business needs; Earlier delivery yields earlier ROI.

Flexibility:
Respond to changing business requirements; Respond to changing technical landscape.

Product Quality:
Deliver the right product (the first time); Deliver fewer defects (test early; test often).

Visibility:
Measure of progress = completed product;

Rapid Feedback:
Get frequent feedback from customer, stakeholders, team members.
Michel Goldenberg 26

Team Focused
Three roles: Product Owner, ScrumMaster, Team Member;
This means taking on a broader set of tasks than in a role-based organization.

Each individual brings skills and experience to the team; The teams self-organize to determine how to best apply the people on the team to achieve the goals of the project; Low ceremony, simple set of rules; High discipline needed because of time boxes.

Michel Goldenberg

27

Time Box Everything


Daily scrum in minutes; Tasks in hours; Time between daily meeting is just one day; Sprint length are one to four weeks.

Michel Goldenberg

28

3 Roles

ScrumMaster

Team

Product Owner

Michel Goldenberg

29

The Product Owner


The single wringable neck Ken Schwaber

Michel Goldenberg

30

The Product Owner


Responsible for representing the interests of everyone with a stake in the project and its resulting product Achieves initial and ongoing funding for the project by creating: Initial overall requirements Return on investment objectives Release plans dates and content Responsible for using the Product Backlog to ensure that the most valuable functionality is produced first and built upon This is achieved by frequently prioritizing the Product Backlog to queue up the most valuable requirements for the next sprint

Michel Goldenberg

31

The Product Owner


The Product Owner represents the customers vision of the product Often IS the customer OWNS the Product Backlog Should provide one voice to the team Participates in test planning Defines overall product goals and vision Maintains enough detail in the Product Backlog to support the next level of planning Accepts or rejects work results

Michel Goldenberg

32

The Product Owner


Define the features of the product; Decide on release date and content; Be responsible for the profitability of the product (ROI); Prioritize features according to Business value; Adjust features and priority every iteration, as needed; Accept or reject work results.
Michel Goldenberg 33

The ScrumMaster
The sheepdog for the team Ken Schwaber

Michel Goldenberg

34

ScrumMaster
Responsible for knowing the Scrum readiness of the team

and the organization Ensures that the Scrum process is followed Educates the team and Product Owner Educate others outside the team about how the team is working Ensures that the team is fully functional and productive Enables close cooperation across all roles and functions Shields the team from external interferences Removes impediments Servant Leader
Michel Goldenberg 35

ScrumMaster Skills
Leading
Learn to lead (it does not always come naturally)

Facilitating
Enhancing communications always, everywhere Meetings, one-on-one, in the team, between teams, across the organization, management/executive Get a facilitation toolkit Read, practice, improve

Fostering self-directed/organizing teams by:


Asking questions Listening Observing
Michel Goldenberg 36

Servant Leader
What is a servant leader? Unlike leadership approaches with a top-down hierarchical style, Servant Leadership instead emphasizes Collaboration Trust Empathy and the ethical use of power At heart, the individual is a servant first, making the conscious decision to lead in order to better serve others, not to increase their own power. The objective is to enhance the growth of individuals in the organization and increase teamwork and personal involvement.

Michel Goldenberg

37

Servant Leadership
Characteristics of Servant-Leaders, Traits (Greenleaf, R.K. 2003) Listening Empathy Healing Awareness Persuasion Conceptualization Foresight Stewardship Commitment to the growth of people Building community

Michel Goldenberg

38

Servant-leadership Discussion
Discussion Form into groups Discuss how servant-leadership differs from traditional leadership styles What benefits do you see? What challenges do you see? Report back to the class

Michel Goldenberg

39

The ScrumMaster
Represents management to the project; Responsible for enacting Scrum values and practices; Removes impediments; Ensure that the team is fully functional and productive; Enable close cooperation across all roles and functions; Shield the team from external interferences;
Michel Goldenberg 40

The Team

Michel Goldenberg

41

Development Team
Cross-functional; 5 to 9 members; Commits to deliver the Sprint Backlog; Selects the sprint goal and specifies work results; Organizes itself and its work; Self organizing and self-managed; Demos work results to the Product Owner.
Michel Goldenberg 42

Self-Directed Teams
A self-directed team differs from a traditional work group by taking full advantage of all team members talents, skills, abilities, ideas, and experiences

Succeeding As A Self-Managed Team Chang and Curtin

Michel Goldenberg

43

Self-Directed Teams
In traditional work groups, members often do not have the opportunity to express their ideas because management usually makes the decisions Even if members know a better way to get the job done! Although traditional work groups can be highly effective with the right dynamics, in reality there are often limitations It doesnt make full use of each group members talent, experience, knowledge, common sense, and It DOESNT encourage teamwork! This can be wasteful and ineffective It wastes the brainpower, experience, abilities, and practical knowledge of those who actually produce and deliver the organizations products and services
Succeeding As A Self-Managed Team Chang and Curtin

Michel Goldenberg

44

Self-Directed Teams
Self-directed teams are quite different from traditional work groups Employees need to learn new skills (or use existing skills differently) to succeed as members of a self-managed team These skills involve performing multiple work assignments They also involve new ways of interacting with each other and with people outside the team

Succeeding As A Self-Managed Team Chang and Curtin

Michel Goldenberg

45

Self-Directed Teams
Skills that contribute to the success of self-managed teams: Leadership; Communication; Process improvement; Team dynamics; Project management; Conflict management; Consensus decision making; Peer coaching and feedback; Group problem solving; Interpersonal.

Michel Goldenberg

46

Self-Directed Teams
Team members must also have certain individual abilities However, these abilities are not job skills because they are often subjective and emotional in nature They are personal decisions and choices. They include a WILLINGNESS to: Accept change Try new things Take on more responsibilities Be held accountable for results Take action, instead of waiting to be told what to do Act in the best interests of the team rather than oneself Work responsibility without the need for supervision Help other team members succeed Take risks Be open-minded
Succeeding As A Self-Managed Team Chang and Curtin

Michel Goldenberg

47

The team
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.


Michel Goldenberg 48

Pigs and Chickens


Pigs and Chickens Ken Schwaber

Pigs are fully committed (Delivery Team, Product Owner, ScrumMaster) Chickens can make contributions Only the fully committed can speak in the daily scrum Contributors only get to observe the daily scrum They are active contributors in Planning and Review meetings
Michel Goldenberg 49

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 50

Vision

Michel Goldenberg

51

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 52

Preparation for Action


Product Owner, ScrumMaster and the Team work together to:
Define the product vision and product roadmap; Identify the user roles; Derive the product themes; Define the user stories; Estimate the user stories. Others
Michel Goldenberg 53

Others
Indentify:
the risks; Issues; Dependencies; Integration areas;

The Team:
Set up and validate environments; Identify initial definition of done; Identify Initial system and architecture requirements.

Etc
Michel Goldenberg 54

Product Vision and Product Roadmap


Product Vision Ken Schwaber What can those funding the project expect to have changed when the project is finished? What progress will have been made by the end of each Sprint? Why should these people fund us, and why should they believe that we can deliver the predicted benefits? Product Roadmap A high-level representation of what features or themes are to be delivered in each release, the customer targeted, the architecture needed to support the features, and the business value the release is expected to meet
The Software Project Managers Bridge to Agility - Sliger and Broderick

Michel Goldenberg

55

The Product Backlog


As a Team Member, I want to work in a great team As a Product Owner, I want to the best ROI. As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. As a Product Owner, I want to the best ROI. As a CSM, I want to As a CSM, I want to have a senior Team. have a senior Team. As a Product Owner, I As a CSM, I want to want to the best ROI. have a senior Team. As a Product Owner, I As a CSM, I want to As a Product Backlog, want to the best ROI. have a senior Team. As a Team Member, I want to change all As a Team Member, I want to work in a the time that is need, As a Product Backlog, As a Team Member, I want to work in a want to work in a great team to be able to become I want to change all great team great team a great product. the time that is need, to be able to become As a CSM, I want to a great product. As a Product Backlog, have a senior Team. I want to change all the time that is need, As a Product Owner, I to be able to become As a I Member, I a great product. As a CSM, I want As a Team Member, Teamwant to the best ROI. As a Product Owner, I to want to work inwant to work in a a want to the best ROI. have a senior Team. great team great team As a Product Backlog, As a Product Owner, I I want to change all want to the best ROI. the time that is need, to be able to become As a CSM, I want to a great product. As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. have a senior Team. As a Product Owner, I As a Team Member, I want to the best ROI. want to work in a great team As a Product Backlog, I want to change all the time that is need, to be able to become a great product. As a Product Owner, I want to the best ROI. As a Team Member, I As a Team Member, I want to work in a want to work in a great team great team

Michel Goldenberg

56

Product Backlog
A prioritized list of functional and nonfunctional requirements and features to be developed with items of most business value and/or risk listed first. The product backlog items of highest priority are granular enough to be readily understood by the Scrum Team and developed into an increment within a sprint. Lower priority product backlog items are progressively less well-understood and granular. This list transcends any one release and is constantly emerging and changing.
As a Product Owner, I want to the best ROI. As a CSM, I want to have a senior Team. As a Product Backlog, As a Team Member, I want to work in a I want to change all great team the time that is need, As a Team Member, I to be able to become As a Team Member, I want to work in a a great product. in a want to work great team great team As a Product Owner, I As a Teamwant to the best ROI. Backlog, Member, As a Product I want to work in a I want to change all the time that is need, great team As a Product Backlog, to be able to become I want to change all a great product. the time that is need, to be able to become a great product. As a CSM, I want to As a Team Member, I have a senior want to work in As a CSM, I want to Team. a great team have a senior Team.

As a Product Owner, I As a Team Member, I ROI. want to the best As a Team Member, I want to work in a want to work in a great team great team

Michel Goldenberg

57

Product Backlog
Product backlog items (PBI) or Stories are further into the future can be larger; Each PBI should be described in just enough detail that the team can complete it in one sprint:
May attach things like:
User interface designs Mathematical algorithms Tests

Strive to describe items as briefly as possible


Ken Schwaber and Mike Cohn

Michel Goldenberg

58

Product Backlog Iceberg


Continuous Refinement

Sized for a Sprint Release

Priority

Theme
Epic

Future Releases
A theme is a collection of related backlog items An Epic is a large backlog item

User Stories
Michel Goldenberg 59

Sample Product Backlog


User Story
As a new player, I can create an account As an existing player, I can log in to play a game As a player, I can reset my password As an administrator, I can view account records As a player, I can choose from a list of all games in order to choose which I want to play As a player, I can deposit my winnings in the system bank in order to use them later As a player, I can transfer my winnings to my real bank account

Priority
H H M M M H H

Estimate
8 5 3 3 2 5 13

Michel Goldenberg

60

User Stories
User Stories: As a <actor>, I would like to <action>, so that <value>. Attributes: Size (points, ideal days), Business Value ($, H/M/L), Functional area, etc.; Conditions of Satisfaction. Use a simple declarative statement of function that follows the INVEST model: Independent; Negotiable; Valuable to users or customers; Estimatable; Small; Testable.
As a Team Member, I As a Team Member, I want to work in a want to work in a great team great team As a Team Member, I want to work in a great team As a CSM, I want to As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. have a senior Team. As a Team Member, I want to work in a great team

Michel Goldenberg

61

Where Do User Stories Come From?


Any existing description of requirements; Existing Use Cases; Business architecture Brainstorming by Product Owner, Team and any other stakeholders; Decomposition of large features: Along data boundaries; Along activity boundaries; Make it work first, optimize it later.

Michel Goldenberg

62

User Story Workshop


Common approach to brainstorming; Team members write ideas on cards or sticky-notes: Use a board or table, read aloud to avoid duplication; Consider different user role viewpoints. Group by common themes; Watch for duplication across user roles: e. g. all users need a log-in screen.

Michel Goldenberg

63

User Roles
Who will use this product? First step toward user stories; Brainstorming workshop, PO and Team: Generic user; Specialty users; Administrators; New Users; Read-only users.

Michel Goldenberg

64

System and Programmer Users


As a payment verification system, I want all transactions to be well-formed XML.

As a programmer, I want an API for deleting widgets from the database.

Michel Goldenberg

65

User Stories in the Backlog - CCC


Card
Written on 3x5 index cards May be annotated with estimates, notes, etc

Conversation

A reminder to have a conversation Represent requirements not document them Details come out during conversation

Confirmation
Ron Jeffries www.xprogramming.com

Acceptance tests to confirm story was coded correctly Documents the details of the conversation
Michel Goldenberg 66

User Story Template

Optional

As a <user role>, I want to <functionality> so that <value>.

Michel Goldenberg

67

Sample User Stories


As a user, I want to reserve a seat in a Texas Holdem Tournament. As a user, I want to deposit real money into my account.

As an addicted gambler, I want links to self-help sites so that I can get control of my habit.

As a High Roller, I want poker tables with $10K max bets.


68

Michel Goldenberg

Details as Conditions of Satisfaction

As a user, I want to reserve a seat in a Texas Holdem Tournament.

(back) Verify a the same user cannot reserve more than one seat at the same tourney Verify the user can cancel their reservation up to the start of the tourney Verify the user receives an email confirmation etc

Michel Goldenberg

69

Details added by splitting stories


As a user, I can reserve a seat in a Texas Holdem Tournament up until the last second prior to its beginning.

As a user, I want to reserve a seat in a Texas Holdem Tournament.

As a user, I want an email confirmation of my Texas Holdem Tournament reservation.


Michel Goldenberg 70

The Business Value


As a Team Member, I want to work in a great team As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. As a Product Owner, I want to the best ROI. As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team.

As a CSM, I want to have a senior Team.

As a Team Member, I want to work in a great team

As a Product Backlog, I want to change all the time that is need, to be able to become a great product.

As a CSM, I want to have a senior Team.

As a Team Member, I want to work in a great team

As a Product Owner, I want to the best ROI.

As a Team Member, I want to work in a great team

As a Product Owner, I want to the best ROI.

As a Product Owner, I want to the best ROI.

As a Product Owner, I want to the best ROI.

As a CSM, I want to have a senior Team.

As a Team Member, I want to work in a great team

As a Product Owner, I want to the best ROI.

As a Product Backlog, I want to change all the time that is need, to be able to become a great product.

As a CSM, I want to have a senior Team.

As a Product Backlog, I want to change all the time that is need, to be able to become a great product.

As a Team Member, I want to work in a great team

As a Team Member, I want to work in a great team

As a Product Backlog, I want to change all the time that is need, to be able to become a great product.

As a Product Owner, I want to the best ROI.

As a Product Owner, I want to the best ROI.

As a Team Member, I want to work in a great team

As a Product Owner, I want to the best ROI.

As a Team Member, I want to work in a great team

As a Product Backlog, I want to change all the time that is need, to be able to become a great product.

As a CSM, I want to have a senior Team.

As a CSM, I want to have a senior Team.

As a CSM, I want to have a senior Team.

Michel Goldenberg

71

Getting the ROI


As a Product Backlog, I want to change all the time that is need, to be able to become a great product.

As a CSM, I want to have a senior Team.


As a Product Backlog, I want to change all the time that is need, to be able to become a great product. As a Product Owner, I want to the best ROI. As a Product Owner, I want to the best ROI.

As a CSM, I want to have a senior Team.

As a Product Owner, I want to the best ROI.

Business Value

As a Product Owner, I want to the best ROI.

As a Team Member, I want to work in a great team

As a Team Member, I want to work in a great team As a CSM, I want to have a senior Team.

As a Team Member, I want to work in a great team

As a CSM, I want to have a senior Team.

As a Product Owner, I As a Product Owner, I want to the best ROI. want to the best ROI.

As a Product Owner, I want to the best ROI.

As a CSM, I want to have a senior Team.

Complexity
Michel Goldenberg 72

High ROI

As a Team Member, I want to work in a As great team a Product Owner, I want to the best ROI. As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. As a Team Member, I want to work in a As great team a CSM, I want to have a senior Team. As a Team Member, I As a Product Backlog, want to workI in a to change all want great team time that is need, the to a Product become As be able to Backlog, As a Product Owner, I a great I want product. want to the best ROI. to change all the time that is need, to a Product become As be able to Backlog, As a CSM, I want to a great I want product. have a senior Team. to change all the time that is need, to be I As a Team Member,able to become aa want to work in great product. As great team a Product Owner, I As a Product Backlog, want to the best ROI. I want to change all the time that is need, As a Product Owner, I to be able to become want to the best ROI. As a great product. I a Team Member, want to work in a As great team a Product Owner, I want to the best ROI. As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. As a Team Member, I want to work in a As great team a CSM, I want to have a senior Team. As a Team Member, I As a Product Backlog, want to workI in a to change all want great team time that is need, the to a Product become As be able to Backlog, As a Product Owner, I a great I want product. want to the best ROI. to change all the time that is need, to a Product become As be able to Backlog, As a CSM, I want to a great I want product. have a senior Team. to change all the time that is need, to be I As a Team Member,able to become aa want to work in great product. As great team a Product Owner, I As a Product Backlog, want to the best ROI. I want to change all the time that is need, As a Product Owner, I to be able to become want a great product. to the best ROI.

Should be Done

Nice To have

To Avoid

Low ROI
Michel Goldenberg

73

73

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 74

Release Planning
Release planning is the process of creating a high-level plan that determines how much must be developed and how many Sprints it will take before there is a releasable product. The release plan includes: A goal for the release A prioritized set of stories/features/product backlog items that will be developed in the release A relative estimate for each story in the release The sprints that make up the release A date for the release (Can be an internal or external release) Simply a line in the product backlog that indicates something will be released
Michel Goldenberg
75

As a Team Member, I want to work in a As great team a Product Owner, I want to the best ROI. As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. As a Team Member, I want to work in a As great team a CSM, I want to have a senior Team. As a Team Member, I As a Product Backlog, want to workI in a to change all want great team time that is need, the to a Product become As be able to Backlog, As a Product Owner, I a great I want product. want to the best ROI. to change all the time that is need, to a Product become As be able to Backlog, As a CSM, I want to a great I want product. have a senior Team. to change all the time that is need, to be I As a Team Member,able to become aa want to work in great product. As great team a Product Owner, I As a Product Backlog, want to the best ROI. I want to change all the time that is need, As a Product Owner, I to be able to become want to the best ROI. As a great product. I a Team Member, want to work in a As great team a Product Owner, I want to the best ROI. As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. As a Team Member, I want to work in a As great team a CSM, I want to have a senior Team. As a Team Member, I As a Product Backlog, want to workI in a to change all want great team time that is need, the to a Product become As be able to Backlog, As a Product Owner, I a great I want product. want to the best ROI. to change all the time that is need, to a Product become As be able to Backlog, As a CSM, I want to a great I want product. have a senior Team. to change all the time that is need, to be I As a Team Member,able to become aa want to work in great product. As great team a Product Owner, I As a Product Backlog, want to the best ROI. I want to change all the time that is need, As a Product Owner, I to be able to become want a great product. to the best ROI. As a Team Member, I want to work in a As a Product Owner, I great team to the best ROI. want As a Product Owner, I As a Product Backlog, want to the best ROI. I want to change all the time that is need, Asto Product to become a be able Backlog, a great product. I want to change all the time that is need, As a CSM, I want to to be able to become have a senior Team. product. a great As a Team Member, I want to work in a great team As a Team Member, I want to work in a As a Team Member, I As great team a CSM, I want to want to work in a have a senior Team. great team As a CSM, I want to have a senior Team.Product Owner, I As a As a Product Backlog, wantIto the best ROI. As a Team Member, As a Product Owner, I to change all I want want to As a Product Backlog, work in a want to the best ROI. that is need, the time great team I want to change all As to become to that isa Product Backlog, the time be ableneed, change all want to a to Ibecome product. to be able great time that is need, the As a CSM, I want to a great product. As a Product Owner, I to have a senior Team. be able to become want a great product. to the best ROI.

Release Planning Meeting

Release Plan

Sprint 1

Sprint 2

Sprint 3 to N

As a CSM, I want to have a senior Team. As a CSM, I want to have a senior Team. As a Team Member, I want to work CSM, I want to As a in a great have a senior Team. team

Michel Goldenberg

76

Estimation
Estimate Size; Derive Duration Story Points Unit of measure for expressing the overall size of a user story, feature, or other piece of work Relative values Ideal Team Days Differs from elapsed time Velocity Measure of a teams rate of progress

Michel Goldenberg

77

Story Points
The Size of a user story or backlog item; Influenced by:
How hard it is; How much of it there is.

Relative values:
A login screen is a 2; A payment feature is an 8; A 2 takes twice as long as a 1.

Points are unit-less:


Sequence of numbers
Fibonacci sequence (0,1,2,3,5,8,13, 21.).

Tee shirt sizes;


Michel Goldenberg 78

Ideal Time
How long something would take if:
its all you worked on; you had no interruptions; and everything you need is available.

The ideal time of a football game is 60 minutes:


Four 15-minute quarters.

The elapsed time is much longer (3+ hours).

Michel Goldenberg

79

Comparing the approaches


Story points help drive cross-functional behavior Story point estimates do not decay Story points are a pure measure of size Estimating in story points is typically faster My ideal days cannot be added to your ideal days Ideal days are easier to explain outside the team Ideal days are easier to estimate at first

Michel Goldenberg

80

Planning Poker

Michel Goldenberg

81

Validating the estimation


3 pts

As a Team Member, I want to work in a great team

As a Team Member, I want to work in a great team

As a CSM, I want to have a senior Team.

After the Planning poker, we need to look back to all the Stories that we estimated Triangulation is the best way to know if we did a good planning poker or not

As a Product Backlog, I want to change all the time that is need, to be able to become a great product.

As a CSM, I want to have a senior Team.

2 pts
As a Product Owner, I want to the best ROI.

As a Team Member, I want to work in a great team

As a CSM, I want to have a senior Team.

1 pt
As a Team Member, I want to work in a great team

Michel Goldenberg

82

Velocity
To do a release plan, you need to know or have an estimate of velocity; Three ways to get velocity:
Use historical averages; Run 1-2 iterations and see what you get; Forecast it.

Should be expressed as a range:


Size of range depends on familiarity of team, domain, and technologies.
Michel Goldenberg 83

Definition of Done
Does your team know their definition of done? Discuss what done means to your organization and report back to the class Why is it so important?
Example Definition of Done
Code produced (all 'to do' items in code completed) Code commented, checked in and run against current version in source control Peer reviewed (or produced with pair programming) and meeting development standards Builds without errors Unit tests written and passing Deployed to system test environment and passed system tests Passed UAT (User Acceptance Testing) and signed off as meeting requirements Any build/deployment/configuration changes implemented/documented/communicated Relevant documentation/diagrams produced and/or updated Remaining hours for task set to zero and task closed

http://www.agile-software-development.com/2007/07/definition-ofdone-10-point-checklist.html Michel Goldenberg 84

Estimate Size Derive Duration


Size Calculation Duration

300 Story Points

Velocity = 20

300/20 = 15 Sprints

Michel Goldenberg

85

Using Velocity and Estimates


21 23 35 85 55 13 13 8 13 58 13 21 13 21 21 13 21 100
Highest Priority

At our slowest velocity well finish here At our current velocity well finish here At our long-term average well finish here

Lowest Priority

Michel Goldenberg

86

Variation in Backlog Decomposition


Short term plan needs more detail Longer term plan can tolerate more uncertainty

Release 1
Michel Goldenberg

Release 2
87

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 88

Sprint Planning meeting Team Capacity

Sprint Priorization Analyze and evaluate product backlog Select sprint goal Sprint Planning

Sprint Goal

Product Backlog

Business Condition
Current Product Velocity

Decide how to achieve sprint goal (design) Create sprint backlog (tasks) from product backlog items (user stories / features) Estimate sprint backlog in hours

Sprint Backlog

Michel Goldenberg

Mike Cohn

89

Sprint Planning
Team selects items from the product backlog based in the team capacity; Sprint backlog is created:
The Stories are decomposed on Tasks; Each Task is estimated (1-16 hours); Collaboratively, not done by the ScrumMaster.

The Team discus the high-level design.

As a vacation planner, I want to see photos of the hotels.

Code the middle tier (8 hours) Code the user interface (4) Write test fixtures (4) Code the foo class (6) Update performance tests (4)
Michel Goldenberg 90

Sprint Goal
Defined in the sprint planning meeting A short statement of what the work will be focused on during the sprint Example: Demonstrate new customer address validation to improve customer information accuracy

Michel Goldenberg

91

Sprint Backlog
A detailed list of all tasks needed in order to deliver the features chosen from the product backlog for the current Sprint. It includes who owns the task, its status and estimated time to completion. Individuals sign up for work Work is never assigned Estimated work remaining is updated daily Estimated in hours Work for the Sprint can emerge

Michel Goldenberg

92

A sprint backlog
Tasks
Code the user interface Code the middle tier Test the middle tier Write online help

Mon Tues Wed Thur Fri


8 16 8 12 4 12 16 8 10 16 4 11 8

Write the foo class


Add error logging

8
8

8
4

Mike Cohn
Michel Goldenberg 93

Sprint Planning Review


Identify anything that might impact the Sprint Vacations, holidays, capacity of team members, etc Select a Sprint goal Working the Product Owner, select the highest priority items that support the Sprint goal Discuss the items with the Product Owner for understanding and break the items down into tasks Design considerations, acceptance criteria, etc Estimate each task (typically 1 to 16 hours depending on Sprint length) Continue until the team feels it can not commit to any more work in the Sprint Make sure everyone understands the definition of done

Michel Goldenberg

94

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 95

Sprints
1 to 4 week consecutive time period (once the length is selected, it should not vary) where the team builds the features they committed to during Sprint Planning. The Sprint includes all activities needed to produce a potentially shippable product increment. Analysis Design Code Test And so on No changes allowed during the Sprint Do not miss the end of the Sprint The end of the Sprint if fixed

Michel Goldenberg

96

Sprint Burndown Chart


Primary method of tracking progress Shows how much work is remaining in the Sprint each day Can be used at the Product and Release level Updated daily by the team members
Amount of work remaining

Michel Goldenberg

97

Tasks
Code the user interface Code the middle tier Test the middle tier Write online help

Mon Tues Wed Thu


8 16 8 12 4 12 16 8 10 16 7 11

Fri

50

40 30
20 Hours 10 0 Mon Tue Wed
Michel Goldenberg

Mike Cohn

Thu

Fri
98

Task Board

Michel Goldenberg

99

Abnormal Termination
A tool to be used rarely Extreme circumstances Interruptions are preventing the team from meeting its goal Business priorities change Visibility into organizational impediments A new Sprint Planning meeting to be conducted

Michel Goldenberg

100

Potential shippable product

Michel Goldenberg

101

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 102

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


Michel Goldenberg 103

Everyone answers 3 questions


What did you do yesterday? What will you do today? Is anything in your way?

Michel Goldenberg

104

Daily Scrum Good Habits


Have the meeting at the same time every day determined by the team; Stand up; Always start on time; NO PROBLEM SOLVING:
Capture items in a parking lot to address after the standup. Invite all that are interested or will be key participants.

Everyone is responsible for keeping to the agenda and timebox:


Up to the team to point out problem solving and distractions.

Address one another, NOT the ScrumMaster this meeting is for YOUR benefit.
Michel Goldenberg 105

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 106

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


Michel Goldenberg 107

Scrum Framework
Vision

Preparation for Action

Sprint Review

Release Planning

Sprint Retrospective 1-4 weeks Sprint

Sprint Planning
Michel Goldenberg 108

Sprint retrospective
Periodically take a look at what is and is not working Typically 1530 minutes Done after every sprint Whole team participates
ScrumMaster Product owner Team Possibly customers and others
Michel Goldenberg 109

Start / Stop / Continue


Whole team gathers and discusses what theyd like to:

Start doing Stop doing

Continue doing
Michel Goldenberg 110

Separate Reviews
Customer focus groups:
Review product, not documents; Focus on discovering and recording desired changes, not on gathering detailed requirements (for new features).

Technical reviews:
Reflect on overall quality and make recommendations for re-factoring, additional testing, more frequent integration, tools, etc.; Invite only reviewers who are really competent for the material.
Michel Goldenberg 111

Internal Team Reflection


What went well? Keepers; What did not go as well? To change; Temperature reading over time; Quick team (and self) performance assessments:
Delivery of product, Behavior of (on) team; Below, At, Above standard; Did we/I do the best job we/I could? How well did we deliver according to our responsibilities? How well is the organization supporting us?

Recommendations for self/team/organization:


For the organization just 1 for higher impact
Michel Goldenberg 112

The Deming Cycle


The PDCA (Deming) Cycle
PLAN
Establish the objectives and processes necessary to deliver results in accordance with the expected output. By making the expected output the focus, it differs from what would be otherwise in that the completeness and accuracy of the specification is also part of the improvement.

DO
Implement the new processes.

CHECK
Measure the new processes and compare the results against the expected results to ascertain any differences.

ACT
Analyze the differences to determine their cause. Each will be part of either one or more of the P-D-C-A steps. Determine where to apply changes that will include improvement. When a pass through these four steps does not result in the need to improve, refine the scope to which PDCA is applied until there is a plan that involves improvement.

Michel Goldenberg

113

Lets Try It!

Michel Goldenberg

114 114

Doggy Daycare Brochure Backlog


Create cover art, brand, and/or logo Define major care sections Define Ultra Doggy Spa service Contact Information Set pricing structure for services Provide satisfied customer testimonials Outline boarding options Define all service offerings Suggest daypack contents to accompany clients Outline full week lunch menu Complete a guarantee policy Outline minimum requirements (shots, temper, breeding, etc.) Complete bios on staff members (backgrounds, training, interests) Define discounted partner pet services

Michel Goldenberg

115

Martian Tourists Visiting Earth Brochure Backlog


Create cover art, brand, and/or logo Define major topics for Martian tourism Describe Art Interests in Europe tour Describe a tour based on photosynthesis Outline a 7 wonders of the world expedition Set prices for the tours Outline warning messages (gravity, oxygen, fungi, etc.) Suggest clothing options Explain travel options to/from Mars Describe a Human Sports tour Outline refund policy Suggest related services Define advertisers Define a 12-month campaign Set-up how to get more information
Michel Goldenberg 116

Wedding Planner Brochure Backlog


Create cover art, brand, and/or logo Define major service offerings Define format for layout of brochure Include services for out-of-town guests Provide references from happy clients Set the pricing structure Define music options List catering options and pricing Define special bridal party treatments List reception location recommendations Create 3 minute promotion infomercial List template itineraries Gather names of preferred service providers Define custom wedding themes

Michel Goldenberg

117

Family Treasures Cookbook Proposal Backlog


Create cover art, brand, and/or logo Define major recipe sections Define format for cookbook layout Include recipes for 4 year olds Provide a sample special recipe with family charm Write foreword that explains the reason for the book Set price structure for the cookbook Outline useful tools and kitchen layout Collect family heirloom recipes Define Recipes of the Rich and Famous section Create 3 minute promotion infomercial Define celebrity contributors/patrons Determine Family Pet recipe items Outline book tour scenario Create measurements and substitution advice
Michel Goldenberg 118

Scrum Simulation Part 1


Goal: To Develop a Marketing Brochure in 2 (2 day) Sprints
Building a Product Backlog Select Brochure and Product Owner- 5 minutes Team to select a Product Owner Team to determine what brochure to work on Create Product Backlog 30 minutes Work with Product Owner to Turn items into user stories on index cards If some are too big break them down Identify missing items if any Estimate user stories using story points Prioritize Consider value, risks, dependencies, etc Debrief to Class 15 minutes

Michel Goldenberg

119

Scrum Simulation Part 2


Sprint 1
Day 1
Complete a Sprint Planning Meeting 15 minutes
Select product backlog items for a 2 day Sprint Product Owner prioritizes, Team involved Team tasks Product Backlog items Team volunteers for tasks and commits Add tasks to task board

Do your work in Sprint 1 - day 1 10 minutes

Michel Goldenberg

120

Scrum Simulation Part 3


Sprint 1
Day 2
Complete a daily Scrum standup 2 minutes Do your work in Sprint 1 day 2 10 minutes Sprint 1 Review
Hold a Sprint review and demo 15 minutes

Sprint 1 Retrospective
Hold a Sprint retrospective 10 minutes

Michel Goldenberg

121

Scrum Simulation Part 4


Sprint 2
Day 1
Complete a Sprint Planning Meeting 15 minutes
Select product backlog items for a 2 day Sprint Product Owner prioritizes, Team involved Team tasks Product Backlog items Team volunteers for tasks and commits Add tasks to task board

Do your work in Sprint 2 - day 1 10 minutes

Michel Goldenberg

122

Scrum Simulation Part 5


Sprint 2
Day 2
Complete a daily Scrum standup 2 minutes Do your work in Sprint 2 day 2 10 minutes Sprint 2 Review as time allows
Hold a Sprint review and demo (observed by whole class) Share with the class some lessons learned from this exercise

Michel Goldenberg

123

A Scrum reading list


Agile and Iterative Development: A Managers Guide by Craig Larman

Agile Estimating and Planning by Mike Cohn


Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen

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 User Stories Applied for Agile Software Development by Mike Cohn Lots of weekly articles at www.scrumalliance.org

Michel Goldenberg

124

Contact Info
Michel Goldenberg Agile Coach for GoldenCorp, Certified Scrum Trainer
Michel.goldenberg@scrumusergroup.ca Scrum Alliance: http://www.scrumalliance.org/profiles/38596michel-goldenberg/ LinkedIn: http://www.linkedin.com/in/mgoldenb

Michel Goldenberg

125