Professional Documents
Culture Documents
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
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
&
%ea(y do !mentation
E(ery
'
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
Cost of change
defe ts
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
>?
7itho!t feedba .
>>
Contin!o!s hange@
Change
is ine(itableA
>2
$gile methods
$gile methods
Do !s on
!stomer satisfa tion 9and feedba .: rather than onforman e to a )lan Early )rod! t deli(ery
>B
<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
>&
&terative process
re)eats a Esmall 7aterfallF Deli(ers some f!n tionality <n remental a))roa h ,o extensions of deadlines
>'
'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
>5
>;
2?
'prints * iterations
>&#"? day iterations S)rint )lanning S)rint Daily S r!m meetings S)rint re(ie2>
'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
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
2"
>& / "? 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
'print review
2&
de)loyment Do !mentation
2'
'CR() Roles%
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
'CR() Roles%
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
25
'CR() Roles%
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-
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
"?
'CR() /ogs%
Product 0acklog
">
'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!"
"2
'CR() /ogs%
#ctual Ideal
""
'CR() Practices%
Pro.ect management 11
isions for remo(ing blo .s are ta.en immediately Bad decisions are &etter than no decisions
'CR() Practices%
Pro.ect management 11
<n a SCRUM meeting onl! the SCRUM Team may tal. 9the )igs: E(erybody else 9the hi .ens: an attend silently
"&
Small teams
<deally
"'
# scrum is a team pack in $ugby %verybody in the pack acts together with everyone else to move the ball down the field
"2
3P 45treme Programming
A(ailable b!dget Time Pro0e t d!ration H!ality Prod! t 3!ality S o)e Prod! t feat!res
";
<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
B?
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
B2
78 3P Practices
B"
3P Practices%
BB
3P Practices%
De(elo)er
estimates
3P Practices%
2#" -ee.s long C!stomer sele ts E!ser storiesF fitting !rrent iteration De(elo)ers brea. !ser stories in tas.s
B'
3P Practices%
Com)leteness
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
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;
3P Practices%
Pair programming 11
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(
&?
3P Practices%
Pair programming 11
)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
3P Practices%
2n*site customer
Conclusions
; )ersons:
&B
Wrap*up
User in(ol(ement
<n(ol(e
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 &'
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
&2