what product managers need to know about agile development with scrum

48
What Product Managers Need to Know About Agile Development with Scrum Laura Klemme, MSc IT, PMP, CSM May 2013 Silicon Valley Product Management Meetup 1

Upload: laura-klemme

Post on 28-Jan-2015

106 views

Category:

Technology


0 download

DESCRIPTION

Agile development is more talked about than well understood. Product managers are often operating within a system that assumes a traditional waterfall approach to product development where product specifications can be nailed down early on in the product development process. Making agile development work requires educating managers so they will value fast development and the virtues of learning quickly from user interface testing, early test users and initial purchasers. Attracting the best developers requires having development processes that are considered state of the art by the best candidates. Laura will discuss being an employer of choice, using the best in agile and scrum to attract and motivate employees. Transitioning from waterfall to agile is a potentially difficult process and requires planning and knowledge. An often misunderstood aspect of the transition to agile is redefinition of the roles of product owner, product developer, product marketing and scrum master, along with their interactions with the rest of the development team and internal stakeholders. A clear understanding of best practices is likely to increase the probability of product development completion on time and on budget and increase the likelihood that products developed meet key user needs.

TRANSCRIPT

Page 1: What Product Managers Need to Know About Agile Development with Scrum

1

What Product Managers Need to Know About Agile Development with Scrum

Laura Klemme, MSc IT, PMP, CSMMay 2013

Silicon Valley Product Management Meetup

Page 2: What Product Managers Need to Know About Agile Development with Scrum

2

Why Use Agile? Higher Productivity and Lower Costs Faster Time to Market Higher Quality Improved Stakeholder Satisfaction Improved Employee Engagement and Job

Satisfaction

What We’ve Been Doing Isn’t Working

From: http://www.versionone.com/pdf/3rdAnnualStateofAgile_FullDataReport.pdf

Page 3: What Product Managers Need to Know About Agile Development with Scrum

3

Reduced Risk

From: Scaled Agile Framework

Page 4: What Product Managers Need to Know About Agile Development with Scrum

4

Delivers Better Fit for Customer

From: Scaled Agile Framework

Page 5: What Product Managers Need to Know About Agile Development with Scrum

5

The Manifesto for Agile Software Development

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.

Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin Fowler

James GrenningJim HighsmithAndrew HuntRon JeffriesJon KernBrian Marick

Robert C. MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas

© 2001, the above authorsThis declaration may be freely copied in any

form, but only in its entirety through this notice.

From: http://www.agilealliance.org/the-alliance/the-agile-manifesto/

Page 6: What Product Managers Need to Know About Agile Development with Scrum

6

The 12 Principles of Agile SoftwareWe follow these principles:

I. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

II. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

III. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

IV. Business people and developers must work together daily throughout the project.

V. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

VI. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Page 7: What Product Managers Need to Know About Agile Development with Scrum

7

The 12 Principles of Agile Software Continued

VII. Working software is the primary measure of progress.VIII. Agile processes promote sustainable development. The

sponsors, developers, and users should be able to maintain a constant pace indefinitely.

IX. Continuous attention to technical excellence and good design enhances agility.

X. Simplicity--the art of maximizing the amount of work not done--is essential.

XI. The best architectures, requirements, and designs emerge from self-organizing teams.

XII. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

From: http://www.agilealliance.org/the-alliance/the-agile-manifesto/the-twelve-principles-of-agile-software/

Page 8: What Product Managers Need to Know About Agile Development with Scrum

8

Agile Tribes – Subway Map

Drawn by Laura KlemmeFrom: http:guide.agilealliance.org/subway.html

Page 9: What Product Managers Need to Know About Agile Development with Scrum

9

Agile Word Cloud

Rendered by Laura Klemme on wordle.net

Page 10: What Product Managers Need to Know About Agile Development with Scrum

10

Agile 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

Software as a Service

From: http://www.mountaingoatsoftware.com

•Video game development

•FDA-approved, life-critical systems

•Satellite-control software

•Websites

•Handheld software

•Mobile phones

•Network switching applications

•CMMI Model applications

•Some of the largest applications in use

Page 11: What Product Managers Need to Know About Agile Development with Scrum

11

What is Scrum?

•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.

From: http://www.mountaingoatsoftware.com

Page 12: What Product Managers Need to Know About Agile Development with Scrum

12

Origins of Scrum•Jeff Sutherland

•1993: Initial scrum at Easel Corp• IDX Systems Corp, a healthcare software

technology company, 500+ doing Scrum•Original signer of Agile Manifesto

From: http://www.mountaingoatsoftware.com

•Ken Schwaber•2006: Presented Scrum w/

Sutherland at ACM’s OOPSLA (Object-Oriented Programming, Systems, Languages & Applications)

•Author of 3 books on Scrum•Original signer of Agile

Manifesto

Page 13: What Product Managers Need to Know About Agile Development with Scrum

13

Origins of Scrum•Mike Beedle

•Co-author of first Scrum book•Original signer of Agile Manifesto

From: http://www.mountaingoatsoftware.com

•Mike Cohn•2002: Co-founder of Scrum

Alliance w/Ken Schwaber•Author of numerous books

on Scrum•Series editor for Addison-

Wesley Signature Series•Founder of Mountain Goat

Software

Page 14: What Product Managers Need to Know About Agile Development with Scrum

14

Characteristics of Scrum 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 Tribes, “agile processes”

From: http://www.mountaingoatsoftware.com

Page 15: What Product Managers Need to Know About Agile Development with Scrum

15

Project Noise Level

From: http://www.mountaingoatsoftware.com

Simple

ComplexAnarchy

Complicated

Technology

Req

uir

em

en

tsFar from

Agreement

Close toAgreement

Clo

se t

oC

ert

ain

ty

Far

from

Cert

ain

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

Page 16: What Product Managers Need to Know About Agile Development with Scrum

16

Scrum Flow Diagram

Page 17: What Product Managers Need to Know About Agile Development with Scrum

17

Triple ConstraintFlipping the Iron Triangle

Scope

Schedule CostScope

Schedule Cost

PlanDriven

ValueDriven

From: http://pmi.org

Page 18: What Product Managers Need to Know About Agile Development with Scrum

18

SDLC WaterfallAnalysis

Requirements Specification

Design

Implementation

Testing and Integration

Operations and Maintenance

Page 19: What Product Managers Need to Know About Agile Development with Scrum

19

Traditional Product Manager Role Loss of ‘Product Vision’ between idea and the launch No single person in charge of the product

Product Marketing

Does Market ResearchWrites Product Concept

Product ManagerWrites

Requirements Specification

Development TeamWrites CodeTests Code

Project Manager

Writes Project PlanManages Team

Page 20: What Product Managers Need to Know About Agile Development with Scrum

20

Case Study: Loss of ‘Product Vision’Martin Luther King, Jr Memorial

20 years of planning, fundraising and construction

Key Stakeholders: ◦ Alpha Phi Alpha fraternity◦ the MLK Jr National Memorial Project Foundation◦ the US Commission of Fine Arts◦ the National Capital Planning Commission◦ Design: ROMA Design Group, San Francisco◦ Artist: Lei Yixin, China◦ Council of Historians

2007: Council of Historians select the quotations, including Dr Maya Angelou

2008: Cost estimate $120 million

Page 21: What Product Managers Need to Know About Agile Development with Scrum

21

Martin Luther King, Jr Memorial 2009: Conflict between 3 gov’t

agencies and compromise, Construction begins

2011: Dedication ceremony

Located in a 4-acres site, near the National Mall in Washington, DC

Statue is 30’ high with the ‘Stone of Hope’ and ‘Mountain of Despair’ and a 450’ long Inscription Wall with 14 quotes.

Page 22: What Product Managers Need to Know About Agile Development with Scrum

22

Martin Luther King, Jr Memorial Decision to Paraphrase Quotation

◦ “I was a drum major for justice, peace and righteousness,”

King’s actual words◦ “If you want to say that I was a drum major,

say that I was a drum major for justice. Say that I was a drum major for peace. I was a drum major for righteousness. And all of the other shallow things will not matter.”

2011: Maya Angelou ◦ “The quote makes Dr Martin Luther King look

like an arrogant twit…”

2013: Solution approved to remove the quote for a cost of ~$800,000

From: http://en.wikipedia.org/wiki/Martin_Luther_King,_Jr._National_Memorial

Page 23: What Product Managers Need to Know About Agile Development with Scrum

23

Product Owner as ‘Product Visionary’

In Agile, the Product Owner is the product visionary and follows the product through the entire life cycle

Page 24: What Product Managers Need to Know About Agile Development with Scrum

24

Product Visioning

From: http://www.mountaingoatsoftware.com

Product Vision

Product Roadmap

Release Plan

Iteration Plan

Daily Plan

Yearly by the Product Owner

Bi-Yearly by the Product Owner

Quarterly by the Product Owner and Team

Bi-Weekly by the Team

Daily by the Individuals

Page 25: What Product Managers Need to Know About Agile Development with Scrum

25

Scrum FrameworkRoles

Product Owner

Scrum Master

Team

Ceremonies

Sprint Planning

Sprint Review

Sprint Retrospectiv

e

Daily Scrum Meeting

Artifacts

Product Backlog

Sprint Backlog

Burndown Charts

From: http://www.mountaingoatsoftware.com

Page 26: What Product Managers Need to Know About Agile Development with Scrum

26

Scrum FrameworkRoles

Product Owner

Scrum Master

Team

Ceremonies

Sprint Planning

Sprint Review

Sprint Retrospectiv

e

Daily Scrum Meeting

Artifacts

Product Backlog

Sprint Backlog

Burndown Charts

From: http://www.mountaingoatsoftware.com

Page 27: What Product Managers Need to Know About Agile Development with Scrum

27

Product Owner

From: http://www.mountaingoatsoftware.com

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 market value Adjust features and priority every iteration,

as needed  Accept or reject work results

Page 28: What Product Managers Need to Know About Agile Development with Scrum

28

Scrum Master

From: http://www.mountaingoatsoftware.com

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

Page 29: What Product Managers Need to Know About Agile Development with Scrum

29

Team

From: http://www.mountaingoatsoftware.com

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

Page 30: What Product Managers Need to Know About Agile Development with Scrum

30

Rugby Scrum

From: http://www.goodenoughmother.com From: http://peterrhysthomas.wordpress.com

The behavior common to Scrum: ‘Moving the Scrum downfield’ Character of the team: it tries to go the distance as a unit, passing the ball back and forth  

Page 31: What Product Managers Need to Know About Agile Development with Scrum

31

Scrum FrameworkRoles

Product Owner

Scrum Master

Team

Ceremonies

Sprint Planning

Sprint Review

Sprint Retrospectiv

e

Daily Scrum Meeting

Artifacts

Product Backlog

Sprint Backlog

Burndown Charts

From: http://www.mountaingoatsoftware.com

Page 32: What Product Managers Need to Know About Agile Development with Scrum

32

Sprint PlanningTeam

Capacity

Product Backlog

Business Conditions

Current Product

Technology

From: http://www.mountaingoatsoftware.com

Sprint Goal

Sprint Backlog

Spri

nt

Pri

ori

tiza

tion

Analyze and evaluate product backlog

Select sprint goal

Spri

nt

Pla

nnin

gDecide how to achieve

sprint goal (design)

Create sprint backlog (tasks) from product backlog items (user

stories/features)

Estimate sprint backlog

Page 33: What Product Managers Need to Know About Agile Development with Scrum

33

Sprint Planning

From: http://www.mountaingoatsoftware.com

Team selects items from the product backlog they can commit to completing

Sprint backlog is created◦Tasks are identified ◦Estimated using story points – Planning

Poker◦Collaboratively, not done alone by the

Scrum Master High-level design is considered

Page 34: What Product Managers Need to Know About Agile Development with Scrum

34

Planning Poker

From: http://www.mountaingoatsoftware.com

Team estimation for Story Points Agree on point scale Team briefly discusses a story Everyone silently selects a point card Team reveals all cards at once If outliers exist, discuss and re-vote

Page 35: What Product Managers Need to Know About Agile Development with Scrum

35

Daily Scrum Meeting

From: http://www.mountaingoatsoftware.com

Parameters◦ Daily

◦ 15-minutes

◦ Stand-up Not for problem solving

◦ Whole world is invited

◦ Pigs vs Chickens

◦ Only team members, Scrum Master, Product Owner, can talk

Helps avoid other unnecessary meetings

Page 36: What Product Managers Need to Know About Agile Development with Scrum

36

Daily Scrum Meeting

From: http://www.mountaingoatsoftware.com

Everyone answers 3 questions These are NOT status for the Scrum Master They are commitments in front of peers

What did you do

yesterday?

What will you do today?

Is there anything in your way?

1 2 3

Page 37: What Product Managers Need to Know About Agile Development with Scrum

37

Sprint Review

From: http://www.mountaingoatsoftware.com

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

Page 38: What Product Managers Need to Know About Agile Development with Scrum

38

Sprint Retrospective

From: http://www.mountaingoatsoftware.com

Periodically take a look at what is and is not working

Typically 15–30 minutes Done after every sprint Whole team participates

◦ Scrum Master

◦ Product Owner

◦ Team

◦ Possibly customers and others Start / Stop / Continue

Page 39: What Product Managers Need to Know About Agile Development with Scrum

39

Scrum FrameworkRoles

Product Owner

Scrum Master

Team

Ceremonies

Sprint Planning

Sprint Review

Sprint Retrospectiv

e

Daily Scrum Meeting

Artifacts

Product Backlog

Sprint Backlog

Burndown Charts

From: http://www.mountaingoatsoftware.com

Page 40: What Product Managers Need to Know About Agile Development with Scrum

40

Product Backlog

From: http://www.mountaingoatsoftware.com

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

Page 41: What Product Managers Need to Know About Agile Development with Scrum

41

Sprint Goal

From: http://www.mountaingoatsoftware.com

A short statement of what the work will be focused on during the sprint

Database Application

Make the application run on

AWS

Life Sciences

Support features necessary for

population genetics studies

Page 42: What Product Managers Need to Know About Agile Development with Scrum

42

Managing the Sprint Backlog

From: http://www.mountaingoatsoftware.com

Individuals sign up for work of their own choosing◦ Work is never assigned

Estimated work remaining is updated daily 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

Page 43: What Product Managers Need to Know About Agile Development with Scrum

43

Sprint Burndown Chart

From: http://www.scrumdesk.com

Page 44: What Product Managers Need to Know About Agile Development with Scrum

44

Scalability

From: http://www.mountaingoatsoftware.com

Typical individual team is 7 ± 2 people◦Scalability comes from teams of teams

Factors in scaling◦Type of application

◦Team size

◦Team dispersion

◦Project duration Scrum has been used on multiple 500+

person projects

Page 45: What Product Managers Need to Know About Agile Development with Scrum

45

Scrum of Scrums

From: http://www.mountaingoatsoftware.com

Page 46: What Product Managers Need to Know About Agile Development with Scrum

46

Going Agile Educate widely

◦ Management, stakeholders, team, customers Start small Pilot Continuous Improvement Use an Agile Coach Training – Scrum Alliance

Page 47: What Product Managers Need to Know About Agile Development with Scrum

47

References Agile Alliance Scrum Alliance mountaingoatsoftware.com PMI.org Version One

Page 48: What Product Managers Need to Know About Agile Development with Scrum

48

Contact Information

Laura Klemme, MSc IT, PMP, CSM

LinkedIn: http://www.linkedin.com/in/lauraklemmeTwitter: @lklemme