You are on page 1of 59

Agile Software Development with SCRUM

www.scrumguides.com

13 February 2009

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

Agile Software Development with


SCRUM SCRUMguides

About myself
Alexey Krivitsky
Software developer, Agile coach
Certified ScrumMaster
Certified Scrum Practitioner
http://www.linkedin.com/in/alexeykrivitsky
email: alexey@scrumguides.com
skype: alexeykrv
icq: 436-471-64
gsm: +380 50 358 92 12
Currently building up a training center
www.scrumguides.com

Agile Software Development with


SCRUM SCRUMguides

Our presence
z

Ukrainian Agile community


www.agileukraine.org
Join our Google discussion group

Ukrainian SCRUM portal


www.scrum.com.ua
Agile Software Development with
SCRUM SCRUMguides

Todays Agenda
; Opening: program overview, knowing each other
Understanding Agile and SCRUM
SCRUM simulation
Extra SCRUM topics

Agile Software Development with


SCRUM SCRUMguides

Exercise Continuum

Agile Software Development with


SCRUM SCRUMguides

Project successes/failures

Have you been on a successful project?

Have you been on an unsuccessful project?

Agile Software Development with


SCRUM SCRUMguides

Agile might help you, lets see

Understanding Agile and SCRUM

Agile Software Development with


SCRUM SCRUMguides

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.

10

Agile Software Development with


SCRUM SCRUMguides

The predictive approach


Release

Design spec

Requirements spec

Order

D
P

Actual
need

R
11

Agile Software Development with


SCRUM SCRUMguides

The adaptive approach


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

Vision

Actual need

12

Agile Software Development with


SCRUM SCRUMguides

The two approaches to project management


z

Predictive approach

Adaptive approach

13

Heavy-weight;
Process-oriented;
Plan-driven;
Waterfall.

Light-weight;
People-oriented;
Value-driven;
Agile.
Agile Software Development with
SCRUM SCRUMguides

Order and Chaos

14

Agile Software Development with


SCRUM SCRUMguides

The cone of uncertainty

SCRUM decreases the chaos by fixing the scope

15

Agile Software Development with


SCRUM SCRUMguides

The two approaches on the time scale

Which advantages/disadvantages of
the approaches you see?

16

Agile Software Development with


SCRUM SCRUMguides

Agile and SCRUM


z

17

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.

Agile Software Development with


SCRUM SCRUMguides

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:
z
z
z
z

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.

18

Agile Software Development with


SCRUM SCRUMguides

Principles of Agile Manifesto

Please see www.agilemanifesto.org for the


twelve principles

19

Agile Software Development with


SCRUM SCRUMguides

Main aspects of Agile

20

Agile Software Development with


SCRUM SCRUMguides

The main aspects of Agile


Team Work
Prioritization
Short cycles
Learn and Adapt

21

Agile Software Development with


SCRUM SCRUMguides

The main aspects of Agile: Team work


z

22

What is a team?

Agile Software Development with


SCRUM SCRUMguides

Team work (cont.)


Exercise an airplane factory.

23

Agile Software Development with


SCRUM SCRUMguides

Push vs. Pull systems


z

24

SCRUM
is a pull system

Agile Software Development with


SCRUM SCRUMguides

Team work (cont.)

25

What is a team?

Are you in a good team?

How to become a greater team?

How to evaluate and motivate peoples work


in a team?
Agile Software Development with
SCRUM SCRUMguides

Is here such a thing as team work?


Release

Design spec

Requirements spec

Order

D
P

Actual
need

R
26

Agile Software Development with


SCRUM SCRUMguides

A SCRUM team is
z

27

A cross-functional group of people


(5-9 members) responsible for managing
itself to develop the product.

Agile Software Development with


SCRUM SCRUMguides

The main aspects of Agile


; Team Work

Prioritization
Short cycles
Learn and Adapt

28

Agile Software Development with


SCRUM SCRUMguides

Prioritization and Traditional approaches


z

29

An alternative tool to backlogs are


requirement specifications.

Agile Software Development with


SCRUM SCRUMguides

Gimme all requirements, or .

30

Agile Software Development with


SCRUM SCRUMguides

As a result

31

As a result all requirements are the


top priority.

Which is basically the same as not having


the priorities at all.

Agile Software Development with


SCRUM SCRUMguides

And as a result

32

Agile Software Development with


SCRUM SCRUMguides

What does it mean to us?

33

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?

Agile Software Development with


SCRUM SCRUMguides

What about your projects?

34

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?
Agile Software Development with
SCRUM SCRUMguides

Prioritize (cont.)
YAGNI - You aint gonna need it.
A strategy of postponing decisions until the last
possible moment.
Product backlog
Just-in-time requirements management tool.

36

Agile Software Development with


SCRUM SCRUMguides

The menu (Agile) approach

37

Product backlog is the projects menu.

Servants help to make better decisions.

Agile Software Development with


SCRUM SCRUMguides

What saves our projects?

The features that we manage to de-scope are


the savers of our projects Kent Beck

38

Agile Software Development with


SCRUM SCRUMguides

Todays 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

39

Agile Software Development with


SCRUM SCRUMguides

The main aspects of Agile


; Team Work
; Prioritization

Short cycles
Learn and Adapt

40

Agile Software Development with


SCRUM SCRUMguides

The main aspects of Agile: Short Cycles


The shorter the cycle the more efficient the process

41

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.
Agile Software Development with
SCRUM SCRUMguides

The Flip Coins project

42

Agile Software Development with


SCRUM SCRUMguides

Short Cycles (cont.)

Fail fast () Ken Schwaber

43

Agile Software Development with


SCRUM SCRUMguides

Iterative and Incremental approach

44

How do you eat an elephant?


One bite at a time!

Agile Software Development with


SCRUM SCRUMguides

Shorter Cycles = Faster Feedback


1.
2.
3.
4.
5.
6.
7.
8.
9.

45

Daily meetings
Code Reviews
Release to end-users
Iteration reviews
Continuous integration
Feedback from (onsite) clients
Unit-testing
(Automated) acceptance testing
Pair programming
Agile Software Development with
SCRUM SCRUMguides

Shorter Cycles = Faster Feedback (ordered)


z
z
z
z
z
z
z
z
z

46

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)
Agile Software Development with
SCRUM SCRUMguides

The main aspects of Agile


; Team Work
; Prioritization
; Short cycles

Learn and Adapt

47

Agile Software Development with


SCRUM SCRUMguides

Exercise Ball Points

48

Agile Software Development with


SCRUM SCRUMguides

The main aspects of Agile: Learn and Adapt

49

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.

Agile Software Development with


SCRUM SCRUMguides

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:
z Sprint Burndown Chart
z Task boards
z Wikis
50

Agile Software Development with


SCRUM SCRUMguides

The Sprint Burndown Chart

51

Agile Software Development with


SCRUM SCRUMguides

The Task Board - an information radiator

52

Agile Software Development with


SCRUM SCRUMguides

The main aspects of Agile


; Team Work
; Prioritization
; Short cycles
; Learn and Adapt

53

Agile Software Development with


SCRUM SCRUMguides

54

Agile Software Development with


SCRUM SCRUMguides

Todays Agenda
; Opening: program overview, knowing each other
; Understanding Agile and SCRUM
SCRUM simulation
Extra SCRUM topics

56

Agile Software Development with


SCRUM SCRUMguides

SCRUM in 59 minutes

57

Agile Software Development with


SCRUM SCRUMguides

Game structure
Planning
z
Choose a product and your PO
z
Help your PO to build up a PB
z
Help your PO to prioritize the PB items
z
Plan your first sprint
Sprinting
z
Day one - 7 min
z
Daily standup - 3 min
z
Day two - 7 min
z
Demonstration - 3 min (per a team)
58

Agile Software Development with


SCRUM SCRUMguides

Todays Agenda
; Opening: program overview, knowing each
other
; Understanding Agile and SCRUM
; SCRUM simulation
Extra SCRUM topics
59

Agile Software Development with


SCRUM SCRUMguides

SCRUM recap
z

Roles

Artifacts

Product Backlog
Sprint Backlog
Sprint/Release Burndown Chart

Meetings (ceremonies)

60

The Team
ScrumMaster
Product Owner

Sprint Planning
Daily Scrum (Stand-Up)
Sprint Review (Demo)
Retrospective
Agile Software Development with
SCRUM SCRUMguides

Todays Agenda
; Opening: program overview, knowing each other
; Understanding Agile and SCRUM
; SCRUM simulation
; Summary of SCRUM concepts

61

Agile Software Development with


SCRUM SCRUMguides

Join our community!


z

Ukrainian Agile community


www.agileukraine.org
Join our Google discussion group

62

Ukrainian SCRUM portal


www.scrum.com.ua
Agile Software Development with
SCRUM SCRUMguides

You might also like