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 .