Agile Methods SlideShare

download Agile Methods SlideShare

of 57

Transcript of Agile Methods SlideShare

  • 8/13/2019 Agile Methods SlideShare

    1/57

    Get Ready for

    Agile Methods!

    How to manage constant andrapid change in IT projects

    Dr Dimitris Dranidis

  • 8/13/2019 Agile Methods SlideShare

    2/57

    Get Ready for Agile Methods * D Dranidis 2

    Presentation outline

    Traditional methodologiesProblems

    Agile methodsExtreme ProgrammingSCRUM

    Conl!sions

  • 8/13/2019 Agile Methods SlideShare

    3/57

    Get Ready for Agile Methods * D Dranidis "

    Driving forces

    Deliver quickly.

    Change quickly.

    Change often.

    These three driving forces compel us torethink traditional software engineering

    practices.

    ## $im %ighsmith

  • 8/13/2019 Agile Methods SlideShare

    4/57

    Traditional

    methodologies

  • 8/13/2019 Agile Methods SlideShare

    5/57

    Get Ready for Agile Methods * D Dranidis &

    Classic

    Waterfall development model

  • 8/13/2019 Agile Methods SlideShare

    6/57

    Get Ready for Agile Methods * D Dranidis '

    Characteristics of the

    Waterfall development model %ea(y do!mentation

    E(ery )hase deli(ers aom)lete do!ment

    ate )rod!t deli(ery +ig#bang a))roah ,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 )ro0et1

  • 8/13/2019 Agile Methods SlideShare

    7/57Get Ready for Agile Methods * D Dranidis

    The problems

    +!siness en(ironment hanges at

    inreasing )ae1

    Un)reditability of re3!irements

    Traditional methodologies fail to satisfy

    en(ironment hanges d!e to4Resistane to hange

    Change inreases ost

    Conformane to an initial )lan

  • 8/13/2019 Agile Methods SlideShare

    8/57Get Ready for Agile Methods * D Dranidis 5

    Cost of change

    ate diso(ery of design defets

    Changingre3!irements

    Res!lt4 ostly o(er#r!ns

    and6 often6

    )ro0etanellation1

    7aterfall tries to avoid changeby free8ing re3!irements

    9contracts:

  • 8/13/2019 Agile Methods SlideShare

    9/57Get Ready for Agile Methods * D Dranidis ;

    Risk

  • 8/13/2019 Agile Methods SlideShare

    10/57Get Ready for Agile Methods * D Dranidis >?

    Customer feedback was late

  • 8/13/2019 Agile Methods SlideShare

    11/57Get Ready for Agile Methods * D Dranidis >>

    !ollowing plans when feedback is

    absent

    7itho!t feedba.

    7ith feedba.

  • 8/13/2019 Agile Methods SlideShare

    12/57Get Ready for Agile Methods * D Dranidis >2

    "ow can we deal with#

    Contin!o!s hange@Change is ine(itable

    Un)reditable re3!irements@

    %igh ris.s@

  • 8/13/2019 Agile Methods SlideShare

    13/57

    $gile methods

  • 8/13/2019 Agile Methods SlideShare

    14/57Get Ready for Agile Methods * D Dranidis >B

    $gile methods

    Agile flexible adaptable

    Embrae hange Try to red!e ost of hange

    o!s on !stomer satisfation 9and feedba.:

    rather than onformane to a )lan Early )rod!t deli(ery

  • 8/13/2019 Agile Methods SlideShare

    15/57Get Ready for Agile Methods * D Dranidis >&

    $gile methods value more

  • 8/13/2019 Agile Methods SlideShare

    16/57

    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 small 7aterfallF Deli(ers some f!ntionality

  • 8/13/2019 Agile Methods SlideShare

    17/57

  • 8/13/2019 Agile Methods SlideShare

    18/57

    Get Ready for Agile Methods * D Dranidis >5

    'CR()

    Soft-are de(elo)ment )roess for small teams

    9max ;: and small )ro0ets 9fe- months:

    ery sim)le6 only (ery fe- )rini)les and r!les Em)hasis on agile project management)raties

    Toyota !ses it sine the early >;;?s

  • 8/13/2019 Agile Methods SlideShare

    19/57

    Get Ready for Agile Methods * D Dranidis >;

    'CR() process overview

  • 8/13/2019 Agile Methods SlideShare

    20/57

    Get Ready for Agile Methods * D Dranidis 2?

    &nitial planning phase

    Establish (ision6

    b!dget

    Initial ProductBacklog ist of identified6

    )rioriti8ed feat!res

    Pre)ared by the!stomer

  • 8/13/2019 Agile Methods SlideShare

    21/57

    Get Ready for Agile Methods * D Dranidis 2>

    'prints * iterations

    >"? day iterations

    S)rint )lanning

    S)rint

    Daily Sr!m meetings

    S)rint re(ie-

  • 8/13/2019 Agile Methods SlideShare

    22/57

    Get Ready for Agile Methods * D Dranidis 22

    '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

  • 8/13/2019 Agile Methods SlideShare

    23/57

    Get Ready for Agile Methods * D Dranidis 2"

    'CR() * 'prints

    The team is left aloneand )rod!es the bestsoft-are )ossible

    ,o hanges are allo-ed duringa s)rintAnything an hange before and after

    Daily SCRUM meetings

  • 8/13/2019 Agile Methods SlideShare

    24/57

    Get Ready for Agile Methods * D Dranidis 2B

    Dail+ 'CR() meetings

    >& / "? min!tes stand#!)meetings

    at the same )lae at the same

    time e(ery -or. day H!estions to be ans-ered byeah 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 obstales and to s!))ly all neessary reso!res1

  • 8/13/2019 Agile Methods SlideShare

    25/57

    Get Ready for Agile Methods * D Dranidis 2&

    'print review

    At the end of a s)rint4Meeting -ith all sta.eholders

    Prod!t demonstration

    Anything an be hanged

    Contin!e@

  • 8/13/2019 Agile Methods SlideShare

    26/57

    Get Ready for Agile Methods * D Dranidis 2'

    'CR() closure phase

    Com)letes )rod!t

    de(elo)ment

    I)erational de)loyment Do!mentation

  • 8/13/2019 Agile Methods SlideShare

    27/57

    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

  • 8/13/2019 Agile Methods SlideShare

    28/57

    Get Ready for Agile Methods * D Dranidis 25

    '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

  • 8/13/2019 Agile Methods SlideShare

    29/57

    Get Ready for Agile Methods * D Dranidis 2;

    'CR() Roles%

    'crum )aster ,Pro.ect )anager- Ens!res Sr!m )raties

    are follo-ed

    Mediator bet-een

    management and team

    Remo(es obstales

    Cond!ts S)rint re(ie-

  • 8/13/2019 Agile Methods SlideShare

    30/57

    Get Ready for Agile Methods * D Dranidis "?

    'CR() /ogs%

    Product 0acklog Je)t by the Prod!t

    o-ner 9C!stomer:

    ist of identified6)rioriti8ed tas.s

    Dri(es team ati(ity

    U)dated and )rioriti8ed

    before eah s)rint

    Che.ed in eah meeting

    http://blogs.microsoft.co.il/blogs/kolbis/Sprint1Planning_5FB7F323.jpg
  • 8/13/2019 Agile Methods SlideShare

    31/57

    Get Ready for Agile Methods * D Dranidis ">

    'CR() /ogs%

    Product 0acklog

  • 8/13/2019 Agile Methods SlideShare

    32/57

    Get Ready for Agile Methods * D Dranidis "2

    'CR() /ogs%

    'print 0acklog ist of tas.s to be

    om)leted by the Sr!mTeam in the !rrent

    S)rint1 Tas.s in the range of B#

    >' ho!rs

    stimates are updateddail!" Total estimated time

    calculated

  • 8/13/2019 Agile Methods SlideShare

    33/57

    Get Ready for Agile Methods * D Dranidis ""

    'CR() /ogs%

    'print 0urn*down graphIdeal

    #ctual Remaining

    estimated

    time toom)leteall tas.s

  • 8/13/2019 Agile Methods SlideShare

    34/57

    Get Ready for Agile Methods * D Dranidis "B

    'CR() Practices%

    Pro.ect management 11 Self#direted teams

    $o guidancefrom management or %crum Master Don=t add to iteration

    $othing changes during a sprint Sr!m Master fire-all

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

    Deision in one ho!r Deisions for remo(ing blo.s are ta.en immediately Bad decisions are &etter than no decisions

    +lo.s remo(ed in one day

  • 8/13/2019 Agile Methods SlideShare

    35/57

    Get Ready for Agile Methods * D Dranidis "&

    'CR() Practices%

    Pro.ect management 11 'hickens and Pigs

  • 8/13/2019 Agile Methods SlideShare

    36/57

    Get Ready for Agile Methods * D Dranidis "'

    2ther 'CR() practices

    Small teams

  • 8/13/2019 Agile Methods SlideShare

    37/57

    Get Ready for Agile Methods * D Dranidis "

    'CR()1 the name#

    # scrum is a team

    pack in $ugby

    %verybody in the packacts together with

    everyone else to

    move the ball down

    the field

  • 8/13/2019 Agile Methods SlideShare

    38/57

    3P

    45tremeProgramming

  • 8/13/2019 Agile Methods SlideShare

    39/57

    Get Ready for Agile Methods * D Dranidis ";

    !our 6ariables 111

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

    A(ailable b!dget Time

    Pro0et d!rationH!ality

    Prod!t 3!ality So)e

    Prod!t feat!res

  • 8/13/2019 Agile Methods SlideShare

    40/57

    Get Ready for Agile Methods * D Dranidis B?

    !our 6ariables 111

  • 8/13/2019 Agile Methods SlideShare

    41/57

    Get Ready for Agile Methods * D Dranidis B>

    !our 6ariables 111

    All (ariables sho!ld be (isible to !stomer

    So)e is the best (ariable to ontrolix ost6 time and 3!ality

    Ad0!st so)e orres)ondingly

  • 8/13/2019 Agile Methods SlideShare

    42/57

    Get Ready for Agile Methods * D Dranidis B2

    3P Practices

    KP is based on the

    extreme a))liation of

    >2 )raties thats!))ort eah other1

  • 8/13/2019 Agile Methods SlideShare

    43/57

    Get Ready for Agile Methods * D Dranidis B"

    78 3P Practices

  • 8/13/2019 Agile Methods SlideShare

    44/57

    Get Ready for Agile Methods * D Dranidis BB

    3P Practices%

    Planning 9ame 11111 Pieces: !ser stories

    Re3!irements on index ards

    7ritten by the !stomer

  • 8/13/2019 Agile Methods SlideShare

    45/57

    Get Ready for Agile Methods * D Dranidis B&

    3P Practices%

    Planning 9ame 11111 Pla!ers: !stomer L de(elo)er

    C!stomer

    deides )riorities9+!siness (al!e:

    De(elo)er estimates effort

    )alue and *isk first"

  • 8/13/2019 Agile Methods SlideShare

    46/57

    Get Ready for Agile Methods * D Dranidis B'

    3P Practices%

    Planning 9ame 11111

  • 8/13/2019 Agile Methods SlideShare

    47/57

    Get Ready for Agile Methods * D Dranidis B

    3P Practices%

    Planning 9ame 11111

  • 8/13/2019 Agile Methods SlideShare

    48/57

    Get Ready for Agile Methods * D Dranidis B5

    3P Practices%

    Planning 9ame 11 End of iteration

  • 8/13/2019 Agile Methods SlideShare

    49/57

    Get Ready for Agile Methods * D Dranidis B;

    3P Practices%

    !re:uent Releases A release yle is !s!ally !) to" months

    A release yle onsists of

    iterations !) to " -ee.s

    #" days

    small and fre3!ent releases)ro(ide fre3!ent feedba.from the !stomer

  • 8/13/2019 Agile Methods SlideShare

    50/57

    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

    Pair )rogramming is a dialogbet-een t-o )eo)le trying to

    sim!ltaneo!sly )rogram and!nderstand ho- to )rogrambetterF6 &ent 'eck

    Continuous qualityinspection(

  • 8/13/2019 Agile Methods SlideShare

    51/57

    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)ets of thesystem

    a )rogrammer an be easily re)laed in the middle ofthe )ro0et

    Ens!res ontin!o!s ode ins)etion

    Costs >?#>& more than stand#alone)rogramming b!tN1 Code is sim)ler 9fe-er IC: -ith less defets 9>&:

  • 8/13/2019 Agile Methods SlideShare

    52/57

    Get Ready for Agile Methods * D Dranidis &2

    3P Practices%

    2n*site customer The !stomer m!st al-ays be a(ailable toans-er 3!estions

    resol(e ambig!itiesset )rioritiesre(ie- the )rod!t

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

  • 8/13/2019 Agile Methods SlideShare

    53/57

    Conclusions

  • 8/13/2019 Agile Methods SlideShare

    54/57

    Get Ready for Agile Methods * D Dranidis &B

    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.)lae Commitment

    C!stomer ommitmentManagement ommitment De(elo)ers ommitment

  • 8/13/2019 Agile Methods SlideShare

    55/57

    Get Ready for Agile Methods * D Dranidis &&

    Wrap*up

    Agile methodologies in a fast hanging-orld

    m&race change" The )eo)le fatorTr!st yo!r team

    User in(ol(ement

  • 8/13/2019 Agile Methods SlideShare

    56/57

    Get Ready for Agile Methods * D Dranidis &'

    Thank you!

    )t is not the strongest of the

    species that survives nor

    the most intelligent thatsurvives. )t is the one that is

    the most adaptable to

    change.Charles Dar-in

  • 8/13/2019 Agile Methods SlideShare

    57/57

    45perience in software pro.ect

    management O>? years of management of O&? short 9'#;

    )ms: soft-are )ro0ets