Agile Software Develoment 6866

download Agile Software Develoment 6866

of 41

Transcript of Agile Software Develoment 6866

  • 7/31/2019 Agile Software Develoment 6866

    1/41

    Phng php pht trin phn mm linh hotAgile Software Development

    Nhm nghin cu:

    - Triu Minh Tin- Nguyn Vit Tng- Phm c Khnh(Chng trnh Vit - Nht * i hc Bch Khoa H Ni)

    HEDSPI HUT

    Ti liu tham kho:- Agile software development methods - Review and analysisPekka Abrahamsson, Outi Salo & Jussi Ronkainen, 2002

    - An Introduction to Agile Methods

    Steve Hayes (Khatovar Technology)

    Martin Andrews (Object Consulting)

    - Internet

    http://en.wikipedia.org/wiki/Agile_Software_Development

    I. Tng quan:1. Scn thit ca mt m hnh pht trin phn mm mi

    Chng ta vit phn mm c 30 nm nhng nhng g chng ta lm

    c cn rt t. Thnh cng ca chng ta c thc y bi s tng tng, sng

    to ca con ngi. Chng ta cng vit ra nhiu phn mm th si hi, yu cu

    ca con ngi cng nhiu. Chnh v vy, nhng nh qun l v pht trin phn

    mm tip tc tm kim phng thc pht trin phn mm tt hn. So vi 30 nm

    trc chng ta c nhng chic my tnh r hn, nhanh hn, nhiu ngn ng lptrnh mnh m ra i, s lng nhiu hn cn thit nhng cng c h tr, so

    to tt hn v c nhng hiu bit su hn v l thuyt phn mm. Internet thay

    i cch con ngi giao tip vi nhau, thc y s trao i thng tin v thay i

    mt cch trit s k vng ca con ngi v cch thc phn mm lm vic.

    Chng ta cng c s lng ng k nhng phng php khc nhau gip xc nh

  • 7/31/2019 Agile Software Develoment 6866

    2/41

    con ng pht trin phn mm tt nht v chnh l kha cnh ca vic pht

    trin phn mm m chng ta s tp trung vo trong thi gian ti.

    a. Nhng hn ch ca m hnh pht trin phn mm truyn thng

    c rt nhiu m hnh pht trin phn mm c to ra trong nhng nm

    qua. C th kn nh:- Pure waterfall

    - Code-and-Fix

    - Spiral

    - Modifed Waterfalls

    - Evolutionary Prototyping

    - Staged Delivery

    - Evolutionary Delivery

    - Design-to-Schedule- Design-to-Tools

    - Commercial Off-the-shelf Software

    Khi xy dng cc phng php truyn thng ngi ta c gng trang b

    cho chng kh nng don trc. Vi kh nng ny ta c th to ra mt bn

    k hoch ti thi im u ca d n v xc nh c thi gian hon thnh d

    n da theo bn k hoch ny. V vn c hu trong qu trnh thc hin d

    n vn l s thay i yu cu ca ngi dng. Thng thng khch hng

    khng thay i yu cu ca h bi v h bit rng chi ph thay i rt t.Tuy nhin phn mm khng phi l th hu hnh. Khch hng khng ch kh

    xc nh mt cch chnh xc ci g l cn thit m cng kh hiu ti sao

    vic thay i li kh khn nh vy. H mong i mt phn mm phi c tnh

    mm do. Nhng phng php truyn thng a ra nhng th tc nhm

    ngn chn s thay i yu cu t pha khch hng. iu ny gip duy tr bn

    k hoch d n xy dng ban u nhng li khng m bo rng kt qu

    cui cng l nhng g m khch hng mong mun. Kh nng don trc c

    th l iu c ao nhng ta ch c tht c iu vi gi phi tr l s

    gim st cht lng phn mm khng tha mn c i hi ca khch hng.

    Vi nhng hn ch nh vy ca nhng phng php pht trin phn mm

    truyn thng, ta thc mc rng ti sao chng li c s dng v nu chng

    c s dng trong qu kh th li t b chng by gi? Phi chng mt vi

    th thay i. Trong sut thp nin 80 nhng thay i cbn xy ra v

  • 7/31/2019 Agile Software Develoment 6866

    3/41

    kt qu l hnh thnh nn th gii nhanh th gii ca s ton cu ha v

    th gii chm ca nhng ai t tch mnh ra khi qu trnh ton cu ha. S

    pht trin phn mm din ra trong th gii nhanh v s thay i din ra ng

    thi cng ngh, ti chnh, thng tin v i km vi chng l s db nhng

    hng ro chnh trc duy tr sut thi k chin tranh lnh. Mi vic din ranhanh hn. Nhng i th xut hin, s thnh cng hay tht bi ch l ranh gii

    mong manh. Vng i ca sn phm ngn hn v ngi dng th hay thay i.

    Khng c g l ngc nhin khi nhng phng php ph hp vi thp nin 70

    li tht bi trong thp nin 80 v 90.

    b. Sni ln ca phng php linh hot

    Trong thp k 90 nhiu ngi nhn ra mi th thay i bng cch ny

    hay cch khc. Nhng ngi ny quan tm ti phng php pht trin phn

    mm linh hot hn, ph hp hn vi mi trng lm vic lun lun vn ng.Mc d chi tit nhng phng php ny l khc nhau nhng chng u c

    chung mt s nguyn tc v trong mt phm vi no nhng phng php ny

    thng c nhm li vi nhau di tn gi nhng phng php linh hot

    agile methodologies.

    2. Phng php linh hot

    Phng php pht trin phn mm linh hot c a ra vo gia nhng nm

    90 nh l mt phn ca s n lc chng li nhng phng php nng n in

    hnh bi nhng quy nh kht khe. Ban u chng c gi l phng php nh.n nm 2001, 17 thnh vin ni bt ca cng ng pht trin phn mm linh hot

    gp gti Snowbird, Utah tho lun v cch thc to ra phn mm linh hot

    hn, nhanh hn v hng con ngi hn. H thng qua tn gi chnh thc

    phng php linh hot. V cng trong hi ngh ny, Agile Manifesto tuyn

    ngn v phng php linh hot c a ra v c cng nhn rng ri nh l

    mt nh ngha chun ca phng php pht trin linh hot km theo nhng

    nguyn tc cbn. Bn tuyn ngn hng ti nhng gi tr:

    - Sc lp v stng tc da trn cc quy trnh v cng c : svn ng

    linh hot nhn mnh mi quan h v cng ng cc nh pht trin phn mm v

    vai tr ca con ngi c phn nh trong hp ng, tri vi nhng quy trnh

    c th ch ha v nhng cng c pht trin. Trong thc tin n t th hin

    thng qua nhng mi quan h cht ch trong nhm, vic to ra mi trng lm

    vic gn gi, v nhng th tc khc nng cao tinh thn ca nhm.

  • 7/31/2019 Agile Software Develoment 6866

    4/41

    - Vn hnh phn mm da trn ti liu hng dn ton din : cc mc tiu

    quan trng ca nhm pht trin phn mm l lin tip a ra nhng phn mm

    c kim th. Nhng phin bn mi thng c a ra hng thng thm ch

    mt vi phng php l hng gihoc hng ngy. Nhng nh pht trin lun c

    gng gicho m ngun n gin, r rng nht c th, bi vy gnh nng v tiliu hng dn c gim bt.

    - Scng tc vi khch hng da trn thng tho hp ng : mi quan h

    v shp tc gia nhng nh pht trin v khch hng c nh r thng qua

    nhng bn hp ng cht ch. Nhng d n cng ln th cng cn mt bn d

    tho hp ng cht ch. Qu trnh thng lng nn c nh gi nh l

    phng tin tc v duy tr mi quan h. Nhn tquan im kinh doanh,

    phng php pht trin linh hot tp trung vo vic nhanh chng a ra c

    nhng sn phm c thp ng nhng yu cu cbn ca khch hng ngay saukhi dn c tin hnh; do lm gim nguy cvhp ng.

    - p ng vi thay i da trn mt k hoch theo sau : nhm pht trin gm

    c nhng nh pht trin phn mm v i din khch hng nn c cung cp

    thng tin y , h c thm quyn v c y thc xem xt nhng siu

    chnh cn thit trong sut vng i ca quy trnh pht trin phn mm. Nhvy

    nhng ngi tham gia c chun bi mt vi nhng thay i v c tha

    ra c bn hp ng htrv cho php sthay i.

    Mt s nguyn tc i km sau tuyn ngn c th kn nh:

    - Phn mm chy n nh c bn giao thng xuyn (hng tun hoc

    hng thng)

    - Nhng thay i yu cu d mun lun c hoan nghnh

    - S hp tc gn b khng kht gia nh kinh doanh v nhng nh pht

    trin phn mm

    - i thoi trc tip l hnh thc giao tip tt nht

    - D n c tin hnh bi nhng c nhn nhit tnh, tn ty, ng tin cy

    - Lun lun ch trng ti k thut v thit k

    - S n gin

    - Cc nhm t t chc

    - S thch nghi vi nhng nhng thay i

    3. So snh vi cc phng php khc

  • 7/31/2019 Agile Software Develoment 6866

    5/41

    Phng php pht trin linh hot i khi b nh gi l thiu tnh k lut.

    Nhng nhn xt nh vy gy ra s hiu lm. hiu vn mt cch ng n, ta

    c th hnh dung rng nhng phng php pht trin phn mm hin c nm trn

    mt trc i t kh nng thch ng ti kh nng d on trc th phng php

    pht trin linh hot nm v pha kh nng thch ng.Nhng phng php nm v pha kh nng thch ng c th thch nghi

    nhanh chng vi nhng thay i ca thc t. Khi m nhng yu cu ca d n

    thay i, nhm thc hin cn phi c nhng iu chnh thch hp. H s gp kh

    khn m t chnh xc nhng g s xy ra trong tng lai. Tng lai cng xa th

    s kh khn cng ln. Nhm thc hin c th bo co chnh xc cng vic s

    c tin hnh trong tun ti nhng ch c th bo co nhng tnh nng no s

    c xy dng trong thng ti. V khi c hi v phin bn phn mm trong 6

    thng tip theo th h ch c th a ra c nhng tnh nng chung nht hoc ara kinh ph d kin.

    Trong khi nhng phng php nm v pha kh nng d bo trc trong

    hp ng vi khch hng, tp trung vo xy dng mt k hoch chi tit cho tng

    lai. Nhm thc hin d n c th bo co chnh xc nhng tnh nng v cng vic

    cn thc hin trong ton b quy trnh pht trin phn mm. Bn k hoch c ti

    u ho cho nhng mc tiu t ra lc u v s thay i c th khin cho cng

    vic hon thnh trnn v ngha. Nhm pht trin d n s xy dng mt bng

    kim sot nhng thay i m bo rng ch nhng thay i c gi tr mi cxem xt n.

    a. Phn bit vi m hnh thc ncPhng php pht trin linh hot c vi im chung nh vi m hnh thc

    nc. Hin nay m hnh thc nc vn c s dng ph bin. N c ln k

    hoch trc v c tin hnh ln lt qua cc bc nm bt yu cu, phn

    tch, thit k, vit code v kim th mt cch nghim ngt. Vn ca m hnh

    thc nc l s phn chia cng nhc d n thnh cc giai on ring bit v do

    rt kh khn khi mun thay i yu cu. Chi ph thc hin li rt t.

    iu c ngha l m hnh thc nc khng thch hp khi m khng th xc

    nh chnh xc, r rng yu cu ca khch hng hoc nhng yu cu c th

    thay i trong qu trnh tin hnh d n. Phng php pht trin linh hot,

    trong hp ng, s nhanh chng a ra sn phm hot ng n nh vi nhng

    tnh nng cbn gip khch hng sm c s dng sn phm phc v mc

  • 7/31/2019 Agile Software Develoment 6866

    6/41

    ch ca h. Sau nhm pht trin tip tc nng cp sn phm trong sut thi

    gian tin hnh d n, hng tun hoc thng s b sung nhng tnh nng c

    c pht trin v kim th ton din.

    Theo kha cnh ny, nhng ngi ch trch phng php linh hot c th

    qu quyt rng nhng tnh nng ny khng c xem xt trong quy m ton dn. Nu ngi ti trd n lo ngi v thi gian hon thnh ton b d n

    c nh trc hay ngn sch u t cho d n th phng php linh hot c

    th khng thch hp. Tuy nhin li ch trch ny gp phi s phn i ca cng

    ng pht trin phn mm linh hot. H cho rng vi SCUM (mt phng

    php pht trin linh hot s c tm hiu khn phn sau), nhm pht trin

    c th y nhanh tin thc hin v lin tc ci thin k hoch chin lc.

    Vi nhm pht trin phn mm linh hot s dng m hnh thc nc vi

    quy m nh trong cc giai on ca d n.b. Phn bit vi Cowboy coding

    Khi nhng thnh vin trong nhm lm bt c iu g h cho l ng, khng

    tun th k lut, nguyn tc th ngi ta gi l Cowboy coding. S

    thng xuyn nh gi li cc k hoch ca phng php pht trin linh hot,

    s ch trng vo giao tip mt i mt trc tip v vn ti liu hng dn i

    km kh t i khi khin cho ngi dng lm tng n vi cowboy coding.

    Tuy nhin thc t l nhm pht trin phn mm linh hot lun lm vic theo

    mt quy trnh c vch r ( v thng rt k lut v nghim ngt).Ging nh tt c cc phng php pht trin phn mm, k nng v kinh

    nghim ca ngi s dng quyt nh mc thnh cng hoc tht bi ca

    sn phm. Cng c nhiu h thng kim sot kht khe c nhng vo trong

    quy trnh pht trin th trch nhim ca ngi s dng cng c nng cao.

    II. Cc phng php pht trin phn mm linh hot

    Cc phng php pht trin phn mm linh hot hin nay bao gm: Extreme

    programming (XP), Scrum, Crystal family of methodologies, Feature Driven

    Development (FDD), The Rational Unified Process, Dynamic Systems

    Development Menthod (DSDM), Adaptive Software Development, Open Sourse

    Software Development, ngoi ra cn c cc phng php khc.

  • 7/31/2019 Agile Software Develoment 6866

    7/41

    1. Lp trnh cc hn - Extreme programming (XP)XP l mt phng php xy dng phn mm mi, da trn l thuyt phng

    php pht trin phn mm linh hot c pht trin bi Kent Beck, Ward

    Cunningham, and Ron Jeffries, n nhn mnh vo s cng tc, to ra phn mm

    mt cch nhanh chng, v pht trin mrng mt cch kho lo trong qu trnhthc hnh. N c c ng li trong bn gi tr: s giao tip (communication),

    n gin ha (simplicity), s phn hi (feedback), v th mnh (courage).

    Nu bn lm vic trong mt mi trng m cc nhu cu c ch

    thay i v cc khch hng s c li t vic bn giao phn mm sm v

    thng xuyn th chc chn nn xem xt XP . Cc nhm lm theo XP s thng

    xuyn nhn ra rng h ang bn giao cc sn phm phn mm cht lng cao

    vi s lng rt ln v nhanh hn trc y rt nhiu.

    [http://vi.wikipedia.org/wiki/Lp_trnh_cc_hn]XP bao gm mt tp hp cc lut gi tr v thc hnh gip ngi lp trnh

    m t chi tit cc hnh vi. Vng i ca XP gm c cc pha: Kho st

    (Exploration), Lp k hoch (Planning), Cc bc lp pht hnh (Iteration to

    Release), Sn xut (Productionizing), Bo tr v kt thc (Maintenance and

    Death).

  • 7/31/2019 Agile Software Develoment 6866

    8/41

  • 7/31/2019 Agile Software Develoment 6866

    9/41

    Pha Cht bt u khi khch hng khng cn yu cu no na thi hnh.

    Lc ny khch hng tha mn vi nhng chc nng m phn mm em li.

    y l lc thch hp vit ti liu cn thit v h thng, lc h thng n

    nh, khng c s thay i trong kin trc, thit k hay lp trnh. Cht cng c

    th xy ra nu nh h thng khng t c kt qu mong i hoc n qu t pht trin tip.

    i vi ngi lp trnh phi vit chng trnh v kim th mt cch cng

    n gin v cng r rng cng tt. iu u tin to nn thnh cng ca phng

    php pht trin phn mm XP l s giao tip v hp tc gia cc lp trnh vin

    khc v cc thnh vin trong nhm.

    Khch hng vit ra yu cu v cc hm kim tra v quyt nh khi no cc

    yu cu c tha mn. Khch hng tp hp cc thc thi u tin cho cc yu

    cu.Kim nh vin s gip khch hng vit hm kim tra. H chy hm kim tra

    mt cch thng xuyn, thng bo rng ri kt qu kim tra v duy tr cng c

    kim tra.

    Ngi theo di s a ra cc phn hi trong XP. H xc nh cc c lng

    c to bi nhm lp trnh v a ra phn hi trong vic lm th no nhm lp

    trnh c th tun t ci thin cc c lng trong tng lai mt cch chnh xc.

    Ngi ny cng theo st s tin trin ca mi vng lp c lng xem c hay

    khng vic t ti kt qu trong phm vi ngun lc cho php v thi gian rngbuc hoc c gi thay i cn thit trong qu trnh x l.

    Hun luyn vin l ngi chu trch nhim cho ton b qu trnh pht trin

    phn mm. Vic hiu r XP c vai tr quan trng cho php hun luyn vin c

    th hng dn cho nhng thnh vin trong nhm tun theo.

    Chuyn gia l nhng ngi c kin thc chuyn bit v vn no , h c

    nhim v hng dn nhm lp trnh gii quyt cc vn chuyn bit ca h.

    Ngi qun l l ngi a ra nhng quyt nh. lm c vic anh ta

    phi giao tip vi nhm lp trnh quyt nh nhng tnh hung tc thi, v

    nhn nh nhng kh khn hoc thiu ht trong qu trnh thc hin.

    XP bao gm mt tp cc tng v thc thi da trn nhng phng php

    lun c (Beck 1999a). Chnh s quyt nh to nn cu trc. Trong khi

    khch hng a ra nhng quyt nh mang tnh thng mi th nhng ngi lp

    trnh la chn cng ngh, chnh l tng ca Alexander (1979). Loi hnh

  • 7/31/2019 Agile Software Develoment 6866

    10/41

    pht trin nhanh XP c ngun gc t nhng tng hnh thnh sau Scrum

    (Takeuchi and Nonaka 1986) v ngn ng m hnh ca Cunningham (1986).

    Vic lp d n s dng XP da trn nhng yu cu t pha khch hng c v

    ra t nhng tnh hung s dng (Jacobsen 1994) v phng php pht trin phn

    phi sinh ra bi Gilb (1988). Cng nh m hnh xon c, s phn hi ban u lm hnh thc nc c hai u c nh hng ln phng php XP. Php n d

    ca XP khi u t nghin cu ca Lakoff, Johnson (1998) v Coyne (1995).

    Cui cng th mi trng lm vic vt l c Coplien (1998), DeMarco v

    Lister (1999) tm ra.

    Mc tiu m XP nhm n l vic pht trin phn mm thnh cng cho d c

    s mp m v yu cu lin tc b thay i trong mt nhm lp trnh. Nhng

    bc lp ngn vi phin bn pht hnh nh v tc phn hi nhanh, s tham

    gia ca khch hng, s trao i v hp tc, nhng bc lp lin tc v kim

    nh, chung quyn shu phn lp trnh, nhng ti liu hn ch v phng php

    lp trnh theo cp l nhng c trng chnh ca phng php XP.

    Thc thi ca XP c biu din theo cu trc ca Beck (1999). l cc

    bc Lp k hoch Bn phn phi nh v ngn Php n d Thit kn Ti to Lp trnh theo cp Quyn shu tp th Bc lp lintc 40 gimt tun Khch hng c mt Chun lp trnh Khng gianlm vic m Quy tc, lut l.

    Beck cho rng phng php XP s dn dn c chp nhn:

    Nu bn mun th XP, cho nhng mc ch tt p th ng c nut tt c

    mt lc. Chn ra vn ti t nht trong x l hin thi ca bn v c x l n

    vi phng php XP.

  • 7/31/2019 Agile Software Develoment 6866

    11/41

    Mt trong nhng tng nn tng ca XP l khng c x l no ph hp vi

    mi d n tuy nhin vn c nhng hnh vi c thc cn i li cho ph hp

    vi nhng yu cu ca cc d n c nhn ring l.

    Trong thc t khng c mt bo co kinh nghim no v tt c cc thc thi

    ca XP c thc hin. Mc d vy vn c mt b phn cc thc thi ca XPc Beck bo co (Grenning 2001, Schuh 2001). XP l mt phng php c

    ti liu ha nhiu nht trong lp trnh linh hot v ang c tip tc nghin cu

    v c nhiu bi bo v kinh nghim v cc nhnh khc nhau trong XP.

    Nh pht biu ca Beck (1999b), phng php XP khng c ngha l tng

    thch mi ni, v nhng gii hn ca n vn cha c ng nht. iu i

    hi nhng kinh nghim v nhng nghin cu c th nghim kim chng v

    nhng trin vng khc nhau. Tuy nhin trong s c vi th c ng

    nht.XP c dng cho cc nhm pht trin nh v va. Beck (1999b) cho rng

    mt nhm nn c t 3 n ti a l 20 thnh vin. Mi trng vt l cng ht sc

    quan trng trong XP. S trao i v cng tc gia cc thnh vin phi c

    thng xuyn. Vn ha kinh doanh tc ng n mt n v pht trin l mt

    vn trng tm ca XP. Bt k mt s chng i cc thc thi hoc nguyn tc

    ca XP ca bt k thnh vin, qun l, khch hng cng c th lm tht bi

    d n. Tt nhin cng ngh c th cng khng th vt qua nhng trngi

    em li thnh cng cho XP.Nhng nghin cu vn ang c trin khai. C nhiu ti liu c xut

    bn n v nhiu din mo khc nhau ca XP, tuy nhin chc chn l n sc

    nhn nhn l mt phng php thc t hn l mt phng php hn lm, hu ht

    cc trang tm im v kinh nghim s dng XP trong nhng phm vi khc nhau,

    v nhng kinh nghim tm kim trn nhng thc thi ca n.

    2. ScrumThut ng Scrum c trnh by ln u tin trong bi bo ca Takeuchi

    v Nonaka (1986) v kh nng thch nghi, nhanh chng, tnh t t chc trong

    vic pht trin phn mm. Thut ng Scrum c ngun gc t mt chin thut

    trong mn bng bu dc m ch vic a bng vo cuc.

    Scrum gn nhc pht trin cho vic x l pht trin h thng. gn

    nh da trn kinh nghim trong vic p dng nhng tng l thuyt iu khin

    x l trong cng nghip pht trin h thng v a n kt qu l vic gii

  • 7/31/2019 Agile Software Develoment 6866

    12/41

    thiu li tng v tnh mm do, tnh thch nghi, v tnh nng sut. N khng

    nh ngha cho bt k mt cng ngh pht trin phn mm no trong pha thc

    thi. Scrum tp trung vo vic lm th no cc thnh vin trong nhm to nn

    c mt h thng mm do trong mt mi trng lun lun thay i.

    tng chnh ca Scrum l pht trin h thng bao gm vi mi trng vcng ngh c th thay i (v d nh: yu cu, thi gian, ngun lc. cng

    ngh) ph hp vi s thay i ca h thng trong sut qu trnh x l. iu

    ny khin cho vic pht trin l khng th don trc c v rt phc tp,

    i hi h thng phi ht sc mm do p ng c nhng thay i. V kt

    qu l sn phm s rt hu ch khi n tay khch hng.

    Scrum gip y mnh nhng k thut thc thi sn c trong mt t chc, n

    bao gm nhng hot ng qun l thng xuyn nhm n vic nhn ra bt k

    thiu ht no hoc nhng trngi trong qu trnh pht trin phn mm.Thc thi Scrum bao gm 3 pha l cc pha: pre-game, development, post-

    game.

    Pha pre-game bao gm hai pha con l : Lp k hoch v kin trc (hay thit k

    bc cao hn)

  • 7/31/2019 Agile Software Develoment 6866

    13/41

    Lp k hoch bao gm nh ngha v h thng sp c pht trin. Mt bn

    lit k cc cng vic cha lm c c to chng nhng yu cu ca khch

    hng trong thi im hin ti. Cc yu cu ny c th bt ngun t khch hng,

    ngi bun bn, ngi phn phi tip th, ngi cung cp hay t chnh ngi

    pht trin phn mm. Cc yu cu c u tin v cc kh khn khi thc thi phic c lng trc. Sn phm cha hon chnh phi c cp nht nhng ci

    mi, nhng yu t c th hn, to ra c nhng nh gi chnh xc. Vic lp

    k hoch cng bao gm vic lp i pht trin, chn cc cng c v nhng ti

    nguyn khc, nh gi ri ro, kim sot vn , o to v ph chun. mi

    bc lp cc sn phm cp nht cn c i pht trin nh gi xem d n tin

    trin c n u lp k hoch cho cc bc lp tip theo.

    Pha kin trc bao gm cc kin trc c lp k hoch sn trong mi sn

    phm mi bc lp. Trong trng hp nng cao mt h thng c sn, nhngs thay i cn thit cho bc thc thi Backlog v xc nh r nhng vn m

    bn c th gp phi. Mt cuc hp nhn li thit k ca mt h thng c t

    chc thng qua xut cho vic thc thi v nhng quyt nh sc a ra

    trong bui hp ny. Thm vo , k hoch mu cho mt phin bn pht hnh

    cng c chun b.

    3. Crystal family of methodologiesy l phng php bao gm mt lng cc phng thc khc nhau cho vic

    chn la mt phng php ti u nht cho mt d n c th. Bn cnh nhngphng thc, cch tip cn Crystal bao gm nhng nguyn tc an xen cc

    phng thc ph hp vi nhng thay i lin tc ca cc d n khc nhau.

    Mi thnh vin trong gia nh Crystal c nh du bng nhng mu sc

    khc nhau ty thuc vo sc nng ca n. Sc nng cng ln th mu cng

    m. i vi nhng d n ln yu cu nhiu s hp tc v nhiu phng php

    mnh m hn nhng d n nh. Cng c ph bnh nhiu th sn phm lm

    ra cng hon thin. Lc di y s cho bit kh nng tim tng ca tht bi

    khi h thng b li. Trong S thoi mi (C), tin t do lm theo mnh (D) ,

    tin cn thit (E), vng i (L).

  • 7/31/2019 Agile Software Develoment 6866

    14/41

    C nhng quy tc, c im v gi tr thng thng c t ra cho nhng

    phng thc trong gia nh Crystal. u tin d n phi s dng chu k pht

    trin phn mm tng dn, v t mc tng ln nht trong vng mi 4 thng, tt

    nht l trong vng t 1 n 3 thng. iu cc k quan trng l s hp tc v giao

    tip gia cc thnh vin trong nhm. Phng php Crystal khng gii hn s

    lng phng php thc thi, s lng cng c, s lng cc sn phm, v cbit cho php cc thc thi ca cc phng thc khc nhiuw Scrum hay XP...

    Hn na, cch tip cn ny cn cho php gim bt cc sn phm trung gian v

    th hin c th trong phm vi mt quy c cho cc d n ring l v pht trin

    chng nh l cc d n m.

    Hin nay c 3 phng thc chnh trong Crystal l: Crystal Clear, Crystal

    Orange, Crystal Orange Web.

    Tt c cc phng thc trong gia nh Crystal u da trn nhng chun hp

    ng k, sn phm, chi ph, cng c, v cc quy tc chun thc thi trongsut qu trnh sn xut. Crystal Clear v Crystal Orange l hai trong s cc thnh

    vin ca gia nh Crystal c xy dng v s dng (Cockburn 1998,

    Cockburn 2002a). Crystal Orange (Cockburn 1998) cng biu din cc hot

    ng trong mt qu trnh.

  • 7/31/2019 Agile Software Develoment 6866

    15/41

  • 7/31/2019 Agile Software Develoment 6866

    16/41

  • 7/31/2019 Agile Software Develoment 6866

    17/41

  • 7/31/2019 Agile Software Develoment 6866

    18/41

    4. Feature Driven Development

    Feature Driven Development (FDD) l phng php tip cn linh hot dnh

    cho pht trin h thng. FDD khng bao ph ton b quy trnh pht trin phn

    mm m n tp trung vo giai on thit k v xy dng. Tuy nhin n c

    thit k lm vic vi nhng hot ng khc ca mt d n pht trin phnmm v khng yu cu bt c mt m hnh quy trnh ring no. N tp trung vo

    cht lng sn phm xuyn sut quy trnh.

    FDD bao gm 5 quy trnh lin tc v cung cp nhng phng thc, k thut

    v nhng hng dn m nh u t cn n chuyn giao h thng. Phn lp

    ca quy trnh FDD h trpht trin linh hot vi s thch nghi nhanh chng vi

    nhng thay i mun trong yu cu ca khch hng.

    - Pht trin mt m hnh ton th (Develop an Overall Model)

    Khi vic pht trin mt m hnh ton th bt u, cc chuyn gia trong lnh

    vc ny h nhn thc c phm vi, khung cnh v yu cu ca h thng

    xy dng. Cc yu cu c ti liu ha nh vic s dng cc trng hp hoc

    cc chc nng c bit s c th xut hin bc ny. Tuy nhin FDD khng

    a ch r rng vn ly li v qun l cc yu cu. Cc chuyn gia cng c

    gi l walkthrough trong mi i v l ngi kin trc s chnh c hiu bitcao v h thng.

    M hnh ny c thc chia nh ra thnh cc nhm v mi nhm s c cc

    walkthrough ph trch. Sau walkthrough cc thnh vin trong nhm pht

    trin s chia lm cc nhm nh trao i v tho lun nhm xy dng mt h

    thng tt nht.

  • 7/31/2019 Agile Software Develoment 6866

    19/41

    - Xy dng mt danh sch cc tnh nng (Build a Features List)

    Nhng chuyn gia, m hnh i tng, v nhng ti liu v nhng yu cu

    c to ra nn tng tt cho vic xy dng mt lit k cc tnh nng thng minh

    cho h thng ang c pht trin. Trong bn lit k, ngi pht trin h thng

    s trnh by mi chc nng gi tr ring bit c xy dng trong h thng. Chcnng s c trnh by trong cc nhm bao gm cc chc nng trng yu

    c ci t. Thm vo , cc tnh nng quan trng ny li c chia ra cho cc

    c im khc thit lp. S biu din li ny khc nhau i vi cc phm vi khc

    nhau. Lit k ny sc kim tra la bi ngi dng hoc cc nh u t cho

    mt h thng hiu qu v trn vn.

    - Lp k hoch nhvo tnh nng (Plan by Features):

    Bao gm vic to ra cc k hoch cao cp hn, mi c im sc sp xp

    theo th t quyn u tin v ph thuc v c n nh cho ngi ng unhm lp trnh. Ngoi ra, cc lp c ng nht trong mt quy trnh m hnh

    pht trin ton th sc phn cng cho cc lp trnh vin khc.

    - Thit k theo tnh nng v xy dng theo tnh nng (Design byFeature and Build by Feature):

    -

  • 7/31/2019 Agile Software Develoment 6866

    20/41

    Mt nhm nh cc tnh nng c la chn t tp hp cc tnh nng. Nhng

    nhm tnh nng ny c cc i pht trin. Quy trnh thit k bng tnh nng

    v xy dng bng tnh nng l nhng th tc c thc lp li trong sut qu

    trnh nhng tnh nng la chn c sn xut. Mt bc lp cn t vi ngy

    cho ti ti a 2 tun thc hin. Sau khi thc hin thnh cng mt bc lp,nhng tnh nng hon thnh c a vo trong chng trnh chnh trong khi

    vng lp thit k v xy dng bt u vi mt nhm cc tnh nng mi t tp cc

    tnh nng.

    5. The Rational Unified Process

    Ration Unified Process (vit tt lRUP) c pht trin bi Philippe

    Kruchten, Ivar Jacobsen v nhng thnh vin khc ti Ration Corporation b

    sung cho UML (Unified Modelling Language).RUP l mt phng thc tip cn nhng h thng hng i tng, v c

    s dng nm bt cc yu cu mu v xy dng nn tng h thng. RUP

    nghing v hng pht trin hng i tng. N khng bc b hon ton

    nhng phng thc khc, mc d UML c bit thch hp vi pht trin OO

    Vng i ca mt d n RUP c chia lm 4 giai on : Khi u

    (Inception), D tho (Elaboration), Xy dng (Construction) v Chuyn giao

    (Transition).

    Nhng giai on li c chia thnh nhng vng lp nh (interation).

    Khong thi gian ca mt vng lp c th t 2 tun ti 6 thng.

    - Giai on Khi u (Inception): Xem xt yu cu khch hng va ra cc tiu ch ca d n. Nhm pht trin a ra nhng kin trc xy dng

    khc nhau, bn k hoch v chi phc tnh cho ton b d n. Ngoi ra nhng

    c tnh cho giai on D tho tip theo cng c xy dng.

  • 7/31/2019 Agile Software Develoment 6866

    21/41

  • 7/31/2019 Agile Software Develoment 6866

    22/41

  • 7/31/2019 Agile Software Develoment 6866

    23/41

    tch v vit m hon thnh, bn dng th c xy dng v nhng kinh

    nghim thu c t chng c s dng nng cp m hnh phn tch. Bn

    dng th khng b loi b hon ton m dn dn i theo hng nng cao cht

    lng, nh vy chng c thc a vo trong h thng cui cng. M hnh

    chc nng c to ra nh l mt u ra, gm m bn dng th v m hnhphn tch. Kim th cng l mt phn cbn ca giai on ny.

    - Design and build iteration l giai on m h thng c tp trung xy dng.u ra l mt h thng c kim th p ng ti thiu yu cu khch

    hng. Thit k v tnh nng bn dng th c nh gi bi ngi dng v

    nhng pht trin sau ny s da trn nhng nh gi .

    - Implementation l giai on h thng c chuyn t mi trng pht trinsang mi trng sn xut thc t. Cng vic o to, hun luyn ngi dng

    c tin hnh v h thng c vn hnh bi h. Nu nh khi trin khai thuht c s lng ln ngi dng th giai on b sung cng c thc lp

    li. Bn cnh h thng, u ra ca giai on b sung cng gm ti liu hng

    dn ngi dng v bn bo co nh gi d n. Da trn kt qunh gi d

    n, k hoch v nhng pht trin sau ny c xy dng. DSDM vch r bn

    kh nng c th xy ra. Nu h thng p ng c ton b cc yu cu th

    vic pht trin thm l khng cn thit. Nhng nu vn cn c nhng yu cu

    h thng cha p ng c th quy trnh pht trin c th phi tin hnh li t

    bt u ti kt thc. Nu nh mt vi chc nng b b qua th quy trnh phttrin c th tin hnh li t functional model iteration. Cui cng, nu mt s

    vn kthut khng c tp trung do eo hp v thi gian, chng c thc

    hon thnh khi tin hnh li vng lp, bt u t giai on thit k v xy

    dng.

    7. Pht trin phn mm thch nghi

    Pht trin phn mm tng thch (Adaptive Software Development-ASD)

    c pht trin bi James A.Highsmith III. Hin nay c kh nhiu cc nguyn

    tc ca ASD khc vi nhng ti liu nghin cu ca Highsmith trc kia v

    phng php pht trin lp. Mt trong nhng tin thn c bit n nhiu nht

    ca ASD l RADical Software Development (pht trin phn mm cn bn),

    m hnh c pht trin bi s cng tc ca Highsmith v S. Bayer v c gii

    thiu trong Bayer and Highsmith 1994.

  • 7/31/2019 Agile Software Develoment 6866

    24/41

  • 7/31/2019 Agile Software Develoment 6866

    25/41

    Bc khi to d n nh ra nhng nn tng ca d n v c bt u bngcch nh ra nhng nhim v ca d n.Nhng nhim v ny cbn l lp ra

    mt khung th cho sn phm cui,v tt c cc vic pht trin sc cho

    cc nhim vc hon thnh.Mt trong nhng ci quan trng nht trong vic

    nh ra cc nhim v cho d n l phc tho ra nhng thng tin no cn thit cho

    d n.Cc mt quan trng ca nhim vc nh ra theo 3 phn: tm nhn ca

    d n,d liu d n,1 sn phm u ra chi tit. ngha ca nhng ti liu ny

    c c gii thch chi tit trong Highsmith 2000. Bc khi to d n sa li

    bng lch trnh k hoch tng th cng nh lich trnh v cc mc tiu cho mi

    chu k pht trin. Chu k in hnh ko di t 4 cho n 8 tun. ASD r rng l

    hng thnh phn hn l hng nhim v. Trong thc hnh,iu ny c ngha

    l trng tm c t vo kt qu v cht lng hn l nhim v hay tin trnh

    c s dng trong qu trnh to ra kt quy. Tin cho nhng chu k pht

    trin xa hn l kt qu ca vic lp i lp li vic kim tra cht lng m trng

    tm l tp trung vo pht trin cc chc nng ca phn mm trong sut chu k.

    Mt yu t quan trng na trong vic a ra cc nh gi,kim tra l s c mt

    ca khch hng ,v d nh l 1 nhm cc chuyn gia. Tuy nhin t khi cc nh

    gi,kim tra cht lng trnn him dn (chng chc thc hin vo cui cami chu k) th s c mt ca khch hng trong ASD cng chc lm trong

    cc phin pht trin ng dng kt ni (joint application development (JAD)).

    Mt phin JAD l v cng quan trng cho cng vic, y l ni m khch hng

    v nh pht trin gp nhau v tho lun v nhng yu cu v cc tnh nng ca

    sn phm, v nng cao vic truyn thng vi nhau. ASD khng xut ra

  • 7/31/2019 Agile Software Develoment 6866

    26/41

    nhng lch trnh cho vic t chc cc phin JAD nhng chng thng c lm

    c bit vo nhng bc u ca d n.Bc cui cng ca d n ASD l nhng

    cu hi \gii p cui cng v pht hnh (Final Q/A and Release ). ASD khng

    a ra cch thc hin bc ny th no nhng n nhn mnh vo tm quan trng

    ca vic nm c nhng g hc. Cc hot ng k tip ca d n c xemnh rt quan trng trong cc d n c tc nhanh v c nhiu thay i, ni m

    cc qu trnh pht trin linh hot din ra. Tm li, tnh thch nghi ca pht trin

    trong ASD c m t qua bng sau:

    c

    im

    M t

    Hng nhim

    v

    Cc hot ng trong mi chu k pht trin phi ph hp vi

    nhim v tng th ca d n .Nhim v c thc sa i trong khivic pht trin c tin hnh

    Da vo thnh

    phn

    Cc hot ng pht trin khng nn hng tc v,nhng cng

    nn tp trung vo pht trin phn mm lm vic nh xy dng h

    thng theo nhng phn nh cng lc

    Lp li Mt m hnh thc nc ch lm vic trong nhng mi trng

    c hiu r v c nh ngha chi tit.Hu ht cc vic pht trin

    u thay i tht thng v th thay v lm ng trong ln u ,cc

    n lc pht trin nn tp trung vo vic lm li

    Time-Boxed S mp m trong nhng d n phn mm phc tp c thcgim bt bng cch thay i thi hn.Vic qun l time-boxed d n

    tp trung vo nhng ngi tham gia vo d n x l sm nhng

    quyt nh kh khn khng trnh khi trong d n

    Thch ng c

    vi cc thay i

    Thay i l thng xuyn trong pht trin phn mm, vic c th

    thch ng vi n th quan trng hn l kim sot n. xy dng mt

    h thng thch ng c vi thay i,nhng nh pht trin phi lun

    nh gi c s thay i ca cc thnh phn trong qu trnh xy

    dng chng

    Hng ri ro Vic mrng phm vi nhng yu t ri ro cao nn c bt usm nu c th

    8. Pht trin phn mm m ngun m

    S kt hp ca nhng pht minh v he thing bng thng bo v nhng thi

    quen c c ca nhng ngi pht trin phn mm chia s m ngun min ph

  • 7/31/2019 Agile Software Develoment 6866

    27/41

    vi nhau thc y s mrng ca Internet trn phm vi ton cu vo nhng

    nm 90. Tin trnh pht trin ny khi ngun cho tng v 1 m hnh pht

    trin phn mm mi OSS - cch pht trin ng dng kh mi l.

    OSS cho rng m ngun nn min ph v c th sa cha hoc b sung m

    khng cn tr tin. Feller v Fitzgerald (2000) trnh by mt sng lc vphng hng cho pht trin OSS nh sau:

    - Tnh kthut; cn thit phi c nhng m mnh, vng i pht trin

    nhanh hn, t nhng tiu chun cht lng cao hn, ng tin cy v n nh v

    hn ht l tnh m.

    - Tnh thng mi; s hp tc cn cho c vic san s li nhun cng

    nh ri ro.

    - V chnh tr, x hi; tha mn nhng s thch c nhn, mong mun

    v cng vic c nghv hng ti cng ng.Phn ln mi ngi u bit rng d n pht trin OSS ly trng tm l

    nhng cng c pht trin hoc nhng mi trng c cc chuyn gia s dng

    pht trin chng thm, v vy cng lc, hng vai tr l ngi s dng v

    nh pht trin. OSS khng phi l mt bn thing k cc thc nghim pht trin

    phn mm c nh ngha hay c ra i m n c m t chnh xc

    hn trong thut ng v nhng quyn hn khc trong vic phn phi phn mm.

    Sng kin v m ngun m s cng nhn v cp bn quyn cho nhng phn

    mm p ng cc yu cu ca OSS.Mc d c nhng khc bit trong nhng mt nh tnh thng mi, v cch t

    chc nhm so vi cc phng php linh hot khc nhng trong 1 s tnh hung,

    cc suy nghv thc hin li c nhng im ging nhau, v d nh tin trnh

    pht trin OSS bt u vi nhng vic cho ra i sm v thng xuyn cc bn

    th nghim v n thiu rt nhiu cc cch truyn thng, ci m c s dng

    cho hp tc pht trin phn mm vi nhng k hoch, thit k cp , lp lch v

    nhng tin trnh nh. Thng thng, mt d n OSS bao gm cc bc sau:

    - Tm hiu vn - Tm nhng ngi tnh nguyn- nh ra cch gii quyt- Pht trin v kim th m ngun- Thay i m ngun- Cc ti liu hng dn m ngun

  • 7/31/2019 Agile Software Develoment 6866

    28/41

    - T chc pht hnhMc d c th m t phng php pht trin phn mm OSS theo nhng

    bc trn nhng s quan tm li nm ch qun l nhng bc trn nh th no,

    sau y l mt vi c im m t phng php pht trin OSS :

    - h thng c xy dng bi s lng ln nhng ngi tnh nguyn- Cng vic khng c phn nh r rng m mi ngi t chn cng vic

    m mnh thch

    - C nhng thit k cp h thng khng r rng- Khng c k hoch, lch trnh- H thng pht trin theo nhng bc tin nh- Chng trnh c kim th thng xuynTheo Feller v Fitzgerald (2000), tin trnh pht trin OSS c t chc l

    mt cch pht trin v nhng c gng g li trong phm vi rng 1 cch songsong, n bao gm s hp tc v nhng cng hin ca nhng ngi pht

    trin.Tuy nhin, cng c nhng du hiu ch ra rng tng pht trin min ph

    ny ang dn thay i v tin trnh pht trin OSS khng c bt k mt quy tc

    hay thi quen c chun ha no th nhng tin trnh ny vn lin quan n

    thi quen v nhng iu cm k c hc hoc rt ra t thc nghim.

    III. So snh cc phng php pht trin phn mm linh hot

    1. Gii thiuVic so snh khch quan cc phng php vi nhau thng rt kh, v nhng

    kt qu thu c thng thng u da trn cc kinh nghim ch quan ca nhng

    ngi i trc hay l nhng hiu bit trc gic ca ngi lm (Song and Osterweil

    1991). C hai phng php thng dng l phng php so snh chnh thng v

    phng php so snh gn chnh thng (Song and Osterweil 1992). Phng php so

    snh gn chnh thng c gng khc phc nhng hn ch ch quan ca kthut so

    snh chnh thng, theo Sol (1983), phng php so snh khng chnh thng c th

    tip cn theo 5 cch khc nhau :

    1 M t mt phng php v nh gi cc phng php i lp viphng php .

    2 Rt ra nhng c im quan trng t mt vi phng php hay quavic so snh mi phng php vi nhau.

  • 7/31/2019 Agile Software Develoment 6866

    29/41

  • 7/31/2019 Agile Software Develoment 6866

    30/41

    nghim c a ra,c cng ng pht

    trin nng ng, c nhng nghin cu

    v phng php

    hot ng

    (active)

    Phng php c p dng nhiu ni

    , c bo co thc nghim, c nhngnghin cu v c cng ng ngi dng

    ang hot ng

    XP

    ,RUP,OSS,DSDM

    Cc c im chnh v cc c im quan trng ca cc phng php c

    tm tt trong bng sau :

    Tn

    phng

    php

    c im chnh c im quan trng Hn ch

    ASD Tng thch vi vn

    ha,hp tc trong cng

    vic, cc thnh phn

    hng nhim v da

    trn s pht trin lp

    li.

    c t chc nh mt

    h thng tng thch.

    To ra mt trt t

    nghim ngt nm

    ngoi mng li cc c

    nhn lin kt vi nhau

    ASD thin v khi

    nim v vn ha hn

    l thc hnh phn

    mm

    AM p dng cc nguyn tc

    linh hot m hnh ha

    : s a dng, linh hot

    trong vn ha,cch t

    chc cng vic h tr

    vic truyn thng n

    gin hn

    Cch suy ngh linh

    hot cng c p

    dng thit k mu

    y l mt nguyn l

    b sung rt tt cho

    vic m hnh ha

    chuyn nghip, tuy

    nhin n ch p dng

    c vi nhng

    phng php khc

    Crystal L tp hp ca cc

    phng php, mi ci c

    cng mt gi tr ban uv nguyn tc cbn v

    k thut, vai tr, cng c

    v tiu chun th c th

    khc nhau

    Thit k phng php

    theo nguyn tc. C

    th chn phng phpthch hp nht da vo

    quy m v gii hn

    ca d n

    Qu sm cho rng

    ch c 2 trong s 4

    phng php ckhuyn co ang c

    dng

    DSDM ng dng vic iu L phng php pht Trong khi m phng

  • 7/31/2019 Agile Software Develoment 6866

    31/41

    khin vo RAD, s dng

    timeboxing, cc nhm

    DSDM c quyn hay

    cc tp on ti chnh

    ch o vic pht trinphng php

    trin phn mm linh

    hot thc s u

    tin,s dng vic ch

    th, mt vi vai tr ca

    ngi dng nh: is, nh tin tri hay c

    vn

    php ny p dng th

    ch c nhng tp on

    ti chnh thnh vin

    mi c quyn truy

    nhp vo cc giao dchgiy t vi thc t s

    dng phng php .

    XP Pht trin hng ngi

    dng, cc nhm nh,

    xy dng thng xuyn

    Lin tc thit k li h

    thng nng cao hiu

    sut v p ng cc

    thay i

    Trong khi nhng phn

    vic c nhn c v ph

    hp trong nhiu tnh

    hung th ci nhn

    tng quan v vic

    qun l li t c

    quan tm.FDD L qu trnh gm 5

    bc, pht trin da trn

    thnh phn hng i

    tng, bc lp li rt

    ngn (t vi ting cho

    n 2 tun)

    S n gin trong

    phng php, thit k

    v thc hin h thng

    bng cch m hnh ha

    i tng v c im

    Trng tm ca FDD

    nhm vo thit k v

    thc hin, cn thm

    nhng cch thc h

    trkhc

    OSS Da trn s t nguyn,

    pht trin phn

    tn,nhng kh khnthng l v trch

    nhim vi i hi, yu

    cu hn l trch nhim

    thng mi

    M ngun lun sn

    sng min ph cho mi

    ngi

    Bn thn OSS khng

    phi l 1 phng php,

    c th chuyn ccnguyn tc OSS sang

    pht trin phn mm

    thng mi

    PP Nhn mnh vo tnh

    thc dng, l thuyt lp

    trnh khng it quan

    trng, tng ha cp

    cao trong cc khuca lp trnh

    Cc th thut, gi c

    th c tnh kinh

    nghimtip cn thc

    t n pht trin phn

    mm

    Trng tm ca PP l

    cc phn vic c nhn,

    tuy nhin n khng

    phi l phng php

    m h thng cth pht trin

  • 7/31/2019 Agile Software Develoment 6866

    32/41

    RUP Hon thnh m hnh

    pht trin SW bao gm

    h tr cng c, phn

    cng vai tr hng n

    hot ng

    L m hnh kinh

    doanh, h trcng c

    RUP khng hn ch

    phm vi s dng,

    nhng mt m t lm

    th no p ng

    thay i m c th lthay i nhu cu th li

    b b qua.

    Scrum c lp, nh, cc nhm

    pht trin c th t sp

    xp,quay vng trong 30

    ngy

    Thc hin m hnh

    chuyn i t nh

    ngha v c th lp

    li sang tm nhn

    pht trin sn phm

    mi ca Scrum

    Trong khi Scrum rt

    chi tit vic lm th

    no qun l quay

    vng trong 30 ngy th

    vic lp li v kim

    th li khng chi tit.

    Bng trn trnh by nhng im khc nhau cbn ca nhng phng php

    m ta ang nghin cu. ASD l phng php tru tng nht t quan im pht

    trin phn mm .Mc d nghe kh hp dn, nhng mc tiu chnh to ra mt trt

    t nghim ngt nm ngoi mng li cc c nhn lin kt, c th s kh kh khn

    t c. y cng l hn ch chnh ca n k t khi nhng ks gp kh khn

    trong vic chuyn i nhng khi nim mi sang nhng ci m h quen dng .M

    hnh linh hot (Agile modeling- AM), XP v lp trnh thc t, tt cu i din

    cho quan im hng thc hnh. Chng bao gm mt s lng cc kinh nghimthc hnh hu dng c rt ra bi cc ks. V vy, chng rt c gi tr. H cc

    phng php Crystal ch l mt nguyn tc thit k phng php c thp

    ng thay i theo quy m v gii hn ca d n. y l kha cnh kh quan trng

    k t khi quy m ca phng php tr thnh mt trong nhng ti chnh m

    cng ng pht trin linh hot cn cp n.

    DSDM khc vi cc phng php khc vic s dng ch th. DSDM cng

    t ra mt s vai tr m cc phng php khc khng nhc n nh ngi dng

    ng vai tr nh mt i s, mt nh tin tri hay mt c vn. Nhng vai tr nyca ngi dng i din cho nhng quan im khc nhau ca khch hng. Mt hn

    ch ca DSDM chnh l s ph thuc vo cc tp on ti chnh DSDM nhm

    ngn chn quyn tham gia cc giao dch giy t. FDD khng t mc tiu cung

    cp mt gii php all-in-one cho pht trin phn mm m trng tm ca n l cch

    tip cn 5 bc n gin, ci m da trn vic xc nh, thit k, thc hin cc c

  • 7/31/2019 Agile Software Develoment 6866

    33/41

    tnh. FDD cng tuyn b rng 1 s vic theo d n ny c lm , v vy m n

    s khng bao gm nhng giai on u ca d n.Scrum l mt cch tip cn qun

    l d n da trn cc nhm pht trin c lp t qun, thc hin cc d n phn

    mm theo mi chu k 30 ngy, gi l cc chng nc rt. Tng t nh ASD ,

    OSS th ging cc nguyn tc pht trin hn l phng php. Tuy nhin, c khnhiu nhng d n thnh cng theo phng php ny, mt c im c bit ca

    OSS chnh l vn bn quyn trong thc hin, c thy l phi m bo rng

    m ngn phi lun m vi cc nhm v c th c, sa cha, bin dch m

    ngun. Cui cng l RUP, RUP khng c cho l mt phng php c bit, n

    khc vi nhng phng php kia ch n l 1 phng php pht trin y

    c h trbi a dng cc cng c thng mi, y l im khc bit nht ca

    RUP so vi cc phng php khc. RUP cng mrng phng php bao gm

    c cc m hnh thc hin mang tnh cht thng mi ging nh DSDM, do ,cng c nhng s h trtrong nhng bc u ca d n pht trin phn mm.

    3. Thc hin theo phng php

    Trong nhng phng php trnh by trn,vic thc hin theo mi cp

    n quy trnh, vai tr, trch nhim v thc hin theo, rt ra kinh nghim, nhng

    ngoi ra, vic so snh cn mrng sang c cc vn v qun l d n, vn ct

    li trong vic hiu phng php h trth no trong chin lc qun l. Vic kinh

    doanh cc sn phm phn mm ch thu c li nhun khi chng c s dng,

    tng t nhh vy, li nhun lin quan n cc phng php pht trin phn mmlinh hot cng cht c khi nhng phng php ny c s dng trong sn

    xut sn phm. Vic thc hin theo 1 phng php mi nn n gin khi m t

    chc khng c kh nng ti chnh lm chm hay dng vic sn xut ti t

    chc hay tm ra hng i mi trong cng vic kinh doanh ca h. Vic lm theo

    v rt ra kinh nghim nh gi mi phng php c trnh by nhng

    phn trn. Mt iu kh r rng rng c khng nhiu nhng bo co kinh nghim

    v cng t hn nhng bo co khoa hc v vn ny. Nandhakumar v Avison

    nhn thy rng nhng phng php pht trin phn mm truyn thng ang c

    s dng hin nay nh l mt s mh tt yu cho ta thy thc trng ca vic

    qun l hoc l a ra mt tnh trng tiu biu. H cng khuyn co rng

    nhng phng php thay th, ci m mang c im c bit ca cng vic trong

    nhiu mi trng l rt cn thit. Nhhng c im c bit ca cng vic ca

    cng vic m h cp n y l mi trng kinh doanh si ng hay thay i

  • 7/31/2019 Agile Software Develoment 6866

    34/41

    theo nn kinh t. Trong nhng mi trng ny, nhng thay i l rt cn thit

    t c d n hay thm ch l t n 1 mc rt cao. Nandhakumar v Avison

    cng cho rng cng vic thc hin ca nhng nh pht trin ch bc l r nt nht

    khi c nhng yu t tng ng. Mt ln na, li c 1 vn l tt c cc phng

    php pht trin phn mm linh hot u c phn nh r rng, thc t l tt ccc quan im v phng php linh hot u bc lc trng khi t im nhn

    vo nhng kha cnh sau:

    - Vic em li 1 vi li ch

    - Tin cy vi con ngi

    - Khuyn khch cng tc

    - Thc y nhng tin b kthut

    - Kh nng to ra nhng ci n gin nht

    - C tnh tng thchNandhakumar v Avison cng cho rng vic pht trin phn mm hin nay rt

    khc so vi quan im phng php lun ph bin, bng sau b sung thm nhng

    pht hin ca h vi cch tip cn linh hot,n trnh by nhng iu xa hn ,iu

    m pht trin phn mm linh hot ang tip cn, k c nhiu cch thc pht trin

    phn mm hin nay, do , n gii thch phn no ti sao, v d nh, lp trnh gn

    y li thu ht c nhiu s ch n vy, hn na n cng tip cn n pht

    trin phn mm t quan im ca ngi pht trin

    Quan im phng phplun Pht trin phn mmtrong thc hnh Quanim bin h biphng php linh hot

    Cc nhim v ring r Cc k hoch c nhn

    lin h ln nhau

    Cc k hoch c nhn

    lin h ln nhau

    Don c thi gian Khng on trc

    c kt thc

    on c kt qu ca

    bc tip theo

    Hot ng

    C th lp li Ph thuc vo hon

    cnh

    Thng ph thuc vo

    hon cnh

    Tin cy Ph thuc vo iu

    kin, hon cnh

    ng tin cy

    Nhng tc ng qua li c

    th thy r c

    C sn tnh tng tc Cc tng tc c th

    lm tng kh nng

    tng tc t nhin

    Quy trnh

    thc hin

    Cc nhim vn ni tip Nhiu nhim v kt

    hp vi nhau

    Cc nhim v n

    thng b rng buc

  • 7/31/2019 Agile Software Develoment 6866

    35/41

    theo cc iu kin

    Tn ty vi d n SW Thch ng vi nhiu

    vic nh d n,khng

    phi d n, c nhn

    Ngi pht trin nh

    gi c c gng cn

    thit trong cng vic

    Khng c tnh phn ha Phn bit c nhn Phn bit c nhn

    N lc ca

    ngi pht

    trin

    Tinh thn sn sng cao Tn dng trit Tn dng trit

    Thng xuyn Tn dng chi, ng

    ph nhanh v gin

    on

    Ch chp nhn vic

    kim sot hin tai, tn

    trng cng vic ca

    ngi khc

    iu khin

    cng vic

    Kim sot nhng bc

    tin quan trng,nhng k

    hoch v vic qun l

    Hi tho c nhn v

    thng lng vi

    nhau

    Hi tho c nhn v

    thng lng vi nhau

    Mc d cch tip cn linh hot phn no tng ng vi vic pht trin phn

    mm hin ti nhng chng khng phi ph hp hon ton theo cc bc trong chu

    trnh pht trin phn mm. Biu sau s cho ta thy nhng bc pht trin phn

    mm c h trbi cc phng php linh hot khc. Mi phng php li c

    chia thnh 3 phn, phn u biu din phng php c a ra nhng h trcho

    vic qun l d n hay khng., phn tip theo xc nh xem 1 tin trnh, ci m

    c phng php khuyn dng c c m t bi phng php hay khng,

    phn cui cng ch ra l phng php c m t cc hot ng v sn phm cngvic ci m sau c thc dng trong nhiu hon cnh khc nhau hay khng.

    Mu nu biu th phng php ny c p dng trong sut vng i ca bc

    cn mu trng biu th phng php ny khng cung cp nhng thng tin chi tit

    v 1 trong 3 lnh vc c nh gi l qun l d n, tin trnh, thc hin\ hot

    ng\ sn phm cng vic.

  • 7/31/2019 Agile Software Develoment 6866

    36/41

    Biu trn cho thy phng php linh hot tp trung vo cc kha cnh khc

    nhau ca vng i pht trin phn mm. Hn na, mt s li tp trung vo thc

    hnh (nh lp trnh cc hn (Extreme Programming), lp trnh thc t, m hnhlinh hot) trong khi s khc li tp trung vo qun l d n phn mm (Scrum).

    Cha ht, li c nhng cch tip cn li c s dng trong ton b qu trnh pht

    trin (DSDM,RUP ) trong khi hu ht chng ch ph hp trong nhng bc c th

    (FDD). Do , c s khc nhau r rng a dng cc phng php pht trin phn

    mm linh hot. Trong khi DSDM v RUP khng cn b sung thm cc cch tip

    cn h tr pht trin phn mm, th nhng phng php kia phi cn. Tuy

    nhin, DSDM li ch ph hp cho nhng thnh vin ca cc tp on ti chnh

    DSDM cn RUP th sau ny l mi trng pht trin mang tnh thng mi. Cnnhc lm theo phng php no, quy m ca nhm pht trin nh th no hin nay

    tr thnh mt trong nhng vn quyt nh chnh. XP, Scrum, AM v PP tp

    trung vo cc nhm nh, thng l di 10 ks phn mm. Crystal, FDD , RUP,

    OSS, ASD v DSDM li yu cu kh nng pht trin ln n 100 ngi pht

    trin. Tuy vy, nhng xut linh hot tha nhn rng khi m quy m nhm pht

  • 7/31/2019 Agile Software Develoment 6866

    37/41

  • 7/31/2019 Agile Software Develoment 6866

    38/41

    bit l trong giai on u v gia ca vic pht trin. Rt nhiu cch qun l

    truyn thng nh bo co nh k phi c chuyn i theo hng sn xut cc

    m lm vic. Mt mt, iu ny i hi thay i cch thc t chc, mt khc n

    cng t nhiu nim tin vo nng lc, kh nng ca ca nhm pht trin. Thm

    vo , cng c c ri ro trong vic thay i phng php pht trin. Tt c cccch tip cn linh hot u a ra vic pht trin cc c tnh phn mm trong

    nhng chu trnh nh t 2 n 6 tun, do , ri ro t nht, v d nh vic sai lch

    trnh s thy trc c trong vi tun. Nhng xut v phng php linh hot

    c bit n nh ca Highsmith hay Schwaber, tin rng vic trin khai theo 1

    phng php st c nhng kt qu tt hn nu n c 1 s hu thun vng

    chc, do vy cn c nhng s quan tm v h trchin lc. Mc d cng c 1 vi

    lun chng nh kh hu ch cho vn ny, nhng nhng nghin cu mang tnh

    kinh nghim vn cn thit quyt nh xem bao gi,nh th no v trong tnhhung no th cc phng php linh hot c thc p dng tt nht. Thc hin

    theo cng ngh mi khng hn l cng ngh pht trin phn mm linh hot y

    khc xa so vi cc cng ngh phn mm khc hay n s ph nhn cc thnh tu

    nghin cu, v d nh Agarwal v Prasal ch ra rng s tin tng vo cng ngh

    mi v vic trin khai theo cng ngh y c quan h kh mt thit vi nhau,

    Abrahamsson cng a ra mt lun im tng t nh vy. Mt yu t quan

    trng khc nh hng n vic trin khai cng ngh mi l cch nm bt c t

    chc, c kin thc kthut, c s hun luyn kinh nghim v nhn bit nhng vickhng an ton. Nhng pht hin trn nn c p dng trong vic pht trin vic

    thc hin theo m hnh nhm mc ch cung cp nhng hng dn trong qu trnh

    tip cn cc phng php pht trin phn mm linh hot.

    IV. Nhng ph bnh dnh cho phng php pht trin linh hot:

    Nhng tranh ci v Lp trnh cc hn (Extreme Programming-XP) nh Lp trnh

    m ( pair programming) v Thit k lin lc vn lun thu ht c nhiu ph bnh

    gay gt t nhng ngi nh Mc Breen hay Boehm v Turner. Tuy vy, cng c

    nhiu nh thc hnh linh hot li tin rng nhng ph bnh y l hiu lm v pht

    trin linh hot.

    C th, theo nhng ph bnh ca Matt Stephens v Doug Rosenberg trong

    Extreme Programming Refactored. Nhng ph bnh ny gm :

  • 7/31/2019 Agile Software Develoment 6866

    39/41

    - Vic pht trin linh hot c dng nh mt cng c moi tin khchhng do thiu nhng nh ngha v sn phm tha thun

    - Thiu nhng cu trc v nhng ti liu hng dn cn thit- Ch lm vic vi nhng nh lp trnh cao cp- Hi t cc thit k phn mm- i hi nhng hi tho vi chi ph ln gy lng ph cho khch hng- i hi qu nhiu nhng thay i trong vn ha thch nghi- C th dn n nhng tha thun hp ng phc tp hn- C th khng hiu qu nu nhng yu cu cho mt mu code thay i

    trong qu trnh trao i qua li, mt chng trnh nh vy c th cn c lm i

    lm li nhiu ln, trong khi , nu cn 1 k hoch na theo sau th 1 mu code c

    th phi vit li mt ln na.

    - Khng thnh gi c gi tr ca cng sc b ra v ngay t khi bt ud n , khng ai bit c ton b yu cu d n.

    - C th lm tng kh nng nguy cko di thi hn v thiu nhng ti liuv yu cu chi tit.

    Nhng ph bnh nh gi v tht k phn mm v vic thiu nhng ti liu

    hng dn c ch ra trong phng php lp mu linh hot (Agile Modeling

    method), ci m c thc d dng thit k trong cc tin trnh linh hot.

    Pht trin phn mm linh hot b ph bnh v n khng mang li nhng li ch

    nh nu vi ngi lp trnh mc trung bnh.

    V. Kt lun

    Cc nghin cu ch ra rng, phng php lun pht trin phn mm hng d

    n theo cch truyn thng khng c s dng trong thc tin v n cng qu my

    mc. Kt qu l, cc nh pht trin phn mm trong cng nghip t ra hoi nghi

    v nhng gii php mi ci m rt kh khn tm ra v do vy vn cha c s

    dng. Cc phng php pht trin phn mm linh hot chnh thc c bt u vi

    s cng b bn tuyn ngn v vn linh hot, v chng cng to c nhng c

    gng trong vic mang n m hnh chuyn i trong lnh vc kngh phn mm.

    Cc phng php linh hot yu cu hng trng tm n con ngi, n s tng

    tc, n lm vic phn mm, n s cng tc vi khch hng v s thay i hn l

    cc quy trnh, cng c, cc hp ng hay k hoch. C mt s h phng php lun

    mi ra i yu cu s tng thch vi cc nguyn tc linh hot cng ang c gii

  • 7/31/2019 Agile Software Develoment 6866

    40/41

    thiu tuy nhin vn cha c c nhng quan im mang tnh h thng no v

    phng php linh hot.

    Ti liu ny vit ra vi 3 mc ch :

    u tin l tng hp nhng t ti liu hin thi v nhng g thc s c ngha l

    linh hot bng cch t cu hi Ci g bin 1 phng php pht trin thnh 1phng php linh hot?, v kt lun rng vic pht trin phn mm phi t c

    nhng yu cu sau:

    - Pht trin nhanh (cc phn mm nhc hon thnh nhanh chng vi nhng

    chu k nhanh)

    - C tnh hp tc (khch hng v nh pht trin hp tc vi nhau vi 1 cch thn

    thin gn gi)

    - n gin (bn thn phng php phi d dng c p dng, sa, v c cc ti

    liu h trtt)- C tnh thch ng (c kh nng thch ng vi nhng thay i)

    Th hai, da trn csnh ngha ny, mi phng php li c m t bng

    nhng thut ng v quy trnh, vai tr, nhim v, thc hnh, trin khai , rt kinh

    nghim cng vi nhng nghin cu hin ti.

    Th ba, cho php la chn cc tiu ch so snh cc phng php v a ra

    nhng im ging v khc nhau ca cc phng php, t thy rng tuy rng cc

    phng php c nhng im chung nhng vn c vi phng php ni bt hn cc

    phng php kia, v d nh chng h trcc bc khc nhau trong pht trin phnmm nhiu cp . Nhng im khc nhau ny cng c thy trong nhng thc

    t khi m nhng phng php ny c p dng.

    V d nh ASD th hu nh tp trung vo cc nguyn tc hung dn pht trin

    phn mm trong khi XP li t trng tm vo vic thc hnh pht trin.

    Nhng cslun chng nh cng gi ra rng cc phng php linh hot kh

    hu qu v ph hp trong nhiu mi trng v trong nhiu tnh hung, tuy vy, hin

    ti, c rt t nhng nghin cu xc ng mang tnh kinh nghim h tr cho lun

    im ny, nhng lun chng hin nay ch bao gm phn ln l nhng thnh cng

    ca cc chuyn gia thc hnh. Mc d nhng lun chng y cng cung cp nhng

    thng tin kh gi tr v nhng ng dng mang tnh thc nghim, tuy vy vn cn c

    thm nhng nghin cu mang tnh kinh nghim nh gi c hiu qu v kh

    nng ca vic s dng nhng phng php pht trin phn mm linh hot. Hn

    na, vic cho ra i thng xuyn cc phng php linh hot th li hu nh lm

  • 7/31/2019 Agile Software Develoment 6866

    41/41

    tnh hnh rc ri hn, mi phng php li s dng nhng thut ng, nhng cng

    ngh ring m khng ch trng n vic thng nht trong cch trnh by quan im.

    Ci ang v cng cp thit hin nay (hn c nhng m hnh mi) chnh l s thc

    hin theo hay chn la nhng phng php s dng cho nhng ngi thc hnh.

    Mc tiu ca vic ny l cho php cc chuyn gia phn mm, cc d n,cc t chcc th chn v p dng c ng phng php v ng thi im. Chng ta cng

    mong rng nhng nghin cu mang tnh kinh nghim hoc nhng kinh nghim s

    to cho chng ta mi trng tim nng cho xu hng pht trin ny.

    Tm li, suy ngh linh hot l xem con ngi l trng tm ca pht trin phn

    mm. Chin lc ly con ngi lm trng tm ny c xem nh l mt trong

    nhng u th sng cn bi v khng ging nh cng ngh, gi c, hay pht trin sn

    phm mi, chin lc con ngi kh kh trin khai (Pfeffer 1998; Miller and Lee

    2001). Tuy nhin y khng phi l vic mi m, vo nm 1990, trong mt tica nhng nh lp trnh M (Ed Yourdons Software Journal, Vol. 3, No. 7-8) cc

    nh bin tp bnh lun v vn c bit ny nh sau Mi ngi u bit cch

    tt nht pht trin phn mm v s lng cng nh cht lng chnh l t con

    ngi lm trng tm. Do vy, tng v cc phng php linh hot khng phi l

    qu mi m, mc d vy,chng ta vn lun tin rng nhng phng php pht trin

    phn mm linh hot sem li cho chng ta mt gii php no trong vic tip

    cn cc vn ca kngh phn mm .