You are on page 1of 57

Get Ready for

Agile Methods!
How to manage constant and rapid change in IT projects

Dr Dimitris Dranidis

Presentation outline

Traditional methodologies
Problems

Agile methods
Extreme SCRUM

Programming

Con l!sions

Get Ready for Agile Methods * D Dranidis

Driving forces
Deliver quickly. Change quickly. Change often. These three driving forces compel us to rethink traditional software engineering practices. ## $im %ighsmith
Get Ready for Agile Methods * D Dranidis "

Traditional methodologies

Classic Waterfall development model

Get Ready for Agile Methods * D Dranidis

&

Characteristics of the Waterfall development model

%ea(y do !mentation
E(ery

)hase deli(ers a om)lete do !ment

*ate )rod! t deli(ery


+ig#bang

a))roa h ,o ode is -ritten before the Coding )hase

*ate feedba . / lo- !stomer in(ol(ement


C!stomer

is in(ol(ed at the beginning and at the end of the )ro0e t1

Get Ready for Agile Methods * D Dranidis

'

The problems
+!siness en(ironment hanges at in reasing )a e1 Un)redi tability of re3!irements Traditional methodologies fail to satisfy en(ironment hanges d!e to4

Resistan

e to hange Change in reases ost Conforman e to an initial )lan


Get Ready for Agile Methods * D Dranidis 2

Cost of change

*ate dis o(ery of


design

defe ts

Changing re3!irements Res!lt4


ostly o(er#r!ns and6 often6 )ro0e t an ellation1

7aterfall tries to avoid change by free8ing re3!irements 9contracts:


5

Get Ready for Agile Methods * D Dranidis

Risk

<n a -aterfall )ro ess6 yo! don=t .no- if yo! ha(e a )roblem !ntil late in the life y le1
Ris. is (ery high !ntil yo! see some res!lts

Get Ready for Agile Methods * D Dranidis

Customer feedback was late

Get Ready for Agile Methods * D Dranidis

>?

!ollowing plans when feedback is absent


7ith feedba .

7itho!t feedba .

Get Ready for Agile Methods * D Dranidis

>>

"ow can we deal with#

Contin!o!s hange@
Change

is ine(itableA

Un)redi table re3!irements@ %igh ris.s@

Get Ready for Agile Methods * D Dranidis

>2

$gile methods

$gile methods

Agile C flexible adaptable Embra e hangeA


Try

to red! e ost of hange

Do !s on
!stomer satisfa tion 9and feedba .: rather than onforman e to a )lan Early )rod! t deli(ery

Get Ready for Agile Methods * D Dranidis

>B

$gile methods value more

<ndi(id!als and intera tions o(er )ro esses and tools 7or.ing soft-are o(er om)rehensi(e do !mentation C!stomer ollaboration o(er ontra t negotiation Res)onding to hange o(er follo-ing a )lan
>&

Get Ready for Agile Methods * D Dranidis

Common characteristic of all agile methods%

&terative process

De(elo)ment is bro.en do-n in short iterations E(ery iteration


re)eats a Esmall 7aterfallF Deli(ers some f!n tionality <n remental a))roa h ,o extensions of deadlines

<terations are time#boxed4

There is a )rod! t e(en if the )ro0e t is an elled

Get Ready for Agile Methods * D Dranidis

>'

'CR()

'CR()

Soft-are de(elo)ment )ro ess for small teams 9max ;: and small )ro0e ts 9fe- months: Gery sim)le6 only (ery fe- )rin i)les and r!les
Em)hasis

on agile project management )ra ti es

Toyota !ses it sin e the early >;;?s

Get Ready for Agile Methods * D Dranidis

>5

'CR() process overview


<terati(e <n remental Time#boxed

Get Ready for Agile Methods * D Dranidis

>;

&nitial planning phase

Establish (ision6 b!dget Initial Product Backlog


*ist

of identified6 )rioriti8ed feat!res Pre)ared by the !stomer

Get Ready for Agile Methods * D Dranidis

2?

'prints * iterations

>&#"? day iterations S)rint )lanning S)rint Daily S r!m meetings S)rint re(ie2>

Get Ready for Agile Methods * D Dranidis

'print planning

S)ring ba .log
*ist

of feat!res to be im)lemented in the !rrent S)rint The most im)ortant feat!res from the Prod! t +a .log Ex)anded to list of tas.s by team

Get Ready for Agile Methods * D Dranidis

22

'CR() * 'prints

The team is left alone and )rod! es the best soft-are )ossible ,o hanges are allo-ed during a s)rint
Anything

an hange before and after

Daily SCRUM meetings

Get Ready for Agile Methods * D Dranidis

2"

Dail+ 'CR() meetings


>& / "? min!tes stand#!) meetings at the same )la e at the same time e(ery -or. day H!estions to be ans-ered by ea h team member4

!hat have you done since the last scrum meeting" !hat obstacles stand in the way" !hat do you plan on doing between now and the next scrum meeting"

Managements role:

remo(e any obsta les and to s!))ly all ne essary reso!r es1
2B

Get Ready for Agile Methods * D Dranidis

'print review

At the end of a s)rint4


Meeting

-ith all sta.eholders Prod! t demonstration Anything an be hanged Contin!e@

Get Ready for Agile Methods * D Dranidis

2&

'CR() closure phase

Com)letes )rod! t de(elo)ment


I)erational

de)loyment Do !mentation

Get Ready for Agile Methods * D Dranidis

2'

'CR() Roles%

Product owner ,Customer

Res)onsible for reating and )rioriti8ing the Prod! t +a .log Chooses goals for the next S)rint Re(ie-s the system after the S)rint
22

Get Ready for Agile Methods * D Dranidis

'CR() Roles%

'crum Team ,developers

Ex)and the S)rint +a .log to Tas.s 7or. on the S)rint +a .log tas.s De(elo) the system Daily meetings

Get Ready for Agile Methods * D Dranidis

25

'CR() Roles%

'crum )aster ,Pro.ect )anager

Ens!res S r!m )ra ti es are follo-ed Mediator bet-een management and team Remo(es obsta les Cond! ts S)rint re(ie-

Get Ready for Agile Methods * D Dranidis

2;

'CR() /ogs%

Product 0acklog

Je)t by the Prod! t o-ner 9C!stomer: *ist of identified6 )rioriti8ed tas.s Dri(es team a ti(ity U)dated and )rioriti8ed before ea h s)rint Che .ed in ea h meeting
"?

Get Ready for Agile Methods * D Dranidis

'CR() /ogs%

Product 0acklog

Get Ready for Agile Methods * D Dranidis

">

'CR() /ogs%

'print 0acklog

*ist of tas.s to be om)leted by the S r!m Team in the !rrent S)rint1 Tas.s in the range of B# >' ho!rs stimates are updated dail!"

Total estimated time calculated

Get Ready for Agile Methods * D Dranidis

"2

'CR() /ogs%

'print 0urn*down graph

Remaining estimated time to om)lete all tas.s

#ctual Ideal

Get Ready for Agile Methods * D Dranidis

""

'CR() Practices%

Pro.ect management 11

Self#dire ted teams


$o

guidance from management or %crum Master changes during a sprint

Don=t add to iteration


$othing Team

S r!m Master fire-all


is not interrupted &! an!one %crum Master removes o&stacles

De ision in one ho!r


De

isions for remo(ing blo .s are ta.en immediately Bad decisions are &etter than no decisions

+lo .s remo(ed in one day


"B

Get Ready for Agile Methods * D Dranidis

'CR() Practices%

Pro.ect management 11

'hickens and Pigs


<n a SCRUM meeting onl! the SCRUM Team may tal. 9the )igs: E(erybody else 9the hi .ens: an attend silently

Get Ready for Agile Methods * D Dranidis

"&

2ther 'CR() practices

Small teams
<deally

2 members *arger )ro0e ts an be m!lti)le teams

Common room Daily +!ild

Get Ready for Agile Methods * D Dranidis

"'

'CR()1 the name#

# scrum is a team pack in $ugby %verybody in the pack acts together with everyone else to move the ball down the field

Get Ready for Agile Methods * D Dranidis

"2

3P 45treme Programming

!our 6ariables 111

Control (ariables of soft-are de(elo)ment


Cost

A(ailable b!dget Time Pro0e t d!ration H!ality Prod! t 3!ality S o)e Prod! t feat!res

Get Ready for Agile Methods * D Dranidis

";

!our 6ariables 111

<t is im)ossible to ontrol all fo!r (ariables C!stomers an hoose to ontrol any ( of the (ariables De(elo)ers )i . the res!ltant (al!e of the Bth (ariable

Get Ready for Agile Methods * D Dranidis

B?

!our 6ariables 111

All (ariables sho!ld be (isible to !stomer S o)e is the best (ariable to ontrol
Dix

ost6 time and 3!ality Ad0!st s o)e orres)ondingly <f there is no time to om)lete the -hole )ro0e t remo(e some f!n tionality 9 !stomer hooses:
Get Ready for Agile Methods * D Dranidis B>

3P Practices

KP is based on the extreme a))li ation of >2 )ra ti es that s!))ort ea h other1

Get Ready for Agile Methods * D Dranidis

B2

78 3P Practices

Get Ready for Agile Methods * D Dranidis

B"

3P Practices%

Planning 9ame 11111

Pieces: !ser stories


Re3!irements on index ards 7ritten by the !stomer

Get Ready for Agile Methods * D Dranidis

BB

3P Practices%

Planning 9ame 11111


Pla!ers: !stomer L de(elo)er C!stomer


de

ides )riorities 9+!siness (al!e: effort

De(elo)er
estimates

)alue and *isk first"


B&

Get Ready for Agile Methods * D Dranidis

3P Practices%

Planning 9ame 11111

<teration )lanning 9before ea h iteration:


Time#boxed4

2#" -ee.s long C!stomer sele ts E!ser storiesF fitting !rrent iteration De(elo)ers brea. !ser stories in tas.s

Get Ready for Agile Methods * D Dranidis

B'

3P Practices%

Planning 9ame 11111

<nside the iteration


,o

ne- E!ser storiesF are added

Com)leteness

is meas!red in terms of om)leted E!ser storiesF

Get Ready for Agile Methods * D Dranidis

B2

3P Practices%

Planning 9ame 11

End of iteration
<teration

ends at the )re#s)e ified date E(en if not all !ser stories -ere im)lemented

Estimations

are e(al!ated and read0!sted for next iterations

Get Ready for Agile Methods * D Dranidis

B5

3P Practices%

!re:uent Releases

A release y le is !s!ally !) to " months A release y le onsists of iterations !) to " -ee.s <n ea h iteration the sele ted !ser stories are im)lemented Ea h !ser story is s)lit in )rogramming tas.s of >#" days small and fre3!ent releases )ro(ide fre3!ent feedba . from the !stomer
B;

Get Ready for Agile Methods * D Dranidis

3P Practices%

Pair programming 11

T-o )rogrammers sit together in front of a -or.station


one enters ode one re(ie-s the ode and thin.s

EPair )rogramming is a dialog bet-een t-o )eo)le trying to sim!ltaneo!sly )rogram and !nderstand ho- to )rogram betterF6 &ent 'eck Continuous quality inspection(
&?

Get Ready for Agile Methods * D Dranidis

3P Practices%

Pair programming 11

Pairs hange ontin!o!sly 9fe- times in a day:


e(ery

)rogrammer .no-s all the as)e ts of the system a )rogrammer an be easily re)la ed in the middle of the )ro0e t

Ens!res ontin!o!s ode ins)e tion Costs >?#>&M more than stand#alone )rogramming b!tN1
Code

is sim)ler 9fe-er *IC: -ith less defe ts 9>&M:


&>

Get Ready for Agile Methods * D Dranidis

3P Practices%

2n*site customer

The !stomer m!st al-ays be a(ailable to


ans-er

3!estions resol(e ambig!ities set )riorities re(ie- the )rod! t

C!stomer is onsidered )art of the team Contin!o!s feedba .A

Get Ready for Agile Methods * D Dranidis &2

Conclusions

Re:uirements for the success of agile methods


Collaborati(e en(ironment Peo)le# entered organi8ations Small to medi!m si8ed teams


9a(g1

; )ersons:

Common o)en -or.)la e Commitment


C!stomer

ommitment Management ommitment De(elo)ers ommitment

Get Ready for Agile Methods * D Dranidis

&B

Wrap*up

Agile methodologies in a fast hanging -orldA

m&race change" yo!r teamA the !stomerA

The )eo)le fa tor


Tr!st

User in(ol(ement
<n(ol(e

Usef!l )ra ti es e(en in a traditional de(elo)ment )ro ess


&&

Get Ready for Agile Methods * D Dranidis

Thank you!
)t is not the strongest of the species that survives nor the most intelligent that survives. )t is the one that is the most adaptable to change. Charles Dar-in
Get Ready for Agile Methods * D Dranidis &'

45perience in software pro.ect management

O>? years of management of O&? short 9'#; )ms: soft-are )ro0e ts


<nd!strial

Gro!) Pro0e ts Teams of !ndergrad!ate and )ostgrad!ate st!dents de(elo)ing soft-are for the ind!stry Plenty of s! esses and fail!res
htt)4PPin(ent1

ity1a ademi 1grP

Get Ready for Agile Methods * D Dranidis

&2

You might also like