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

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

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

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]