You are on page 1of 36

Vi

sitwww.
takei
teasy
engi
neer
s.com f
ornot
es
Sof
twar
eEngi
neer
ing

Pr
ojectPl
anni
ng Modul
e-4
Cont
ent
s

 Sof
twar
epr
ici
ng

 Pl
an-
dri
vendev
elopment

 Pr
ojectschedul
i
ng

 Est
imat
iont
echni
ques

 COCOMO costmodel
i
ng

Pr
ojectpl
anni
ngi nv
olv
esbreaki
ngdownt heworki
ntopar
tsandassignstheset
oprojectt
eam
members,ant
ici
patepr
obl
emst hatmi
ghtari
seandpr
epar
etent
ati
vesolut
ionstot
hoseprobl
ems.

Theproj
ectpl
an,
whichi
screatedatthestar
tofapr
oject,
isusedtocommunicatehowt
he
workwil
lbedonetothepr
ojectteam andcust
omers,andtohelpassesspr
ogressont
he
proj
ect
.

Pl
anni
ngst
ages

Attheproposalst
age,wheny
ouar
ebi
ddi
ngf
oracont
ractt
odev
eloporpr
ovi
dea
sof
twar
esy st
em.

 Dur
ingtheproj
ectstar
tupphase,whenyouhavetoplanwhowil
lwor kont he
pr
oject
,howtheproj
ectwil
lbebrokendowni
ntoincr
ement
s,howresourceswil
l
beall
ocat
edacr
ossyourcompany ,
etc.

 Peri
odical
l
ythroughoutt
heproj
ect
,wheny oumodif
yyourplanintheli
ghtof
exper
iencegai
nedandinf
ormati
onf
rom monit
ori
ngt
heprogr
essofthework.

Pr
oposal
planni
ng

 Pl
anni
ngmaybenecessar
ywi
thonl
yout
li
nesof
twar
erequi
rement
s.

 Theai
m ofplanningatt
hisst
ageist
opr
ovi
dei
nfor
mat
iont
hatwi
l
lbeusedi
nset
ti
nga
pri
cef
orthesystem t
ocustomer
s.

 Proj
ectpri
cingi
nvol
vesesti
mati
nghowmuchthesoft
warewil
lcostt
odev el
op,t
aki
ng
fact
orssuchasstaf
fcost
s,har
dwar
ecost
s,sof
twar
ecost
s,et
c.int
oaccount

Pr
ojectst
art
uppl
anni
ng

 Atthi
sstage,youknow moreaboutt
hesyst
em r equi
rementsbutdonothav edesi
gnor
i
mplementati
oninf
ormati
on
 Cr
eateaplanwithenoughdet
ail
tomakedeci
sionsabouttheproj
ectbudgetandst
aff
ing.

Thi
spl
ani
sthebasi
sforpr
ojectr
esour
ceal
l
ocat
ion

 Thest
art
uppl
anshoul
dal
sodef
inepr
ojectmoni
tor
ingmechani
sms

 Ast
artupplani
sst
il
lneededf
oragi
l
edev
elopmentt
oal
l
ow r
esour
cest
obeal
l
ocat
edt
o
t
heproject

Dev
elopmentpl
anni
ng

 Theproj
ectplanshoul
dberegul
arl
yamendedast
hepr
ojectpr
ogr
essesandy
ouknow
moreaboutthesoft
wareandit
sdevel
opment

 Thepr
ojectschedul
e,cost
-est
imat
eandr
iskshav
etober
egul
arl
yrev
ised

Sof
twar
epr
ici
ng

 Esti
mat
esar
emadet
odi
scov
ert
hecost
,tot
hedev
eloper
,ofpr
oduci
ngasof
twar
e
syst
em.


Yout
akei
ntoaccount
,har
dwar
e,sof
twar
e,t
rav
el,
trai
ningandef
for
tcost
s.

 Ther
eisnotasi mpl
erelat
ionshi
p bet
ween t
hedev
elopmentcostand t
hepr
ice
char
gedt
othecust
omer.

 Br
oaderorgani
zat
ional
,economi
c,pol
i
ticalandbusi
nessconsi
der
ati
onsi
nfl
uencet
he
pr
icechar
ged.

Fact
or Descr
ipt
ion

Cont
ract
ual
ter
ms Acustomermaybewill
ingtoall
owt hedevelopertoretai
nownershipoft
he
sour
cecodeandreuseiti
notherproject
s.Thepr i
cechar gedmaythenbe
l
essthani
fthesoft
waresourcecodei shandedov ertothecust
omer .

Costest
imat
euncer
tai
nty I
fanorganizat
ionisunsur
eofi
tscostesti
mate,i
tmayi
ncr
easei
tspr
iceby
acont
ingencyoverandabovei
tsnor
mal pr
ofi
t.

Fi
nanci
alheal
th Devel
opersinf
inanci
aldi
ffi
cult
ymaylowerthei
rpri
cetogainacontr
act
.It
i
sbettertomakeasmal l
erthannor
malprofi
torbreakeventhant
ogoout
ofbusi
ness.
Cashflowismoreimport
antthanpr
ofi
tindi
ffi
cul
teconomict
imes.
Mar
ketoppor
tuni
ty Adev elopmentorganizat
ionmayquot ealowpricebecauseit
wishest omoveintoanewsegmentoft hesoftwaremarket.
Acceptingalowpr ofi
tononeprojectmaygi v
etheorganizat
ionthe
opportunit
ytomakeagr eat
erprofi
tlat
er.Theexperi
encegained
mayal sohelpitdevel
opnewpr oducts.
Requi
rement
svol
ati
l
ity Ift
herequi
rementsareli
kelyt
ochange,anorganizat
ionmaylower
i
tspri
cetowinacont r
act.Aft
erthecont
racti
sawar ded,
highpr
ices
canbechargedforchangestotherequi
rements.
Fact
orsaf
fect
ingsof
twar
epr
ici
ng

Pl
an-
drivendevel
opment
 Pl an-
dri
venorplan-
baseddevel
opmentisanappr
oacht
osof
twar
eengi
neer
ingwher
ethe
devel
opmentprocessispl
annedindet
ail
.


Plan-driven devel
opment i
s based on engi
neer
ing pr
oject management
techniques and isthe ‘t
radi
ti
onal
’way of managi
ng large soft
ware
developmentproj
ect
s.

 Aprojectplaniscr
eat
edthatr
ecor
dst
hewor
ktobedone,
whowi
l
ldoi
t,t
hedev
elopment
scheduleandtheworkpr
oduct
s.

 Managersuset
hepl
ant
osuppor
tpr
ojectdeci
sionmaki
ngandasawayofmeasur
ing
pr
ogress.

Pl
an-
dri
vendev
elopment–pr
osandcons

 Thear gument sinfavorofapl an-dr


ivenapproacharet hatearl
yplanni
ngallows
organizat
ionalissues(av
ail
abil
ityofstaff,
otherpr
ojects,etc.
)tobecloselyt
aken
i
nto account ,and thatpotentialproblemsand dependenci esar ediscover
ed
beforetheprojectstar
ts,r
atherthanoncet heproj
ectisunderway .

 The pri
nci
palargumentagai nstplan-
dri
ven dev
elopmenti sthatmanyearl
y
deci
sionshavet
ober evisedbecauseofchangest
ot heenv
ironmenti
nwhi
chthe
soft
wareistobedevelopedandused.

Pr
ojectpl
ans

 I
naplan-dr
ivendev
elopmentproj
ect
,aprojectplanset
souttheresourcesav
ail
abl
eto
t
hepr
oject,
theworkbreakdownandascheduleforcar
ryi
ngoutt
hewor k.

 Pl
ansect
ions

• Intr
oduct i
on-Thi sbr i
efl
ydescribest heobjecti
vesoft heproj
ectandset soutt he
constraint
s( e.g.
,budget,ti
me,etc.)t
hataffectthemanagementoft hepr
oject.
• Projector ganizat
ion-Thi sdescri
best hewayi nwhi chthedev el
opmentt eam is
organized,thepeopl einvol
ved,andtheirr
olesintheteam.
• Riskanal ysis-Thisdescr i
bespossi bleprojectri
sks,theli
kel
ihoodoft heserisks
ari
sing,andt heri
skreduct i
onst rategiest hatarepr oposed
• Hardwar eandsof t
war er esourcer equirements-Thi sspeci
fiesthehar dwar eand
supportsof twarerequi r
edt ocar ryoutt hedev elopment.Ifhardwar ehast obe
bought,estimatesofthepr icesandt hedel iv
eryschedul emaybei ncluded.
• Wor kbreakdown-Thi sset soutt hebr eakdownoft heprojectintoact iv
itiesand
i
dent i
fi
est hemi l
estonesanddel i
verablesassoci at edwitheachact i
vit
y.Mi lestones
arekeyst agesinthepr ojectwher epr ogr esscanbeassessed;del i
verablesar ewor k
productsthataredeliveredtothecust omer .
• Projectschedule-Thisshowst hedependenci esbet weenact iv
iti
es,theest imated
ti
mer equiredtoreacheachmi lestone, andt heallocationofpeopletoactivit
ies.
• Moni t
oringandr eportingmechani sms-Thi sdef inest hemanagementr epor tsthat
shouldbepr oduced,whent heseshoul dbepr oduced,andt hepr ojectmoni tor
ing
mechani smst obeused.

Thepr
ojectpl
anni
ngpr
ocess

Fi
gur eshowsaUMLact i
vit
ydi agram thatshowsat ypicalwor kf
low f orapr oj
ect
planningpr ocess.Att hebeginni ngofapl anningprocess,y oushoul dassesst he
const r
aintsaf f
ect i
ngthepr oj
ect.Theseconst rai
ntsaret her equir
eddel i
verydat e,st
aff
available,overallbudget,avai
lablet ool
s,andsoon.I nconj uncti
onwi ththis,youshoul d
also ident i
fythepr oj
ectmi l
est onesanddel i
verabl
es.Mi lest
onesar epoi ntsint he
schedul eagai nstwhi chy oucanassesspr ogress,forexampl e,thehandov eroft he
system f ortesti
ng.
Deliverablesarewor kproductst hataredel i
veredt ot
hecust omer( e.
g.,ar equir
ement s
documentf orthesy stem).Problemsofsomedescr i
ptionnear lyalwaysar i
sedur i
nga
project,andt hesecanl eadtopr ojectdelays.
Projectschedul ing

 Pr
ojectschedul
ingistheprocessofdeci
dinghow thewor kinapr oj
ectwil
lbe
or
ganizedasseparat
etasks,
andwhenandhowt hesetaskswil
lbeexecut
ed.

 Youest
imat
ethecal
endarti
meneededtocompl
eteeacht
ask,t
heef
for
trequi
red
andwhowil
lwor
konthetaskst
hathav
ebeeni
dent
if
ied.

 Youal
sohav
etoest
imat
ether
esour
cesneededt
ocompl
eteeacht
ask,
suchast
he
di
skspacerequi
redonaserv
er,thet
imer
equi
redonspeci
ali
zedhar
dwar
e,suchas
asi
mulator
,andwhatthet
ravel
budgetwi
l
lbe.

Schedul
i
ngpr
obl
ems

 Est
imat
ingt
hedi
ff
icul
tyofpr
obl
emsandhencet
hecostofdev
elopi
ngasol
uti
oni
shar
d.

 Pr
oduct
ivi
tyi
snotpr
opor
ti
onal
tot
henumberofpeopl
ewor
kingonat
ask.

 Addi
ngpeopl
etoal
atepr
ojectmakesi
tlat
erbecauseofcommuni
cat
ionov
erheads.

 Theunexpect
edal
way
shappens.Al
way
sal
l
owcont
ingencyi
npl
anni
ng.

 Gr
aphi
cal
not
ati
onsar
enor
mal
l
yusedt
oil
l
ust
rat
ethepr
ojectschedul
e.

 Theseshowtheproj
ectbr
eakdowni
ntot
asks.Tasksshoul
dnotbet
oosmal
l
.Theyshoul
d
takeaboutaweekort
wo.

 Cal
endar
-based

 Barchartsar
ethemostcommonlyusedrepr
esent
ati
onf
orpr
ojectschedul
es.Theyshow
theschedul
easact
ivi
ti
esorr
esour
cesagai
nstti
me.

 Act
ivi
tynet
wor
ks

 Showt
askdependenci
es

Mi
l
est
onesanddel
i
ver
abl
es

 Milest
onesar
epoi nt
sintheschedul
eagainstwhi
chy
oucanassesspr
ogr
ess,f
or
example,t
hehandoveroft
hesyst
em fort
esti
ng.

 Deli
verabl
es are wor
k product
st hatar
e del
i
ver
ed t
othe cust
omer
,e.
g.a
requi
rementsdocumentf
orthesyst
em.

Est
imat
iont
echni
ques
Or
ganizati
onsneedt omakesof
twareef
for
tandcostest
imat
es.Ther
ear
etwot
ypesof
t
echniquethatcanbeusedt
odothi
s:

▪ Exper
ience-basedtechni
ques:Theesti
mateoffutureef
for
trequi
rements
i
sbasedont hemanager’sexperi
enceofpastpr
oject
sandtheappli
cat
ion
domain.Essential
l
y,themanagermakesani nf
ormedjudgmentofwhat
theef
fortrequir
ementsareli
kelyt
obe.

▪ Algori
thmi
ccostmodeling:Inthi
sapproach,afor
mulai
capproachisused
tocomput etheproj
ecteffortbasedonest i
matesofproductatt
ri
butes,
suchassi ze,andprocesschar act
eri
sti
cs,suchasexperi
enceofst aff
i
nv ol
ved.
Exper
ience-
basedappr
oaches

 Exper
ience-basedtechni
quesrel
yonjudgment
sbasedonexperi
enceofpastpr
oject
s
andtheeffortexpendedi
ntheseproj
ect
sonsoftwar
edev
elopmentact
ivi
ti
es.

 Typi
cal
l
y,y
ouidenti
fythedeli
ver
abl
estobeproducedinapr
ojectandt
hedi
ff
erent
soft
war
ecomponentsorsy
stemsthatar
etobedevel
oped.

 Youdocumenttheseinaspr
eadsheet
,est
imat
ethem i
ndi
vi
dual
l
yandcomput
ethe
tot
alef
for
trequi
red.

 Itusual
l
yhel
pstogetagroupofpeoplei
nvol
vedint
heef
for
test
imat
ionandt
oask
eachmemberoft
hegrouptoex
plai
nthei
rest
imat
e.

Pr
obl
em wi
thexper
ience-
basedappr
oaches

 Thedif
ficul
tywi
thexper
ience-
basedtechniquesist
hatanew sof
twar
epr
ojectmay
nothav
emuchi ncommonwi thprev
iousproject
s.

 Softwar
edev el
opmentchangesv er
yquickl
yandapr ojectwi
llof
tenuseunf
ami
l
iar
techni
quessuchaswebservices,
appli
cat
ionsy
stem confi
gur
ati
onorHTML5.

 I
fyouhav enotworkedwiththeset
echni
ques,y
ourprevi
ousexperi
encemaynothelp
youtoesti
matetheeffor
trequir
ed,
makingitmoredi
ffi
cul
ttoproduceaccur
atecost
s
andschedul
eesti
mat es.

Al
gor
it
hmi
ccostmodel
i
ng

 Costi
sestimatedasamat hemat
icalfunct
ionofproduct
,pr
ojectandpr
ocessat
tri
but
es
whosevaluesareest
imatedbypr
ojectmanagers:
▪ Ef
fort=A ´ zeB´M
Si

▪ Aisanorganisati
on-dependentconst
ant
,Br ef
lect
sthedi
sproport
ionat
e
eff
ortf
orlar
gepr oject
sandM i samul t
ipl
i
errefl
ecti
ngpr
oduct,pr
ocess
andpeopl
eattr
ibutes.

 Themostcommonl
yusedpr
oductat
tr
ibut
eforcostest
imat
ioni
scodesi
ze.

 Mostmodel
sar
esi
mil
arbutt
heyusedi
ff
erentv
aluesf
orA,
BandM.

Est
imat
ionaccur
acy

 Thesi
zeofasof
twar
esy
stem canonl
ybeknownaccur
atel
ywheni
tisf
ini
shed.

 Sev
eral
fact
orsi
nfl
uencet
hef
inal
size

▪ Useofr
eusedsy
stemsandcomponent
s;

▪ Pr
ogr
ammi
ngl
anguage;

▪ Di
str
ibut
ionofsy
stem.

 Ast
hedev
elopmentpr
ocesspr
ogr
essest
hent
hesi
zeest
imat
ebecomesmor
eaccur
ate.
 Theesti
matesofthef
actor
scont
ri
but
ingt
oBandM ar
esubj
ect
iveandv
aryaccor
dingt
o
thej
udgmentoft
heesti
mator.

Ef
fect
ivenessofal
gor
it
hmi
cmodel
s

 Al
gori
thmi
ccostmodelsar
easystemati
cwayt
oesti
matetheeffor
trequi
redt
odev
elop
asyst
em.However
,thesemodel
sarecompl
exanddi
ff
icul
ttouse.

 Ther
earemanyat
tri
but
esandconsi
der
abl
escopef
oruncer
tai
ntyi
nest
imat
ingt
hei
r
val
ues.

 Thiscomplexi
tymeansthatthepr act
icalappl
icat
ionofalgor
it
hmi
ccostmodeli
nghas
beenli
mitedtoarel
ati
vel
ysmal lnumberofl ar
gecompanies,most
lywor
kingi
ndefense
andaerospacesy
stemsengineering.

COCOMOcostmodel
i
ng

 Anempi
ri
cal
model
basedonpr
ojectexper
ience.

 Wel
l
-document
ed,
‘i
ndependent
’model
whi
chi
snott
iedt
oaspeci
fi
csof
twar
evendor
.

 COCOMO2takesi
ntoaccountdi
ff
erentappr
oachest
osof
twar
edev
elopment
,reuse,
etc.
COCOMO2model
s

 COCOMO 2 i
ncor
porat
es a r
ange ofsub-
model
sthatpr
oduce i
ncr
easi
ngl
ydet
ail
ed
sof
twar
eest
imat
es.

 Thesub-
model
sinCOCOMO2ar
e:

▪ Appl
icat
ion composi
ti
on model
.Used when sof
twar
eis composed f
rom
exi
sti
ngpart
s.

▪ Earl
ydesignmodel
.Usedwhenr
equi
rement
sar
eav
ail
abl
ebutdesi
gnhasnot
yetst
art
ed.

▪ Reusemodel
.Usedt
ocomput
etheef
for
tofi
ntegr
ati
ngr
eusabl
ecomponent
s.
▪ Post
-ar
chi
tect
uremodel.Usedoncethesyst
em ar
chi
tect
urehasbeendesi
gned
andmorei
nformat
ionaboutthesyst
em i
savail
abl
e.

Appl
i
cat
ioncomposi
ti
onmodel

 Suppor
tspr
otot
ypi
ngpr
oject
sandpr
oject
swher
ether
eisext
ensi
ver
euse.

 Based on standard est


imat
es of dev
eloper pr
oduct
ivi
ty i
n appl
i
cat
ion (
obj
ect
)
poi
nts/
month.
 Takessof
twar
et ool
useint
oaccount
.

 For
mul
ais

▪ PM =(NAP´(
1-%r
euse/
100))/PROD

▪ PM i
stheef
for
tinperson-
mont
hs,NAPi
sthenumberofappl
i
cat
ionpoi
nts
andPRODi
sthepr
oducti
vit
y.

Ear
lydesi
gnmodel

 Est
imat
escanbemadeaf
tert
her
equi
rement
shav
ebeenagr
eed.

 Basedonast
andar
dfor
mul
aforal
gor
it
hmi
cmodel
s

 PM =A´
SizeB´M wher
e

▪ M =PERS´RCPX´RUSE´PDI
F´PREX´FCI
L´SCED;
▪ A=2.
94i
nini
ti
alcal
i
brat
ion,

▪ Si
zei
nKLOC,

▪ Bvar
iesfr
om 1.
1to1.24dependi
ngonnovel
tyoft
heproj
ect
,dev
elopmentf
lexi
bil
i
ty,
r
iskmanagementappr
oachesandthepr
ocessmatur
it
y.

Mul
ti
pli
ers

Mult
ipl
ier
sref
lectthecapabi
l
ityofthedevel
oper
s,t
henon-
funct
ionalr
equi
rement
s,t
he
f
ami l
i
ari
tywi
ththedevel
opmentplat
for
m,etc.

▪ RCPX-pr
oductr
eli
abi
l
ityandcompl
exi
ty;

▪ RUSE-t
her
euser
equi
red;

▪ PDI
F-pl
atf
orm di
ff
icul
ty;

▪ PREX-per
sonnel
exper
ience;

▪ PERS-per
sonnel
capabi
l
ity
;

▪ SCED-r
equi
redschedul
e;

▪ FCI
L-t
het
eam suppor
tfaci
l
iti
es.

Ther
eusemodel

 Takesintoaccountbl
ack-
boxcodethati
sreusedwi
thoutchangeandcodet
hathast
o
beadaptedtoint
egrat
eitwit
hnewcode.

 Ther
ear
etwov
ersi
ons:

▪ Black-
boxreusewher
ecodei
snotmodi
fi
ed.Anef
for
test
imat
e(PM)i
s
computed.

▪ Whit
e-boxr
eusewherecodeismodif
ied.Asi
zeest
imat
eequi
val
entt
othe
numberofli
nesofnew sourcecodeiscomput
ed.Thi
sthenadj
ust
sthe
si
zeesti
matefornewcode.
Qual
i
tyManagement

Cont
ent
s

 Sof
twar
equal
i
ty

 Sof
twar
est
andar
ds

 Rev
iewsandi
nspect
ions

 Sof
twar
emeasur
ement

Sof
twar
equal
i
tymanagement

 Concer
nedwi
thensur
ingt
hatt
her
equi
redl
evelofqual
i
tyi
sachi
evedi
nasof
twar
e
pr
oduct.

 Thr
eepr
inci
pal
concer
ns:

▪ Att he organi
zati
onallev
el,qual
it
y managementi s concerned with
est
abli
shingaf r
ameworkoforgani
zati
onalpr
ocessesandstandardsthat
wil
ll
eadt ohighqual
it
ysoft
ware.

▪ Att he pr
ojectlev el
,quali
tymanagementinv
olves t
he appl
icat
ion of
specif
icquali
typr ocessesandchecki
ngthattheseplannedprocesses
havebeenfollowed.

▪ At the project l
evel
,qual i
ty management i
s also concerned wi
th
est
ablishi
ngaqualit
yplanforaproj
ect.Thequal
it
yplanshoul
dsetoutthe
qual
itygoalsfort
heprojectanddefi
newhatprocessesandstandar
dsare
tobeused.

Qual
i
typl
anni
ng

A qual
it
yplansetsoutthedesir
edproductqual
i
tiesandhow t
hesear
eassessedand
defi
nesthemostsi
gni
fi
cantqual
i
tyat
tri
butes.

 Thequal
i
typl
anshoul
ddef
inet
hequal
i
tyassessmentpr
ocess.

 I
tshoul d setoutwhich organi
sat
ionalst
andar
ds shoul
d be appl
i
ed and,wher
e
necessar
y,defi
nenewstandardst
obeused.
Anout
li
nest
ruct
uref
oraqual
i
typl
an.Thi
sincl
udes:

1. Pr oducti nt
roducti
on:Adescr ipt i
onoft hepr oduct,itsi
ntendedmar ket,andt he
quali
tyexpect ati
onsforthepr oduct.
2. Pr oductpl ans:Thecr iticalreleasedat esandr esponsibil
it
iesf orthepr oduct
,
alongwithpl ansfordist
ribut
ionandpr oductserv
icing.
3. Pr ocessdescr ipt
ions:Thedev elopmentandser vi
cepr ocessesandst andards
thatshouldbeusedf orproductdev elopmentandmanagement .
4. Qual i
ty goals:The qual i
ty goal s and plans f ort he product,incl
uding an
ident
ifi
cationandj ust
ifi
cati
onofcr i
ti
cal productqualityatt
ribut
es.
5. Ri sksandr i
skmanagement :Thekeyr i
skst hatmi ghtaffectproductqualit
yand
theacti
onst obetakent oaddr esstheser isks.

Pr
ocessandpr
oductqual
i
ty

 Thequal i
tyofadev
elopedpr
oducti
sinf
luencedbyt
hequal
i
tyoft
hepr
oduct
ion
process.

 Thi
sisimport
anti
nsof
twar
edev
elopmentassomepr
oductqual
i
tyat
tr
ibut
esar
ehar
d
toassess.

 However,t
hereisav er
y compl ex and poor
ly under
stood r
elat
ionshi
p bet
ween
sof
twarepr
ocessesandproductqual
it
y .

▪ Theappli
cati
onofindi
vi
dualski
l
lsandexper
iencei
spar
ti
cul
arl
yimpor
tant
i
nsoftwaredevel
opment;

▪ Exter
nalfact
orssuchasthenovel
tyofanappl
i
cationortheneedf
oran
accel
erat
eddevel
opmentschedul
emayimpai
rproductqual
i
ty.
Amanuf acturi
ngprocessinvol
vesconf i
guri
ng,set t
ingup,andoper ati
ngt hemachi
nes
i
nvolvedi nt heprocess.Oncet hemachi nesar eoper at
ingcorrectl
y,productqual
it
y
natural
lyfoll
ows.
Wemeasur et hequal
ityoftheproductandchanget heprocessunt i
lweachievethe
qualit
ylev elthatyouneed.Abov efigureillust
ratesthisprocess-basedapproachto
achievi
ngpr oductquali
ty.Oncemanuf actur
ingsy stemsarecali
brated,theycanberun
againandagai ntooutputhighqual
it
ypr oducts.

Sof
twar
est
andar
ds

 St
andardsdefi
netherequi
redattr
ibutesofaproductorpr
ocess.Theyplayan
i
mportantr
olei
nquali
tymanagement .
 St
andardsmaybeint
ernati
onal
,nati
onal,or
gani
zat
ional
orpr
ojectst
andar
ds.

Pr
oductandpr
ocessst
andar
ds

 Pr
oductstandards
▪ Appl ytot hesof twareproductbei ngdev el
oped.Theyi ncl
udedocument
standards, such as t he st r
uct ure of r equirements document s,
document at i
onst andards,suchasast andardcommentheaderf oran
objectcl ass def ini
ti
on,and codi ng standards,whi ch define how a
programmi nglanguageshoul dbeused.
 Pr
ocessst andar
ds
▪ These def ine the processest hatshoul d be foll
owed dur i
ng software
development .Pr ocessstandardsmayi ncludedefiniti
onsofspecifi
cati
on,
designandv ali
dat i
onprocesses,pr ocesssuppor ttoolsandadescr ipt
ion
ofthedocument sthatshouldbewr ittenduri
ngthesepr ocesses.

Pr
oductst
andar
ds Pr
ocessst
andar
ds

Desi
gnr
evi
ewf
orm Desi
gnr
evi
ewconduct

Requi
rementsdocument Submi ssi
onofnewcodefor
st
ructur
e system bui
ldi
ng
Methodheaderfor
mat Versionrel
easepr
ocess

Jav
apr
ogr
ammi
ngst
yle Pr
ojectpl
anappr
oval
process

Pr
ojectpl
anf
ormat Changecont
rol
process

Changer
equestf
orm Testr
ecor
dingpr
ocess
I
SO9001st
andar
dsf
ramewor
k

 Ani nternati
onalsetofst andardst hatcanbeusedasabasi sf ordeveloping
qualit
ymanagementsy stems.
 ISO 9001,t hemostgener aloft hesest andards,appli
est oorganizati
onst hat
design,developandmai ntai
npr oducts,i
ncludingsoftware.
 TheI SO9001st andardisaf r
amewor kfordevelopingsoftwarestandards.
I
tsetsoutgener alqualit
ypr i
ncipl
es,describesqualit
ypr ocessesingeneralandlaysout
theorganizationalstandar dsandpr ocedurest hatshouldbedef i
ned.Theseshoul dbe
document edi nanor ganizati
onalquali
tymanual .

Fi
gur
e:I
SO9001cor
epr
ocesses

• Themaj orrevi
sionoft heISO 9001st andardin2000r eorientedthest andard
aroundni necoreprocessesasshowni nthefigure.I
fanor ganizati
onist obeI SO
9001conf or
mant ,itmustdocumenthow i tspr ocessesr elatetot hesecor e
processes.
• Itmustal sodef i
neandmai nt
ainrecordst hatdemonst ratet hatthedef ined
organizati
onalprocesseshavebeenfoll
owed.
• Thecompanyqual it
ymanualshoulddescr i
bet herelevantpr ocessesandt he
processdat athathast obecol l
ect
edandmai ntai
ned.TheI SO9001st andard
doesnotdefineorprescr
ibethespeci
fi
cqual
it
ypr
ocessest
hatshoul
dbeusedi
n
acompany .
• Tobeconf ormantwi thISO 9001,acompanymusthavedefi
nedthety
pesof
processshowninFigure.

 TheI SO 9001cer tif


icati
oni sinadequat ebecausei tdef inesqual itytobet he
confor mancet ostandards.
 Ittakesnoaccountofqual i
tyasexper iencedbyuser soft hesof t
war e.For
exampl e,acompanycoul ddefinetestcov eragest andar dsspeci fyi
ngt hatall
met hodsi nobjectsmustbecal l
edatleastonce.
 Unfortunately,t
hisstandardcanbemetbyi ncompl etesof t
war et est
ingt hatdoes
noti ncludet estswi thdiffer
entmet hodpar ameters.So l ongast hedef i
ned
testi
ngpr oceduresar efoll
owedandt estrecor dsmai ntained, thecompanycoul d
beISO9001cer t
if
ied.
 Somesof twarecust omer sdemand t hatt heirsuppliersshoul d beI SO 9001
certi
fied.Thecust omer scant henbeconf i
dentt hatt hesof t
war edev elopment
companyhasanappr ovedqualit
ymanagementsy stem inpl ace.
 Independent accr edit
ati
on aut hori
ties exami ne t he qual ity management
processesandpr ocessdocument at
ionanddeci deifthesepr ocessescov eral
lof
thear easspeci fi
edi nISO 9001.I fso,t heycer t
ifyt hatacompany ’
squal it
y
pr
ocesses,
asdef
inedi
nthequal
i
tymanual
,conf
ormt
otheI
SO9001st
andar
d.

Rev
iewsandinspections
 Theyar eQAact i
vit
iest hatcheckt hequal it
yofpr ojectdeli
ver
ables.Examini
ng
t
hesoftware,document at
ionandr ecordsoft hepr ocesst odi
scovererr
ors.
 Agr oupexami nespar toral lofapr ocessorsy stem andi t
sdocument at
ionto
f
indpotenti
alpr obl
ems.
 Therear edif
ferentty pesofr evi
ewwi thdiffer
entobj ect i
ves
▪ Inspect i
onsf ordef ectremov al(product);
▪ Rev iews f orpr ogress assessment( pr
oductand
process); ▪
Qual i
tyreviews(productandst andar ds).

Phasesi
nther
evi
ewpr
ocessar
e:

1. Pr e-review act i
vi
ties:Thesear epr eparatoryactivi
ti
est hatar eessentialforthe
review tobeef fecti
ve.Pr e-
revi
ew activi
tiesar econcer nedwi thr evi
ew planningand
reviewprepar ation.Rev i
ewpl anni
ngi nvol
v essettingupar eviewt eam, arr
angingat i
me
andpl acef orther ev
iew,anddi str
ibuti
ngt hedocument stober evi
ewed.Dur i
ngr evi
ew
preparati
on,t het eam maymeett ogetanov erview ofthesof t
war etober evi
ewed.
Indivi
dualrev i
ewt eam member sreadandunder standthesof twareordocument sand
relevantstandar ds.Theywor kindependent l
yt of i
nder r
ors,omi ssions,anddepar t
ures
from standar ds.Rev i
ewer smaysuppl ywr i
ttencomment sont hesof twarei fthey
cannotat t
endt her evi
ewmeet i
ng.

2. Ther eview meeti


ng:Duringtherev i
ew meet i
ng,anaut horofthedocumentor
program beingr ev
iewedshould‘walkthrough’thedocumentwi ththerevi
ewteam.The
revi
ew itsel
fshoul dberelat
ivel
yshort—twohour satmost .Oneteam membershould
chairthereviewandanot hershouldformall
yr ecordallr
evi
ewdeci si
onsandacti
onsto
bet aken.Dur ing therevi
ew,thechai risr esponsibleforensur i
ng t
hatallwri
tt
en
comment sar econsider
ed.Ther evi
ew chairshoul dsignar ecordofcomment sand
acti
onsagr eeddur i
ngtherevi
ew.

3. Post
-r
evi
ew act
ivi
ti
es:Af
tera r
evi
ew meet
ing has f
ini
shed,t
he i
ssues and
probl
emsr ai
sedduringtherevi
ewmustbeaddr essed.Thi
smayi nv olv
ef i
xi
ngsoftware
bugs,refactori
ng software so thatitconf orms to qual
itystandar ds,orrewrit
ing
documents.Somet imes,thepr oblemsdiscov er
edi naqualit
yr evi
ew ar esuchthata
managementr evi
ew isalsonecessar ytodeci deifmor eresourcesshoul dbemade
avail
abl
et ocor r
ectthem.Af t
erchangeshav ebeenmade,t hereviewchai rmaycheck
thatther evi
ew comment shav eallbeent akeni nt
oaccount .Somet i
mes,afur t
her
revi
ewwi l
lber equi
redtocheckt hatthechangesmadecov eralloft heprevi
ousrevi
ew
comment s.

Pr
ogr
am i
nspect
ions

 Thesear epeerrevi
ewswher eengi neersexaminethesourceofasy st
em withthe
aim ofdiscoveri
nganomali
esanddef ects.
 Inspecti
ons do notr equi
re execution ofa sy st
em so maybe used bef ore
i
mpl ement at
ion.
 Theymaybeappl i
edtoanyr epresentati
onoft hesyst
em (requi
rements,desi
gn,
configur
ationdata,t
estdat
a,etc.).
 Theyhav ebeenshownt obeanef fecti
vetechniquefordiscoveri
ngprogram
error
s.

Faul
tcl
ass I
nspect
ioncheck

Dat
afaul
ts •
Areallprogram vari
ablesini
ti
ali
zedbefor
etheirval
uesar
eused?
• Hav eallconstantsbeennamed?
• Shoul dtheupperboundofar r
aysbeequalt othesi
zeof
thear r
ayorSi ze-1?
• Ifchar acterst r
ings are used,is a deli
mit
erexpli
cit
ly
assigned?
• Isthereanypossi bil
i
tyofbufferov
erf
low?
Cont
rol
faul
ts •
Foreachcondit
ionalst at
ement ,i
stheconditi
oncorrect?
• Iseachloopcer t
aint oter
mi nate?
• Arecompoundst atement scorrect
lybr
acket
ed?
• Incasestat
ement s,areallpossibl
ecasesaccountedfor
?
• Ifabreakisr equiredaf t
ereachcasei ncasest atement
s,
hasitbeenincluded?
I
nput
/out
putf
aul
ts •
Areall
inputv
ari
abl
esused?
• Areallout
putvari
abl
esassignedav aluebef
oret
heyar
e
out
put?
• Canunexpect
edinput
scausecorrupt
ion?
I
nter
facef
aul
ts •Doal
lfuncti
onandmethodcal
lshavet
hecor
rectnumberof
par
ameter
s?
• Dofor
mal andact
ual
par
ametert
ypesmat
ch?
• Arethepar
ametersint
herightor
der?
• Ifcomponentsaccesssharedmemor y,dotheyhav
ethe
samemodel oft
hesharedmemor ystr
uctur
e?
Stor
agemanagement •
Ifal i
nkedstructureismodi f
ied,haveal
ll i
nksbeencor rect
ly
faul
ts r
eassi
gned?
• I fdynamic storage i
s used,has space been all
ocated
corr
ectl
y?
• I sspaceexpl
icit
lyde-
all
ocatedaft
eriti
snolongerrequi
red?
Except
ion •
Hav
eal
lpossi
bleer
rorcondi
ti
onsbeent
akeni
ntoaccount
?
managementf
aul
ts
Fi
gur
e:Ani
nspect
ioncheckl
i
st

Pai
rpr
ogr
ammi
ng

 Thisisanappr oachwher e2peopl eareresponsibleforcodedev elopmentand


workt ogethertoachievethi
s.
 Codedev elopedbyani ndiv
idualisthereforeconstantlybei
ngexami nedand
revi
ewedbyanot herteam member .
 Pair programmi ng leads to a deep knowl edge of a pr ogram,as bot h
programmer shavetounderstandtheprogram indetai
l t
oconti
nuedev elopment.
 Thisdept hofknowl edgeisdiffi
cul
ttoachi ev
ei ninspecti
onprocessesandpai r
programmi ngcanf i
ndbugst hatwouldnotbedi scoveredinfor
mal inspecti
ons.

Di
sadv
ant
agesofPai
rpr
ogr
ammi
ng

 Mutualmisunder standings
▪ Bot hmember sofapai rmaymaket hesamemi st
akeinunderstandi
ngthe
system r equir
ement s.Discussi
onsmayr einf
orcetheseerr
ors.
 Pai
rreputation
▪ Pai rsmayber eluctantt olookforerror
sbecauset heydonotwantt oslow
downt hepr ogressoft hepr oj
ect.
 Worki
ngr elati
onships
▪ Thepai r
’sabi l
i
tyt odi scoverdefectsislikel
ytobecompr omisedbyt hei
r
closewor ki
ngr elati
onshi pthatoftenleadst orel
uctancetocri
tici
zework
partners.

Sof
twar
emeasur
ement

 Sof t
war e measurementi s concer
ned with deriv
ing a numeri
cv al
ue foran
at
t ri
buteofasof t
wareproductorprocess.
 Thisallowsforobject
ivecompar i
sonsbetweent echni
quesandprocesses.
 Althoughsomecompani eshav eintr
oducedmeasur ementprogr
ammes,most
organisati
onsstil
ldon’
tmakeasy st
ematicuseofsof t
waremeasur ement.
 Ther
ear
efewest
abl
i
shedst
andar
dsi
nthi
sar
ea.

Sof
twaremetr
ic
Anytypeofmeasur ementwhichrel
atesto asoft
waresyst
em,pr ocessorr
elated
documentati
on▪Li
nesofcodeinaprogr
am,theFogi
ndex,
numberofperson-
daysrequi
redtodevel
opacomponent.

Ty
pesofpr
ocessmet
ri
c

 Thet i
met akenf orapar ticularprocesst obecompl eted
▪ Thi scanbet het ot alti
medev otedt ot hepr ocess,cal endart i
me,t heti
me
spentont hepr ocessbypar ti
cularengi neers,andsoon.
 Ther esour cesr equi redf orapar t
icularpr ocess
▪ Resour ces mi ghti ncl
ude t otalef fortin per son-days,t rav
elcost s or
comput err esour ces.
 Thenumberofoccur rencesofapar ticularev ent
▪ Exampl es ofev ent st hatmi ghtbe moni t
or ed include the numberof
defect sdi scov ereddur ingcodei nspect i
on,t henumberofr equirements
changesr equest ed,t henumberofbugr eportsi nadel i
veredsy stem and
the av erage numberof l ines of code modi f
ied inr esponse t oa
requirement schange.
Pr
oductmetrics
 Aqual itymet ricshoul dbeapr edictorofpr oductqual ity.
 Classesofpr oductmet ri
c:
▪ Dy nami c met rics whi ch ar e col lected by measur ement s made ofa
program i nexecut ion.
▪ St aticmet ricswhi char ecol l
ectedbymeasur ement smadeoft hesy st
em
represent ations.
▪ Dy nami cmet ricshel passessef ficiencyandr eliabi
lit
y
▪ St atic met r
ics hel p assess compl exity , under standabili
ty and
maint ainabi l
it
y .

 Dynamicmet r
icsarecl
oselyrel
at edtosoftwarequali
tyattr
ibutes
▪ Itisr elat
ivel
y easy to measur et he response t ime of a sy st
em
(perf
ormanceat t
ri
bute)ort henumberoff ai
lur
es( r
eliabil
i
tyatt
ri
bute)
.
 St
aticmetri
cshaveani ndi
rectrelati
onshipwit
hqual i
tyatt
ributes
▪ Youneedt ot r
yandder i
vear el
ati
onshipbet weent hesemet ri
csand
propert
iessuchascompl exit
y,under
standabil
it
yandmai ntai
nabi
li
ty.
St
ati
csof
twar
epr
oductmet
ri
cs

Sof
twar
emet
ri
c Descr
ipt
ion

Fan-
in/
Fan-
out Fan- i
nisameasur eoft henumberoff unctionsormet hodsthat
callanotherfuncti
onormet hod( sayX) .Fan- outi sthenumber
offunctionsthatar ecall
edbyf unct ionX.Ahi ghv al
ueforf
an- i
n
meanst hatXi stightl
ycoupl edt ot her estoft hedesignand
changest oXwi llhaveext ensiv
eknock- onef fects.Ahighvalue
forfan-outsuggest st hattheov er allcompl exi t
yofXmaybe
highbecauseoft hecompl exit
yoft hecont rollogicneededt o
coordinatethecalledcomponent s.
Lengt
hofcode Thi sisameasureofthesizeofaprogram.Gener
all
y,t
helar
ger
thesi zeofthecodeofacomponent ,themorecompl exand
error-
pronet
hatcomponenti sli
kel
ytobe.Lengthofcodehas
been shown t o be one oft he mostr el
i
able metr
ics f
or
predicti
nger
ror-
pronenessincomponents.
Cy
clomat
iccompl
exi
ty Thisisameasureofthecont
rolcomplexi
tyofapr ogram.This
contr
olcompl
exi
tymayber
elat
edtoprogram under
standabi
l
ity
.
Lengt
hofi
dent
if
ier
s Thisisameasur eoftheav eragelengt hofident
ifi
ers( namesf
or
var
iabl
es,classes,methods,etc.)inapr ogr
am.Thel ongert
he
i
dentif
iers,t
hemor eli
kelytheyar et obemeani ngfulandhence
t
hemor eunderst
andablethepr ogram.
Depthof condi
ti
onal Thisisameasur eofthedept hofnest ingofi
f -
statementsi
n
nest
ing a progr am. Deeply nest ed if-stat
ements ar e har d t
o
understandandpotenti
all
yer r
or-prone.
Fogi
ndex Thisi s a measur
e ofthe av er
age length ofwords and
sentences in documents. The higher the val
ue of a
document ’
sFogindex,t
hemor edi f
fi
cultthedocumenti
st o
understand.

Agi
l
eSof
twar
eDev
elopment Modul
e-5
Cont
ent
s

 Agilemet hods
 Plan-dri
venandagi l
edev
elopment
 Extremepr ogramming
 Agileprojectmanagement
 Scalingagilemethods

Agi
l
eMet
hods

 Dissati
sfact
ionwi ththeov erheadsi nvol
vedi nsof t
waredesignmet hodsofthe
1980sand1990sl edtothecr eationofagil
emet hods.Thesemethods:
▪ Focusont hecoder atherthant hedesign
▪ Ar ebasedonani ter
at i
veappr oachtosoftwaredev el
opment
▪ Ar eintendedtodel i
verwor kingsoftwarequicklyandevolvethi
squickl
yto
meetchangi ngrequirement s.
 Theaim ofagilemet hodsi storeduceov erheadsinthesoft
wareprocess(
e.g.
bylimit
ingdocument ati
on)andt obeabl etorespondqui ckl
ytochanging
requir
ement swithoutexcessiverewor k.
Thepr
inci
plesofagi
l
emet
hods

Pr
inci
ple Descr
ipt
ion

Cust
omeri
nvol
vement Customers should be cl osel
y invol
ved t hr
oughout the
developmentprocess.Thei
rr ol
eisprovideand pri
ori
ti
zenew
system r
equi
rementsandtoev al
uat
etheit
erat
ionsoft
hesyst
em.

I
ncr
ement
aldel
i
ver
y Thesof
twareisdevel
opedi
nincr
ementswit
ht hecust
omer
speci
fyi
ngt
herequi
rement
stobei
ncl
udedi
neachincr
ement.

Peopl
enotpr
ocess Theskill
soft hedevelopmentteam shouldberecogni
zedand
exploi
ted.Team member sshouldbelefttodevel
opt
heirownways
ofworkingwi t
houtpr
escripti
veprocesses.
Embr
acechange Expectthesy
stem r
equir
ementstochangeandsodesi
gnt
hesy
stem
toaccommodatethesechanges.

Mai
ntai
nsi
mpl
i
cit
y Focusonsi mpl
i
cityinbotht hesof
twarebei
ngdev el
opedandi
n
thedevel
opmentpr ocess.Whereverpossi
ble,act
ivel
yworkt
o
eli
minat
ecomplexit
yfrom thesyst
em.

Pr
obl
emswi
thagi
l
emet
hods

 I tcanbedi f
fi
cul
ttokeept heinter
estofcust omerswhoar einvolv
edi nthe
process.
 Team member smaybeunsui tedtotheintenseinvol
vementthatcharact
eri
ses
agilemet hods.
 Pr iori
ti
zingchangescanbedi ffi
cul
twheretherearemulti
plest
akehol
ders.
 Mai nt
ainingsimpl
ici
tyrequir
esextr
awor k.
 Cont r
actsmaybeapr oblem aswit
hotherapproachestoit
erat
ivedevel
opment.
Pl
an-
drivenandagi ledevel
opment

 Pl
an-dr
ivendev elopment
▪ Apl an-dri
v enapproacht osof t
war eengi neeringisbasedar oundseparate
developmentst ageswi t
ht heout putst obepr oducedateachoft hese
stagespl annedi nadvance.
▪ Notnecessar i
lywaterfallmodel–pl an-dri
ven, i
ncrement aldevelopmentis
possible
▪ I t
erati
onoccur swithi
nact ivi
ti
es.
 Agi
ledevelopment
▪ Speci fi
cat i
on,design,impl ementationandt esti
ngar einter-
leavedandt he
outputsf rom thedev elopmentpr ocessar edecidedt hroughapr ocessof
negotiati
ondur ingthesof twaredev elopmentpr ocess.
Fi
gur
e:Pl
an-
dri
venandagi
l
especi
fi
cat
ion

Ext
remepr
ogr
ammi
ng

 Thebest-knownandmostwi delyusedagil
emet hod.
 Ext
remePr ogrammi ng(XP)t
akesan‘extr
eme’ approachtoi
ter
ati
vedev
elopment.
▪ Newv ersi
onsmaybebui l
tsever
alti
mesperday ;
▪ I ncrementsaredeli
ver
edt ocust
omer severy2weeks;
▪ Al ltestsmustber unforever
ybuil
dandt hebui l
disonl
yaccept
ediftest
s
runsuccessfull
y.

XPandagi
l
epr
inci
ples

 I
ncrement aldev el
opmenti ssupportedt hroughsmal l
,fr
equentsystem rel
eases.
 Customeri nvolvementmeansf ull
-t
imecust omerengagementwi ththeteam.
 People notpr ocess through pairpr ogrammi ng,collect
ive ownership and a
processthatav oidslongwor ki
nghour s.
 Changesuppor tedthroughregularsystem releases.
 Maintai
ningsi mplici
tythroughconstantr efactor
ingofcode.
Fi
gur
e:Theext
remepr
ogr
ammi
ngr
eleasecy
cle

I
next r
emepr ogr
ammi ng,r
equi
rementsareexpressedasscenar
ios(
call
eduserstor
ies)
,
whichareimplementeddir
ectl
yasaser i
esoftasks.Pr
ogrammersworkinpair
sand
devel
opt est
sforeachtaskbefor
ewrit
ingthecode.Allt
estsmustbesuccessf
ull
y
executedwhennewcodei sint
egrat
edintothesystem.Therei
sashortti
megapbet ween
rel
easesofthesystem.

Ext
remepr
ogr
ammi
ngpr
act
ices

Pr
inci
pleorpr
act
ice Descr
ipt
ion

I
ncr
ement
alpl
anni
ng Requir
ementsarerecordedonstor
ycar
dsandthestori
es
in
tc
ob
l
ude
ed
i
nar el
easearedeterminedbythet
imeavai
l
ableandthei
rrel
ative
pri
ori
ty.Thedevel
opersbreakt
hesest
ori
esint
odevelopment‘Tasks’
.
SeeFigures3.
5and3. 6.

Smal
lrel
eases Theminimalusefulsetoffuncti
onal
it
ythatpr
ovidesbusi
neu
se
si
vs
al
devel
opedfir
st.Rel
easesoft hesyst
em arefr
equentandincr
emental
l
y
addfunct
ional
ityt
ot hefi
rstrel
ease.

Si
mpl
edesi
gn Enoughdesi
gni
scar
ri
edoutt
omeett
hecur
rentr
equi
rement
sandno
more.

Test
-
fi
rstdev
elopment Anaut
omat edunittes
fr
t
ameworkisusedt
owr i
tetest
sforanewpi
ece
off
unct
ionali
tybeforethatf
unct
ional
i
tyi
tsel
fisi
mplemented.
Ref
act
ori
ng Alldev
eloper
sareexpectedtore-
factort
hecodecontinuousl
yas
soonaspossibl
ecodei mprovementsarefound.Thi
skeepsthe
codesimpleandmaintainabl
e.

Pai
rpr
ogr
ammi
ng Devel
opersworki
npair
s,checki
ngeachot
her’
swor
kand
pr
ov i
dingt
hesuppor
ttoalwaysdoagoodjob.

Col
l
ect
iveowner
shi
p Thepai r
sofdevelopersworkonallareasofthesyst
em,sothat
noislandsofexperti
sedevelopandallthedevel
oper
stake
responsibi
l
ityf
orallofthecode.Anyonecanchangeanythi
ng.

Cont
inuousi
ntegr
ati
on Assoonastheworkonat aski
scomplete,i
tisi
ntegr
atedi
nto
thewholesy
stem.Afteranysuchi
ntegr
ation,
all
theunitt
est
sin
thesy
stem mustpass.

Sust
ainabl
epace Largeamountsofovert
imearenotconsi
der
edaccept
ableast
he
neteffecti
sof
tentoreducecodequal
it
yandmedium t
erm
producti
vit
y

On-
sit
ecust
omer Ar epresentati
veoftheend- userofthesyst
em (t
hecustomer)
shouldbeav ai
lableful
lti
mef ortheuseoftheXPt eam.Inan
extremepr ogrammi ngprocess, t
hecustomerisamemberoft he
dev el
opmentt eam andi sresponsibl
eforbri
ngi
ngsy st
em
requir
ement stot heteam forimplementati
on.

Requi
rement
sscenar
ios

 I
nXP,acust omeroruseri spar toft heXPt eam andisresponsibl
eformaking
deci
sionsonr equir
ements.
 Userrequir
ement sareexpressedasscenar iosoruserstories.
 Thesear ewr i
tt
enoncar dsandt hedev el
opmentt eam breakthem downinto
i
mpl ementati
ontasks.Theset asksaret hebasisofscheduleandcostesti
mates.
 Thecust omerchoosesthest ori
esf orincl
usioninthenextr el
easebasedont
heir
pri
orit
iesandthescheduleest i
mates.
A‘
prescr
ibi
ngmedi
cat
ion’
stor
y

Exampl
esoft
askcar
dsf
orpr
escr
ibi
ngmedi
cat
ion
Test
ingi
nXP

 Testi
ngiscent raltoXPandXPhasdev el
opedanappr oachwherethepr
ogr
am is
test
edafterev erychangehasbeenmade.
 XPtesti
ngf eatures:
▪ Test -
fir
stdev el
opment .
▪ Increment al testdevel
opmentfrom scenar
ios.
▪ Useri nvolvementi ntestdevel
opmentandv ali
dation.
▪ Aut omat edt estharnessesareusedt orunallcomponenttest
seachti
me
t
hatanewr eleaseisbuil
t.

Thekeyf eat
uresoftesti
nginXPar e:
1.Test-
fi
rstdevelopment,
2.i
ncrementaltestdevel
opmentfrom scenarios,
3.useri
nv ol
vementinthetestdev
el opmentandv al
i
dat
ion,
and
4.Theuseofaut omatedtesti
ngfr
amewor ks.

 Test
-f
ir
stdev
elopmentisoneofthemostimportantinnovat
ionsinXP.Insteadof
wri
ti
ngsomecodeandt henwri
ti
ngt est
sfort
hatcode, youwrit
ethetestsbefore
youwrit
ethecode.Thismeanst hatyoucanrunt hetestast hecodei sbeing
wri
tt
enanddiscov
erprobl
emsdur i
ngdevel
opment .

 Writ
ingtestsi
mpl i
cit
lydefi
nesbothani nter
faceandaspecif
icat
ionofbehavi
or
f
ort hefuncti
onali
tybeingdev el
oped.Problemsofrequi
rementsandinter
face
misunderst
andingsarereduced.

 I
ntest
-f
ir
stdevel
opment,thet
aski
mplement
ershav
etothor
oughl
yunder
stand
t
hespeci
fi
cat
ionsothatt
heycanwr
it
etest
sfort
hesyst
em.

 Thedev el
opmentteam assesseseachscenari
oandbr eaksi
tdownintotasks.
Forexampl e,some oft he task car
ds dev
eloped f
rom the st
ory car
df or
prescr
ibi
ngmedicati
on.
Fi
gur
e:Testcasedescr
ipt
ionf
ordosechecki
ng

Pai
rpr
ogr
ammi
ng

 InXP, progr ammer sworki npai r


s, sitt
ingt oget hertodev elopcode.
 Thishel psdev elopcommonowner shipofcodeandspr eadsknowl edgeacr oss
thet eam.
 Itser vesasani nformalrev iewpr ocessaseachl i
neofcodei slookedatbymor e
than1per son.
 Itencour agesr efactori
ngast hewhol et eam canbenef itfrom this.
 Measur ement ssuggestt hatdev elopmentpr oductivi
tywi thpairprogrammi ngis
similartot hatoft wopeopl ewor kingi ndependent ly
.
 In pai rpr ogrammi ng,pr ogr ammer ssi tt oget heratt hesamewor kstati
on to
devel opt hesof twar e.
 Pairsar ecr eateddy namical lysot hatal lt eam member swor kwitheachot her
duringt hedev elopmentpr ocess.
 The shar ing ofknowl edge t hathappens dur i
ng pairpr ogramming isv ery
i
mpor tantasi treducest heov erallriskst oapr ojectwhent eam member sleave.
 Pairpr ogr ammi ngisnotnecessar ilyinefficientandt herei sevi
dencet hatapair
wor kingt ogetheri smor eef ficientt han2pr ogr ammer swor kingseparatel
y.

Adv
ant
agesofpai
rpr
ogr
ammi
ng

 I
tsupportstheideaofcol lecti
veowner shipandr esponsibi
li
tyforthesystem.
▪ I ndi
vidualsar enothel dr esponsibleforprobl
emswi ththecode.I nst
ead,
theteam hascol l
ect i
veresponsi bil
it
yforresol
v i
ngtheseproblems.
 I
tactsasani nformalr eviewpr ocessbecauseeachl ineofcodei slookedatbyat
l
easttwopeopl e.
 I
thelpssupportr efactor
ing, whichisapr ocessofsof twarei
mpr ovement.
▪ Wher epairpr ogrammi ngandcol lecti
veowner shi
pareused, other
sbenef i
t
immedi atelyfrom ther efactori
ngsot heyarelikel
ytosuppor ttheprocess.

You might also like