You are on page 1of 48

An

Introduction to
Agile SCRUM Methodology
Presumptions
Presumptions
The audience is well aware of traditional
software development methodologies like
Waterfall Model, Iterative models, etc.
Agenda
Agenda

Introduction

What is Agile Methodology?

What is crum?

!istory of crum

"unctionality of crum

#omponents of crum

crum $oles

The Process

crum Artifacts

caling crum

% & A ession
Introduction
Introduction
#lassical methods of software development have
many disadvantages'

huge effort during the planning phase

poor re(uirements conversion in a rapid changing


environment

treatment of staff as a factor of production

)ew methods'
Agile oftware *evelopment Methodology
What is Agile ?
What is Agile ?

Agile proponents +elieve

#urrent software development processes are too


heavyweight or cum+ersome

Too many things are done that are not directly related to
software product +eing produced

#urrent software development is too rigid

*ifficulty with incomplete or changing re(uirements

hort development cycles ,Internet applications-

More active customer involvement needed

#MM focuses on process


#ontd.
#ontd.

Agile methods are considered

/ightweight

People0+ased rather than Plan0+ased

everal agile methods

)o single agile method

1P most popular

)o single definition

Agile Manifesto closest to a definition

et of principles

*eveloped +y Agile Alliance


Agile Manifesto
Agile Manifesto
A Statement of Values

Individuals and interactions over processes and


tools

Working software over comprehensive


documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

http'22www.agilemanifesto.org
Agile Methods
Agile Methods

Agile methods'

crum

34treme Programming

Adaptive oftware *evelopment ,A*-

*ynamic ystem *evelopment Method ,**M-

Agile Alliance ,www.agilealliance.org-

A non0profit organi5ation promotes agile


development
crum
crum
crum in 677 words
crum in 677 words
crum is an agile process that allows us to focus on
delivering the highest +usiness value in the shortest
time.
It allows us to rapidly and repeatedly inspect actual
working software ,every two weeks to one month-.
The +usiness sets the priorities. 8ur teams self0manage
to determine the +est way to deliver the highest
priority features.
3very two weeks to a month anyone can see real working
software and decide to release it as is or continue to
enhance for another iteration.
!istory of crum
!istory of crum

199!

analysis of common software development processes not suita+le for empirical,


unpredicta+le and non0repeata+le processes

*esign of a new method' crum +y 9eff utherland & :en chwa+er

3nhancement of crum +y Mike ;eedle & com+ination of crum with 34treme


Programming

199"!
introduction of crum at 88P/A conference

#$$1!
pu+lication <Agile oftware *evelopment with crum= +y
:en chwa+er & Mike ;eedle

uccessful appliance of crum in over >7 companies


"ounders are mem+ers in the Agile Alliance
#haracteristics
#haracteristics

elf0organi5ing teams

Product progresses in a series of month0long <sprints=

$e(uirements are captured as items in a list of


<product +acklog=

)o specific engineering practices prescri+ed

?ses generative rules to create an agile environment


for delivering pro@ects

8ne of the <agile processes=


!ow crum Works?
!ow crum Works?
prints
prints

crum pro@ects make progress in a series of


<sprints=

Analogous to 1P iterations

Target duration is one month

A20 a week or two

;ut, a constant duration leads to a +etter


rhythm

Product is designed, coded, and tested during


the sprint
e(uential vs. 8verlapping *ev.
e(uential vs. 8verlapping *ev.
Requirements Design Code Test
)o changes during the sprint
)o changes during the sprint
Sprint
Inputs Tested Code
Change

Plan sprint durations around how long you


can commit to keeping change out of the
sprint
crum "ramework
crum "ramework

Roles ' Product 8wner, crumMaster, Team

Ceremonies ' print Planning, print $eview,


print $etrospective, & *aily crum Meeting

Artifacts ' Product ;acklog, print ;acklog,


and ;urndown #hart
Product 8wner
Product 8wner

*efine the features of the product

*ecide on release date and content

;e responsi+le for the profita+ility of the


product ,$8I-

Prioriti5e features according to market value

Ad@ust features and priority every iteration, as


needed

Accept or re@ect work results.


The crum Master
The crum Master

$epresents management to the pro@ect

$esponsi+le for enacting crum values and practices

$emoves impediments

3nsure that the team is fully functional and productive

3na+le close cooperation across all roles and


functions

hield the team from e4ternal interferences


crum Team
crum Team

Typically >067 people

#ross0functional

%A, Programmers, ?I *esigners, etc.

Mem+ers should +e full0time

May +e e4ceptions ,e.g., ystem Admin, etc.-

Teams are self0organi5ing

What to do if a team self0organi5es someone off the team??

Ideally, no titles +ut rarely a possi+ility

Mem+ership can change only +etween sprints


#eremonies
#eremonies

print Planning Meeting

print

*aily crum

print $eview Meeting


pring Planning Meeting
pring Planning Meeting
Sprint Planning
Meeting
Product Backlog
Team Capabilities
Business Conditions
Technology
Current Product
Sprint Backlog
P
r
o
d
u
c
t

O
w
n
e
r
S
c
r
u
m

T
e
a
m
M
a
n
a
g
e
m
e
n
t
C
u
s
t
o
m
e
r
s
Sprint oal
Parts of print Planning Meeting
Parts of print Planning Meeting

6
st
Part'

#reating Product ;acklog

*etermining the print Boal.

Participants' Product 8wner, crum Master,


crum Team

C
nd
Part'

Participants' crum Master, crum Team

#reating print ;acklog


Pre0Pro@ect2:ickoff Meeting
Pre0Pro@ect2:ickoff Meeting

A special form of print Planning Meeting

Meeting +efore the +egin of the Pro@ect


print
print

A month0long iteration, during which is


incremented a product functionality

)8 outside influence can interfere with the


crum team during the print

3ach print +egins with the *aily crum


Meeting
*aily crum
*aily crum

Parameters

*aily

6>0minutes

tand0up

)ot for pro+lem solving

Three (uestions'
6. What did you do yesterday
C. What will you do today?
D. What o+stacles are in your way?

#hickens and pigs are invited

!elp avoid other unnecessary meetings

8nly pigs can talk


*aily crum
*aily crum

Is )8T a pro+lem solving session

Is )8T a way to collect information a+out


W!8 is +ehind the schedule

Is a meeting in which team mem+ers make


commitments to each other and to the crum
Master

Is a good way for a crum Master to track the


progress of the Team
crum "A%s
crum "A%s

Why daily?

<!ow does a pro@ect get to +e a year late?=

<8ne day at a time.=

"red ;rooks, The Mythical Man!Month"

#an crum meetings +e replaced +y emailed status


reports?

)o

3ntire team sees the whole picture every day

#reate peer pressure to do what you say youEll do


print $eview Meeting
print $eview Meeting

Team presents what it accomplished


during the sprint

Typically takes the form of a demo of


new features or underlying architecture

Informal

C0hour prep time rule

Participants

#ustomers

Management

Product 8wner

8ther engineers
print $etrospective Meeting
print $etrospective Meeting

crum Team only

"eed+ack meeting

Three (uestions

tart

top

#ontinue

*onEt skip for the first >0F sprintsGGG


Product ;acklog
Product ;acklog

A list of all desired work on the pro@ect

?sually a com+ination of

story0+ased work ,<let user search and


replace=-

task0+ased work ,<improve e4ception


handling=-

/ist is prioriti5ed +y the Product 8wner

Typically a Product Manager, Marketing, Internal


#ustomer, etc.
Product ;acklog
Product ;acklog

$e(uirements for a system, e4pressed as a


prioriti5ed list of ;acklog Items

Is managed and owned +y a Product 8wner

preadsheet ,typically-

?sually is created during the print Planning


Meeting

#an +e changed and re0prioriti5ed +efore


each PM
ample Product ;acklog
ample Product ;acklog
"rom print Boal to print ;acklog
"rom print Boal to print ;acklog

crum team takes the print Boal and


decides what tasks are necessary

Team self0organi5es around how theyEll meet


the print Boal

Manager doesnEt assign tasks to individuals

Managers donEt make decisions for the team

print ;acklog is created


print ;acklog during the print
print ;acklog during the print

#hanges

Team adds new tasks whenever they need to in


order to meet the print Boal

Team can remove unnecessary tasks

;ut' print ;acklog can only +e updated +y the


team

3stimates are updated whenever thereEs new


information
print ;acklog
print ;acklog

A su+set of Product ;acklog Items, which


define the work for a print

Is created 8)/H +y Team mem+ers

3ach Item has itEs own status

hould +e updated every day


print ;acklog
print ;acklog

)o more than D77 tasks in the list

If a task re(uires more than 6F hours, it


should +e +roken down

Team can add or su+tract items from the list.


Product 8wner is not allowed to do it
ample print ;acklog
ample print ;acklog
print ;urn down #hart
print ;urn down #hart

*epicts the total print ;acklog hours


remaining per day

hows the estimated amount of time to


release

Ideally should +urn down to 5ero to the end of


the print

Actually is not a straight line

#an +ump ?P
Information $adiator
Information $adiator
ITwo characteristics are key to a good
information radiator. The first is that the
information changes over time. This makes it
worth a personJs while to look at the display...
The other characteristic is that it takes very
little energy to view the display.I
print ;urndown #hart
print ;urndown #hart
$elease ;urndown #hart
$elease ;urndown #hart

Will the release +e done on right time?

10a4is' sprints

H0a4is' amount of hours remaining

The estimated work remaining can also +urn


up
Product ;urndown #hart
Product ;urndown #hart

Is a <+ig picture= view of pro@ectEs progress ,all


the releases-
cala+ility of crum
cala+ility of crum

A typical crum team is F067 people

9eff utherland 0 up to over K77 people

Icrum of crumsI or what called IMeta0


crum<

"re(uency of meetings is +ased on the


degree of coupling +etween packets
cala+ility of crum
cala+ility of crum
cala+ility of crum
cala+ility of crum
Pros2#ons
Pros2#ons

Advantages

#ompletely developed
and tested features in
short iterations

implicity of the
process

#learly defined rules

Increasing productivity

elf0organi5ing

each team mem+er


carries a lot of
responsi+ility

Improved
communication

#om+ination with
34treme Programming

*raw+acks

<?ndisciplined hacking=
,no written
documentation-

Liolation of
responsi+ility

#urrent mainly carried


+y the inventors
Thank Hou GGG

You might also like