+ All Categories
Home > Business > ScrumGuides training: Agile Software Development With Scrum

ScrumGuides training: Agile Software Development With Scrum

Date post: 08-Sep-2014
Category:
Upload: alexey-krivitsky
View: 11,124 times
Download: 3 times
Share this document with a friend
Description:
The slides from the ScrumGuides training on Agile Software Development with Scrum, day 1
Popular Tags:
59
Agile Software Development with SCRUM www.scrumguides.com 13 February 2009
Transcript
Page 1: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM

www.scrumguides.com

13 February 2009

Page 2: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides2

Today’s Agenda

Opening: program overview, knowing each other

Understanding Agile and SCRUM

SCRUM simulation

Extra SCRUM topics

We will be having 10-minute breaks each 60-90 minutes.

Page 3: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides33

About myself

Alexey Krivitsky

Software developer, Agile coach

Certified ScrumMasterCertified Scrum Practitioner

http://www.linkedin.com/in/alexeykrivitsky

email: [email protected]: alexeykrvicq: 436-471-64gsm: +380 50 358 92 12

Currently building up a training centerwww.scrumguides.com

Page 4: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides4

Our presence

Ukrainian Agile communitywww.agileukraine.org

Join our Google discussion group

Ukrainian SCRUM portalwww.scrum.com.ua

Page 5: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides5

Today’s Agenda

Opening: program overview, knowing each other

Understanding Agile and SCRUM

SCRUM simulation

Extra SCRUM topics

Page 6: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides6

Exercise “Continuum”

Page 7: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides8

Project successes/failures

Have you been on a successful project?

Have you been on an unsuccessful project?

Page 8: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides9

Agile might help you, let’s see…

Understanding Agile and SCRUM

Page 9: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides10

The two approaches, two cultures

Predictive approach

Sees projects as predictive processes which results can be foreseen (predicted) with acceptable probability after reasonable planning and study efforts spent.

Adaptive approach

Questions predictability of projects due to their built-in complexity. It puts stress on steering based on observations.

Page 10: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides1111

The predictive approach

Requirements spec

Design spec

Release

Order

CD

R

P P

Actualneed

Page 11: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides1212

The adaptive approach

C

Vision

Actual need

When in the project we 100% know if we on/off the track in terms of the time, scope, costs…?

Page 12: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides13

The two approaches to project management

Predictive approach– Heavy-weight;– Process-oriented;– Plan-driven;– “Waterfall”.

Adaptive approach– Light-weight;– People-oriented;– Value-driven;– “Agile”.

Page 13: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides14

Order and Chaos

Page 14: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides15

The cone of uncertaintySCRUM decreases the chaos by fixing the scope

Page 15: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides16

The two approaches on the time scale

Which advantages/disadvantages of the approaches you see?

Page 16: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides17

Agile and SCRUM

SCRUM – one of the Agile approaches. It is a project framework, or a set of recommendations by following which you can increase the chance of successful ending of your projects.

Page 17: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides18

Agile Manifesto

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

Page 18: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides19

Principles of Agile Manifesto

Please see www.agilemanifesto.org for the twelve principles

Page 19: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides20

Main aspects of Agile

Page 20: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides21

The main aspects of Agile

Team Work

Prioritization

Short cycles

Learn and Adapt

Page 21: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides22

The main aspects of Agile: Team work

What is a team?

Page 22: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides23

Team work (cont.)

Exercise “an airplane factory”.

Page 23: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides24

Push vs. Pull systems

SCRUM is a pull system

Page 24: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides25

Team work (cont.)

What is a team?

Are you in a good team?

How to become a greater team?

How to evaluate and motivate people’s work in a team?

Page 25: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides2626

Is here such a thing as “team work”?

Requirements spec

Design spec

Release

Order

CD

R

P P

Actualneed

Page 26: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides27

A SCRUM team is

A cross-functional group of people (5-9 members) responsible for managing itself to develop the product.

Page 27: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides28

The main aspects of Agile

Team Work

Prioritization

Short cycles

Learn and Adapt

Page 28: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides29

Prioritization and Traditional approaches

An alternative tool to backlogs are requirement specifications.

Page 29: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides30

“Gimme all requirements, or ….”

Page 30: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides31

As a result …

As a result all requirements are the “top priority”.

Which is basically the same as not having the priorities at all.

Page 31: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides32

And as a result …

Page 32: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides33

What does it mean to us?

As a consequence: we can cut costs and duration of our projects in 2/3!

Does it mean we (the teams) will earn less money?

Page 33: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides34

What about your projects?

Think about your current (recent) projects.

List 5-10 features that could have been avoided or simplified by keeping the product as good as it was.

What would be your % of rarely/never used features?

Page 34: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides36

Prioritize (cont.)

YAGNI - “You ain’t gonna need it”. A strategy of postponing decisions until the last possible moment.

Product backlogJust-in-time requirements management tool.

Page 35: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides37

The “menu” (Agile) approach

Product backlog is the project’s menu.

“Servants” help to make better decisions.

Page 36: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides38

What saves our projects?

“The features that we manage to de-scope are the savers of our projects” © Kent Beck

Page 37: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides39

Today’s Agenda

Opening: program overview, knowing each other

Understanding Agile and SCRUM till 16:00

Coffee break 16:00 – 16:30

SCRUM simulation 16:30 – 17:30

Extra SCRUM topics 17:30 – 18:00

Page 38: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides40

The main aspects of Agile

Team Work

Prioritization

Short cycles

Learn and Adapt

Page 39: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides41

The main aspects of Agile: Short Cycles

The shorter the cycle the more efficient the process

1. We have more time to “play” with the product that we are developing;

2. The sooner we can catch a defect the easier it is to fix it;

3. The shorter the cycle (the smaller a batch of work) the less need we have in creating intermediate artifacts.

Page 40: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides42

The “Flip Coins project

Page 41: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides43

Short Cycles (cont.)

“Fail fast” (с) Ken Schwaber

Page 42: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides44

Iterative and Incremental approach

- How do you eat an elephant?- One bite at a time!

Page 43: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides45

Shorter Cycles = Faster Feedback

1. Daily meetings2. Code Reviews3. Release to end-users4. Iteration reviews5. Continuous integration6. Feedback from (onsite) clients7. Unit-testing8. (Automated) acceptance testing9. Pair programming

Page 44: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides46

Shorter Cycles = Faster Feedback (ordered)

Pair programming (immediate feedback)Unit-testing (5-10 minutes)Continuous integration (hourly)Feedback from (onsite) clients (daily)Daily meetings (daily)Code Reviews (some days)(Automated) acceptance testing (some days)Iteration reviews (each second week)Release to end-users (some weeks-months)

Page 45: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides47

The main aspects of Agile

Team Work

Prioritization

Short cycles

Learn and Adapt

Page 46: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides48

Exercise “Ball Points”

Page 47: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides49

The main aspects of Agile: Learn and Adapt

As we work we learn lots of new things about the product being developed, technologies being used, our clients, ourselves.

By incorporating this information into daily work we can become better day by day.

Page 48: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides50

Visibility tools

In order to evolve the way we work we need to keep everything visible to ourselves and our clients

Tools that might help:Sprint Burndown ChartTask boardsWikis

Page 49: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides51

The Sprint Burndown Chart

Page 50: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides52

The Task Board - an information radiator

Page 51: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides53

The main aspects of Agile

Team Work

Prioritization

Short cycles

Learn and Adapt

Page 52: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides54

Page 53: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides56

Today’s Agenda

Opening: program overview, knowing each other

Understanding Agile and SCRUM

SCRUM simulation

Extra SCRUM topics

Page 54: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides57

SCRUM in 59 minutes

Page 55: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides58

Game structure

PlanningChoose a product and your PO

Help your PO to build up a PBHelp your PO to prioritize the PB itemsPlan your first sprint

SprintingDay one - 7 minDaily standup - 3 minDay two - 7 minDemonstration - 3 min (per a team)

Page 56: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides59

Today’s Agenda

Opening: program overview, knowing each other

Understanding Agile and SCRUM

SCRUM simulation

Extra SCRUM topics

Page 57: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides60

SCRUM recap

Roles– The Team– ScrumMaster– Product Owner

Artifacts– Product Backlog– Sprint Backlog– Sprint/Release Burndown Chart

Meetings (ceremonies)– Sprint Planning– Daily Scrum (“Stand-Up”)– Sprint Review (Demo)– Retrospective

Page 58: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides61

Today’s Agenda

Opening: program overview, knowing each other

Understanding Agile and SCRUM

SCRUM simulation

Summary of SCRUM concepts

Page 59: ScrumGuides training: Agile Software Development With Scrum

Agile Software Development with SCRUM ©SCRUMguides62

Join our community!

Ukrainian Agile communitywww.agileukraine.org

Join our Google discussion group

Ukrainian SCRUM portalwww.scrum.com.ua


Recommended