65
Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Embed Size (px)

Citation preview

Page 1: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways to Go from Good to Great Scrum Master

Benjamin Day

Page 2: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Benjamin Day• Consultant, Coach, Trainer• Scrum.org Classes

– Professional Scrum Developer (PSD)– Professional Scrum Foundations (PSF)

• TechEd, VSLive, DevTeach, O’Reilly OSCON• Visual Studio Magazine, Redmond Developer News• Microsoft MVP for Visual Studio ALM• Team Foundation Server, TDD, Testing Best Practices,

Silverlight, Windows Azure• www.benday.com/blog• [email protected]

Page 3: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

© 1993-2011 Scrum.org, All Rights Reserved

Professional Scrum at Scrum.org

Professional Scrum

Product Owner

Professional Scrum Foundations

Professional Scrum Master

Professional Scrum

Developer.NET or Java

Product OwnersExecutives Scrum Masters

ArchitectsBusiness Analysts

DB SpecialistsDesigners

DevelopersTesters

Everyone

Page 4: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Assumptions

• You’re technical. I’m technical.• For today, we’re talking about a fairly

technical Scrum Master– (Don’t forget the needs of the business though.)

• This talk = Scrum Mastering + “Getting your project started right”

Page 5: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

What does the Scrum Master do?

• Keeper of the process• Help the team deliver• Advocate for the team• Help the Product Owner

Page 6: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 7: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 8: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Definition of Done (DoD) = Everything it takes to say something

iscompletely done.

Page 9: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

What is your DoD?

• Closest thing to a “silver bullet” in Scrum

• Technical Debt will ruin you.

• Write it down.

• Review and discuss it regularly.

Page 10: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Consider firing anyone who says “Done vs. Done Done”

Page 11: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Do not relax your DoD.

Page 12: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

No partial credit…ever.

Page 13: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 14: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

99% of the time, it’s a people problem.

Page 15: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Watch for interpersonal problems.

Page 16: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Here’s a trick:“Trust your gut.”

Page 17: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Want to be a super hero?Go see a therapist.(I’m not kidding.)

Page 18: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 19: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

2 to 3 Sprints of Product Backlog

• Be ready to answer where a PBI (aka. “feature”) is on the backlog.– How many sprints out?

• Discuss your *written* DoD with the PO, executives, and stakeholders– Why is it in their best interest?

Page 20: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Fit for purpose.

• Remember that not everything is, needs to be, or should be a work of art.

• Balance “Time to Market” with “Long-term Maintenance”

• Communicate with the business in terms they understand– (Hint: this is probably money and resources.)

Page 21: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Do yourself a favor and say“forecast” rather than “commitment”

Page 22: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 23: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Do you have a Sprint Goal?

Page 24: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Is it easily understood and stated?

Page 25: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Hint: Your sprint goal should not be

select * from SprintBacklog

Page 26: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Review your Sprint Goal in the Daily Scrum.

Page 27: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 28: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Minimize work in progress.

Page 29: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Put another way…don’t try to do everything at once.

Page 30: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

If everyone on your team is working on

separate PBIs, is the team really a team?

Page 31: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Finish one thing. Then do the next thing.

• Try to craft the work so that multiple people are working on related things

• Complete that thing. Move on to the next thing.

• Try to drive stuff to DoD early.

Page 32: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Anti-pattern: you’re 2 days from the end of the sprint and

nothing’s DoD yet.

Page 33: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 34: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Avoid BDUF.(Big design up-front.)

Page 35: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

YAGNI.(You ain’t gunna need it.)

Page 36: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Emergent Architecture.• Build what you need.• It’s a spectrum.

SuicidalNon-Planning

Sanity &

Balance

BigDesign

Up-Front

Page 37: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Emergent Architecture.• Build what you need.• It’s a spectrum.

SuicidalNon-Planning

Sanity &

Balance

BigDesign

Up-Front

Page 38: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Emergent Architecture.• Build what you need.• It’s a spectrum.

SuicidalNon-Planning

Sanity &

Balance

BigDesign

Up-Front

Page 39: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 40: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

It’s a metaphysical *certainty* that you’ll have to change stuff.

Page 41: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

You *won’t* get your “requirements” right.

Page 42: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Your customers *will*

change their minds.

Page 43: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Accept that you’ll have to change.

Page 44: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

The Goal: Make refactoring painless.

Page 45: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Loose coupling.

• Code to interfaces.

• Use the Dependency Injection Pattern– (Pass dependencies in on the constructor.)– Consider an IoC Framework

• Use the Repository Pattern

• Remember Single Responsibility Principle

Page 46: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Build for Testability

• Unit test, unit test, unit test

• Unit test != Integration Test

• Test one layer at a time in isolation

• No database connections from a unit test

• Integration tests in a separate project– Keep yourself honest

Page 47: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

For the love of all things precious & beautiful…

Page 48: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

…DON’T USE A SHARED DEVELOPMENT DATABASE!!!!!!!!

Page 49: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

http://tinyurl.com/bqextsa

Page 50: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Eliminate the "works on my box" problem *early*.

• Set up automated builds from the very beginning.

• If you're using TFS, use Gated Check-in builds

• Deploy your database as part of your builds.

• Run your unit tests from the builds

Page 51: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 52: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Never say “Kick it over the wall to QA” again.

• Us vs. Them

• QA is part of the team

• QA’s work should be part of the DoD

Page 53: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 54: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

How do Teams align to Products / Projects?

• Watch out for partial allocations

• Do team members have more than one Daily Scrum?

• Rather than 1 team per 1 product, try 1 team that supports multiple products

Page 55: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Teams to Products

• Bad– Billing System has a Billing Team– Accounting System has an Accounting Team– CRM system has a CRM Team– Website has a Website team– People are 50% allocated to multiple teams.

Page 56: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Teams to Products

• Better– Team A

- Billing- Accounting

– Team B- CRM- Website

Page 57: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Teams to Products

• Best– Team A and Team B are cross-functional – Either team can do tasks from Billing, Accounting,

CRM, or Website

Page 58: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 59: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Retrospectives are the curer of all ills.

Page 60: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Retrospectives help keep problems contained to (hopefully) a single

Sprint.

Page 61: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Tip #1: Watch for unscheduled work.

Page 62: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Tip #2: Record the findings from the

Retrospective

Page 63: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Tip #3: Review the notes from

previous Retrospectives.

Page 64: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Top 10 Ways

1. What is your DoD?

2. People Skills

3. Credibility

4. What is your Sprint Goal?

5. Do less.

6. Emergent Architecture

7. Good programming & testing practices

8. “Kick it over the wall to QA”

9. Teams : Products

10. Retrospective

Page 65: Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day

Thank you.

www.benday.com | [email protected]