You are on page 1of 65

Object-Oriented Software Engineering

Practical Software Development using UML and Java


Chapter11:
ManagingtheSoftwareProcess

The most likely way for the world to be destroyed, most experts
agree, is by accident. That's where we come in; we're computer
professionals. We cause accidents."
Timing: 90 minutes

Alotofcomputersciencepeoplethink:
Idontwanttocodefortherestofmylife.Maybe
Iwouldenjoymanagingtheproject.
Whatdoyouthinkaresomeofthetasksyouwouldbe
doingifyouwereaprojectmanager?Wouldyoustill
code?Wouldyoumisscoding?Isitimportantthe
projectmanagerbeabletocode?

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

11.1 What is Project Management?


Projectmanagementencompassesalltheactivities
neededtoplanandexecuteaproject:
Decidingwhatneedstobedone
Estimatingcosts
Ensuringtherearesuitablepeopletoundertakethe
project
Definingresponsibilities
Scheduling
Makingarrangementsforthework
continued...

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

What is Project Management?


Directing
Beingatechnicalleader
Reviewingandapprovingdecisionsmadebyothers
Buildingmoraleandsupportingstaff
Monitoringandcontrolling
Coordinatingtheworkwithmanagersofotherprojects
Reporting
Continuallystrivingtoimprovetheprocess

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

Can you think of any Canadian software


projects that have gone horribly wrong?
GunRegistryInCanada
http://www.cbc.ca/news/story/2004/02/13/gunregistry_rdi040213.html

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

11.2 Software Process Models


Softwareprocessmodelsaregeneralapproachesfor
organizingaprojectintoactivities.
Helptheprojectmanagerandhisorherteamtodecide:
Whatworkshouldbedone;
Inwhatsequencetoperformthework.
Themodelsshouldbeseenasaidstothinking,notrigid
prescriptionsofthewaytodothings.
Eachprojectendsupwithitsownuniqueplan.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

The opportunistic approach

First
Prototype

Lethbridge/Laganire2005

Modify
Until
Satisfied

Think of Idea
for
Improvement

Chapter11:ManagingtheSoftwareProcess

The opportunistic approach


iswhatoccurswhenanorganizationdoesnotfollow
goodengineeringpractices.
Itdoesnotacknowledgetheimportanceofworkingout
therequirementsandthedesignbeforeimplementinga
system.
Thedesignofsoftwaredeterioratesfasterifitisnotwell
designed.
Sincetherearenoplans,thereisnothingtoaimtowards.
Thereisnoexplicitrecognitionoftheneedfor
systematictestingandotherformsofqualityassurance.
Theaboveproblemsmakethecostofdevelopingand
maintainingsoftwareveryhigh.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

The waterfall model

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

The waterfall model


TheclassicwayoflookingatS.E.thataccountsforthe
importanceofrequirements,designandqualityassurance.
Themodelsuggeststhatsoftwareengineersshouldworkin
aseriesofstages.
Beforecompletingeachstage,theyshouldperformquality
assurance(verificationandvalidation).
Thewaterfallmodelalsorecognizes,toalimitedextent,that
yousometimeshavetostepbacktoearlierstages.
QUESTION:Whatiswrongwithgettingallthe
requirementscompletedupfront(likeIhavedonefor
youwithourproject)?
Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

10

Limitations of the waterfall model


Themodelimpliesthatyoushouldattempttocompletea
givenstagebeforemovingontothenextstage
Doesnotaccountforthefactthatrequirements
constantlychange.
Italsomeansthatcustomerscannotuseanything
untiltheentiresystemiscomplete.
Themodelmakesnoallowancesforprototyping.
Itimpliesthatyoucangettherequirementsrightby
simplywritingthemdownandreviewingthem.
Themodelimpliesthatoncetheproductisfinished,
everythingelseismaintenance.
Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

11

Agile Software Development


AgileDevelopment:
basedoniterativeandincrementaldevelopment,where
requirementsandsolutionsevolvethroughcollaboration
betweenselforganizing,crossfunctionalteams.It
promotesadaptiveplanning,evolutionarydevelopment
anddelivery,atimeboxediterativeapproach,and
encouragesrapidandflexibleresponsetochange.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

12

AGILE Method and XP


(Extreme Programming)
Question:HasanyoneheardoftheAgilemethodology?
http://en.wikipedia.org/wiki/Agile_software_development

Video

13

Reengineering
Periodicallyprojectmanagersshouldsetasidesome
timetoreengineerpartorallofthesystem
Theextentofthisworkcanvaryconsiderably:
Cleaningupthecodetomakeitmorereadable.
Completelyreplacingalayer.
Refactoringpartofthedesign.
Ingeneral,theobjectiveofareengineeringactivityisto
increasemaintainability.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

14

11.3 Cost estimation


Toestimatehowmuchsoftwareengineeringtimewillbe
requiredtodosomework.
Elapsedtime
Thedifferenceintimefromthestartdatetotheend
dateofataskorproject.
Developmenteffort
Theamountoflabourusedinpersonmonthsor
persondays.
Toconvertanestimateofdevelopmentefforttoan
amountofmoney:
Youmultiplyitbytheweightedaveragecost(burdenedcost)
ofemployingasoftwareengineerforamonth(oraday).

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

15

Question
AssumethatIgaveyourgroupthetaskoffiguringout
howmuchtimeyouneededtocodeyourprojectbecause
youweregoingsellitonline.
Whataresometechniques/ideas/concerns/thoughtsyou
haveforestimatingthetimingofalargeproject?
i.e.Howdoyoudecide/figureouthowlongittakesyouto
doanassignment?

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

16

Principles of effective cost estimation


Principle1:Divideandconquer.
Tomakeabetterestimate,youshoulddividetheproject
upintoindividualsubsystems.
Thendivideeachsubsystemfurtherintotheactivities
thatwillberequiredtodevelopit.
Next,youmakeaseriesofdetailedestimatesforeach
individualactivity.
Andsumtheresultstoarriveatthegrandtotalestimate
fortheproject.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

17

Principles of effective cost estimation


Principle2:Includeallactivitieswhenmaking
estimates.
Thetimerequiredforalldevelopmentactivitiesmustbe
takenintoaccount.
Including:

Prototyping
Design
Inspecting
Testing
Debugging
Writinguserdocumentation
Deployment.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

18

Principles of effective cost estimation


Principle3:Baseyourestimatesonpastexperiencecombined
withknowledgeofthecurrentproject.
Ifyouaredevelopingaprojectthathasmanysimilaritieswith
apastproject:
Youcanexpectittotakeasimilaramountofwork.
Baseyourestimatesonthepersonaljudgementofyour
experts
or
Usealgorithmicmodelsdevelopedinthesoftwareindustryas
awholebyanalyzingawiderangeofprojects.
Theytakeintoaccountvariousaspectsofaprojectssize
andcomplexity,andprovideformulastocompute
anticipatedcost.
Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

19

Algorithmic models
Allowyoutosystematicallyestimatedevelopmenteffort.
Basedonanestimateofsomeotherfactorthatyoucan
measure,orthatiseasiertoestimate:
Thenumberofusecases
Thenumberofdistinctrequirements
Thenumberofclassesinthedomainmodel
Thenumberofwidgetsintheprototypeuser
interface
Anestimateofthenumberoflinesofcode

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

20

Algorithmic models
Atypicalalgorithmicmodelusesaformulalikethe
following:
COCOMO:
E = a + bNc
FunctionsPoints:
S = W1F1 + W2F2 +W3F3 +

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

21

Principles of effective cost estimation


Principle4:Besuretoaccountfordifferenceswhen
extrapolatingfromotherprojects.
Differentsoftwaredevelopers
Differentdevelopmentprocessesandmaturitylevels
Differenttypesofcustomersandusers
Differentscheduledemands
Differenttechnology
Differenttechnicalcomplexityoftherequirements
Differentdomains
Differentlevelsofrequirementstability

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

22

Principles of effective cost estimation


Principle5:Anticipatetheworstcaseandplanfor
contingencies.
Developthemostcriticalusecasesfirst
Iftheprojectrunsintodifficulty,thenthecritical
featuresaremorelikelytohavebeencompleted
Makethreeestimates:
Optimistic(O)
Imaginingaeverythinggoingperfectly

Likely(L)
Allowingfortypicalthingsgoingwrong

Pessimistic
Accountingforeverythingthatcouldgowrong
Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

23

Principles of effective cost estimation


Principle6:Combinemultipleindependentestimates.
Useseveraldifferenttechniquesandcomparetheresults.
Iftherearediscrepancies,analyzeyourcalculationsto
discoverwhatfactorscausingthedifferences.
UsetheDelphitechnique.
Severalindividualsinitiallymakecostestimatesin
private.
Theythensharetheirestimatestodiscoverthe
discrepancies.
Eachindividualrepeatedlyadjustshisorher
estimatesuntilaconsensusisreached.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

24

Principles of effective cost estimation


Principle7:Reviseandrefineestimatesaswork
progresses
Asyouadddetail.
Astherequirementschange.
Astheriskmanagementprocessuncoversproblems.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

25

11.4 Building Software Engineering Teams


Softwareengineeringisahumanprocess.
Choosingappropriatepeopleforateam,andassigning
rolesandresponsibilitiestotheteammembers,is
thereforeanimportantprojectmanagementskill
Softwareengineeringteamscanbeorganizedinmany
differentways

a) Egoless

Lethbridge/Laganire2005

b) Chief programmer

c) Strict hierarchy

Chapter11:ManagingtheSoftwareProcess

26

Software engineering teams


Egolessteam:
Insuchateameverybodyisequal,andtheteamworks
togethertoachieveacommongoal.
Decisionsaremadebyconsensus.
Mostsuitedtodifficultprojectswithmanytechnical
challenges.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

27

Software engineering teams


Hierarchicalmanagersubordinatestructure:
Eachindividualreportstoamanagerandisresponsible
forperformingthetasksdelegatedbythatmanager.
Suitableforlargeprojectswithastrictschedulewhere
everybodyiswelltrainedandhasawelldefinedrole.
However,sinceeverybodyisonlyresponsiblefortheir
ownwork,problemsmaygounnoticed.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

28

Software engineering teams


Chiefprogrammerteam:
Midwaybetweenegolessandhierarchical.
Thechiefprogrammerleadsandguidestheproject.
Heorsheconsultswith,andrelieson,individual
specialists.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

29

Choosing an effective size for a team


Foragivenestimateddevelopmenteffort,inperson
months,thereisanoptimalteamsize.
Doublingthesizeofateamwillnothalvethe
developmenttime.
Subsystemsandteamsshouldbesizedsuchthatthetotal
amountofrequiredknowledgeandexchangeof
informationisreduced.
Foragivenprojectorprojectiteration,thenumberof
peopleonateamwillnotbeconstant.
Youcannotgenerallyaddpeopleifyougetbehind
schedule,inthehopeofcatchingup.
Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

30

Skills needed on a team


Architect
Projectmanager
Configurationmanagementandbuildspecialist
Userinterfacespecialist
Technologyspecialist
Hardwareandthirdpartysoftwarespecialist
Userdocumentationspecialist
Tester

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

31

11.5 Project Scheduling and Tracking


Schedulingistheprocessofdeciding:
Inwhatsequenceasetofactivitieswillbe
performed.
Whentheyshouldstartandbecompleted.
Trackingistheprocessofdetermininghowwellyouare
stickingtothecostestimateandschedule.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

32

Some Basic Project Management Terminology


Deliverable:someconcretethingwhichistobedelivered,totheclientor
internallytothedevelopmentteam;e.g.
Specificationsreports
Executableprogram
Sourcecode

Task/Activity:somethingwehavetododuringtheproject;e.g.
Defininguserrequirements
Codingamodule
Doingsystemtesting

Eachtaskoractivitywilltakesomelengthoftime

Referredtoasdurationoftask
Sometimesmeasuredindays,weeks,etc.
Sometimesmeasuredinpersondays,personweeks,etc.
Personday=numberofpeopleXnumberofdays
Example:12persondaysforwritingallcodecouldmean1person12daysor4
people3days
Note:notalwaystruethatataskthattakes1programmer12dayswouldtake12
programmers1day

UWO

ComputerScienceDepartment

33

Dependencies and Milestones


Foragiventaskoractivity,maybeimpossibletostartitwithout
someothertask(s)oractivity(ies)havingbeencompleted;e.g.
Cannotstartcodingwithoutcompletingdesign
Cannotstartsystemtestingwithoutcompletingcodeintegrationand
testplan
IftaskBcannotstartwithoutAbeingcompleted,wesay
BdependsonA
ThereisadependencybetweenAandB
Milestone:someachievementwhichmustbemadeduringthe
project;e.g.
Deliveringsomedeliverable
Completingsometask
Note,deliveringadeliverablemaybeamilestone,butnotall
milestonesareassociatedwithdeliverables
UWO

ComputerScienceDepartment

34

Setting and Making Deadlines


Deadlinetimebywhichmilestonehastobemet
Somedeadlinesaresetbytheclient
Othersaresetbyusonprojecttomakesureprojectstaysontrack
TosetadeadlineforcompletingtaskT,wemustconsiderhowlongitwill
taketo:
CompletethetasksthattaskTdependson
CompletetaskTitself
Ifwemissadeadline,wesay(euphemistically)thedeadlinehasslipped
Thisisvirtuallyinevitable
Importanttasksforprojectmanagers
Monitorwhetherpastdeadlineshaveslipped
Monitorwhetherfuturedeadlinesaregoingtoslip
Allocateorreallocateresourcestohelpmakedeadlines
PERTchartandGanttchartshelpprojectmanagersdothesethings
(amongothers)
UWO

ComputerScienceDepartment

35

PERT Charts
PERT=ProjectEvaluationandReviewTechnique
PERTchart=graphicalrepresentationoftheschedulingofeventsinaproject
SamplePERTChart:

0
4
A
1
2 4
4
0
APERTchartisagraph

B
2

6
3 10

C
7
D
3
4 7
Edgesaretasks/activitiesthatneedtobedone
3

E
3
10
5 10

13
6 13
3

Nodesaretheeventsormilestones
TaskedgeTfromeventnodeE1toeventnodeE2signifies:
UntileventE1happens,taskTcannotbestarted
UntiltaskTfinishes,eventE2cannothappen
Eventsoftensimplyrepresentcompletionoftasksassociatedwitharrows
enteringit

UWO

ComputerScienceDepartment

36

PERT Chart Task Edges


Partsofatask/activityedge
Task letter
D
5
Task duration
Taskletter:
Oftenkeyedtoalegendtotellwhichtaskitrepresents
Taskduration=howlong(e.g.days,hours)taskwilltake

UWO

ComputerScienceDepartment

37

PERT Chart Event Nodes

Event Number:
Sequence number
assigned
Only task edges
indicate
dependencies

9
19

Earliest Completion
Time (ECT):
Earliest time this event
can be achieved, given
durations and
dependencies

Latest Completion Time (LCT):


Latest time that this event could be safely achieved
UWO

ComputerScienceDepartment

38

Building a PERT Chart


Steps:
1.
2.

Makealistofallprojecttasks(andeventsifpossible).
Findinterrelatedtaskdependencies(whattaskhastobe
completedbeforeothertasks)
DrawinitialPERTwithoutdurations,ECTsorLCTs
Estimatedurationofeachtask
Fillindurations
CalculateECTsandLCTs

3.
4.
5.
6.

We will do this for an example system:


Generic software system with 3 modules

UWO

ComputerScienceDepartment

39

Example: Generic Software Project


TASK ID
Task Description
A
Specification
B
High Level Design
C
Detailed Design
D
Code/Test Main module
E
Code/Test DB module
F
Code/Test UI module
G
Write test plan
H
Integrate/System Test
I
Write User Manual
J
Typeset User Manual
To start PERT chart: identify dependencies between tasks
UWO

ComputerScienceDepartment

40

Dummy Tasks
Sometimesitisnecessarytousedummytasks:

Showsthedependencybetween2eventswherenoactivityis
performed
Example:

Events3,4signifythecompilationofseparatemodules.
Createanevent5tosignifyallmodulescompiledtogether.
Denotedummytasksusingdashlines

9
10
5

4
UWO

9
12

9
12

T
3

ComputerScienceDepartment

41

Example: Tasks with Dependencies


TostartthePERT,identifythedependenciesamongsttasks
TASK ID
A
B
C
D
E
F
G

Task Description

Preceed ID

H
I

Specification
High Level Design
Detailed Design
Code/Test Main
Code/Test DB
Code/Test UI
Write test plan
Dummy Task
Dummy Task
Dummy Task
Integrate/System Test
Write User Manual

Typeset User Manual

UWO

1
2
3
4
4
4
4
5
6
7
8
8
10

Succ. ID
2
3
4
5
6
7
8
8
8
8
9
10
9

ComputerScienceDepartment

42

Software Example: Skeleton PERT Chart


5

D
1

F
7

Note: dummy tasks connecting events 5, 6 and 7 to


8
UWO

ComputerScienceDepartment

43

Estimating Durations
Suggestionsforestimatingdurationsoftasks:

Dontjustmakeupanumber
Lookatprevioussimilartasksfromotherprojectsandusethoseas
guidelines
Trytoidentifyfactorssuchasdifficulty,skilllevel

Eachweightingfactorwillhelpyoumakeabetterestimate
Factorstoconsider:

Difficultyoftask
Sizeofteam
Experienceofteam
Number,attitudeandavailabilityofendusers
Managementcommitment
Otherprojectsinprogress

UWO

ComputerScienceDepartment

44

PERT Chart With Durations


D
1

A
2
3

B
2

C
4
2

7
E
6 6

F
3

H
5 9
2I

G
2

Say we have estimated durations of all tasks (in days)


New PERT chart, with durations filled in:
Note, dummy tasks (dashed lines) always have a duration of zero
UWO

ComputerScienceDepartment

45

Calculating
ECTs
ECT=earliesttimeeventcanbecompleted
Tocalculate:
Foraneventnotdependingonothers:ECT=0
Usuallythisisthefirstevent
ForaneventEdependingononeormoreothers:
CalculateECTsofevent(s)thatEdependson
Addduration(s)oftask(s)leadingtoE
IfEdependsonmorethanoneevent,takeMAX
Proceedlefttoright()throughthechart
Exercise:calculatetheECTforourexample.

UWO

ComputerScienceDepartment

46

Calculating LCT

LCT=latesttimeeventcanbecompleted,whilestillfinishinglastaskatindicated
time
Tocalculate:
Foraneventwhichnoothereventsdependon:LCT=ECT
Generallytherewillonlybeonesuchevent
ForaneventEwhichoneormoreothersdependon:
CalculateLCTsofevent(s)thatdependonE
Subtractduration(s)oftask(s)leadingfromE
IfmorethanoneeventdependsonE,takeMINIMUM
Proceedrighttoleft()throughPERTchart
Exercise:calculateLCTforourexample

UWO

ComputerScienceDepartment

47

Critical Path

Red line is the critical path


What does it represent?

UWO

ComputerScienceDepartment

48

Uses
of
PERT
Charts
WecanusePERTchartsfor:

Determiningtheestimatedtimetocompleteaproject
Derivingactualprojectdates
Allocatingresources
Identifyingpotentialandcurrentproblems(isonetaskbehindschedule?,canwe
shufflepeople?)
CriticalPath:Paththroughchartsuchthatifanydeadlineslips,thefinaldeadline
slips(wherealleventshaveECT=LCT(usuallythereisonlyone)
Insoftwareexample:
TaskIisnotonthecriticalpath:evenifwedontfinishituntiltime18,were
stillokay
TaskDisonthecriticalpath:ifwedontfinishituntilforexample,time16,
then:
WecantstarttaskH(duration3)untiltime16
SowecantcompletetaskHuntiltime21
WecanusePERTchartsfor
Identifyingthecriticalpath
Reallocatingresources,e.g.fromnoncriticaltocriticaltasks.
UWO

ComputerScienceDepartment

49

PERT Chart Exercise


Task

Prec Tasks Description

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O

none
A
A
C
D
D
E
F
H, G
B
J, I
K
K
L
M
UWO

decide on date for party


book bouncy castle
send invitations
receive replies
buy toys and balloons
buy food
blow up balloons
make food
decorate
get bouncy castle
have party
clean up
send back bouncy castle
send thank you letters
donate unwanted gifts
ComputerScienceDepartment

Time(hrs)
1
1
4
7
1
3
2
1
1
1
1
4
1
3
3
50

PERT Chart Exercise


DrawthePERTchartfortheprecedingslideandidentifythecriticalpath

UWO

ComputerScienceDepartment

51

Gantt Charts
GraphicalRepresentationofaschedule
Helpstoplan,coordinateandtrackspecifictasksina
project
NamedafterHenryGanttwhoinventedthemin1917
DepictssomeofthesameinformationasonaPERTchart
Alsodepictsnewinformation

UWO

ComputerScienceDepartment

52

Example Gantt Chart


TASKS
A
Study current email system
B Define end-user requirements
C
Design Class diagram
D
Acquire computer technology
E
Plan & code email modules
F
Acceptance test new system
G
Deliver new system

Questions: From the above, can you guess:

1 2 3 4 5 6 7 8 9 10
Today

11 12

Which, if any, tasks should have been completed by today and arent
even started? ______
Which, if any, tasks have been completed? ______
Which, if any, tasks have been completed ahead of schedule:? ______
Which, if any, tasks are on or ahead of schedule? _________
Which, if any, tasks are behind schedule? ________
UWO

ComputerScienceDepartment

53

Building and Using a Gantt Chart


StepsforbuildingaGanttChart

1.
2.
3.

4.
5.

Identifythetaskstobescheduled
Determinethedurationsofeachtask
Listeachtaskdowntheverticalaxisofchart
1. Ingeneral,listtaskstobeperformedfirstatthetopandthen
movedownwardasthetaskswillhappen
Usehorizontalaxisforthedates
Determinestartandfinishdatesforactivities
1. Considerwhichtasksmustbecompletedorpartially
completedbeforethenexttask

TousetheGanttcharttoreportprogress:

Ifthetaskhasbeencompleted,completelyshadeinthebar
correspondingtothetask
Ifthetaskhasbeenpartiallycompleted,shadeinthepercentage
ofthebarthatrepresentsthepercentageofthetaskthathasbeen
completed
Unshadedbarsrepresentstasksthathavenotbeenstarted.
UWO

ComputerScienceDepartment

54

Gantt Chart: Exercise


Task
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O

Prec Tasks Description


none
A
A
C
D
D
E
F
H, G
B
J, I
K
K
L
M

UWO

decide on date for party


book bouncy castle
send invitations
receive replies
buy toys and balloons
buy food
blow up balloons
make food
decorate
get bouncy castle
have party
clean up
send back bouncy castle
send thank you letters
donate unwanted gifts
ComputerScienceDepartment

Time(hrs)
1
1
4
7
1
3
2
1
1
1
1
4
1
3
3
55

Gantt Chart: Exercise


DrawtheGanttchartusingthefollowingcriteria:
labelhours0to30acrossthehorizontalaxis
Markareviewstageathour14tomonitortheprogress
AssumeandillustratethattasksA,B,CandDhavebeencompleted
athour14
Statewhichtasksareaheadandwhichtasksarebehindschedule
NOTE:ifyouareusingMSProjectandwantadifferentunitof
time,justtype2hours(insteadof2days).ALSO,ifyouwantto
haveamilestone,likeHandinginGroupAssignment1,thengiveit
aZEROduration.

UWO

ComputerScienceDepartment

56

Your Gantt chart:

UWO

ComputerScienceDepartment

57

PERT vs. Gantt


PERTchart

Allustoshowdependenciesexplicitly
Allowustocalculatecriticalpath
Cantellushowonetaskfallingbehindaffectsothertasks
Ganttcharts

Allowustorecordprogressofproject
Allowustoseewhattasksarefallingbehind
Allowustorepresentoverlappingtasks
ProjectManagementTools,e.g.MSProject

Allowustospecifytasks,dependencies,etc
Allowustospecifyprogressontasks,etc
CangenerateeitherPERTorGanttcharts(whicheverwewant)
fromdataentered
UWO

ComputerScienceDepartment

58

Bouncy Castle PERT Example using MS Project

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

59

Bouncy Castle Gantt Example using MS Project

InMSProjectsetthetasklengthtobe0togetamilestone
Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

60

11.7 Difficulties and Risks in Project


Management
Accuratelyestimatingcostsisaconstantchallenge
Followthecostestimationguidelines.
Itisverydifficulttomeasureprogressandmeet
deadlines
Improveyourcostestimationskillssoastoaccount
forthekindsofproblemsthatmayoccur.
Developacloserrelationshipwithothermembersof
theteam.
Berealisticininitialrequirementsgathering,and
followaniterativeapproach.
Useearnedvaluechartstomonitorprogress.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

61

Difficulties and Risks in Project


Management
Itisdifficulttodealwithlackofhumanresourcesor
technologyneededtosuccessfullyrunaproject
Whendeterminingtherequirementsandtheproject
plan,takeintoconsiderationtheresourcesavailable.
Ifyoucannotfindskilledpeopleorsuitabletechnology
thenyoumustlimitthescopeofyourproject.

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

62

Difficulties and Risks in Project


Management
Communicatingeffectivelyinalargeprojectishard
Takecoursesincommunication,bothwrittenand
oral.
Learnhowtoruneffectivemeetings.
Reviewwhatinformationeverybodyshouldhave,
andmakesuretheyhaveit.
Makesurethatprojectinformationisreadily
available.
Usegroupwaretechnologytohelppeople
exchangetheinformationtheyneedtoknow

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

63

Difficulties and Risks in Project


Management
Itishardtoobtainagreementandcommitmentfrom
others
Takecoursesinnegotiatingskillsandleadership.
Ensurethateverybodyunderstands
Thepositionofeverybodyelse.
Thecostsandbenefitsofeachalternative.
Therationalebehindanycompromises.

Ensurethateverybodysproposedresponsibilityis
clearlyexpressed.
Listentoeverybodysopinion,buttakeassertive
action,whenneeded,toensureprogressoccurs.
Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

64

Review
DrawaPERTChartforthefollowingactivities:
Activity

Description

Predecessor

Drivehome

None

Estimated
Time
0.5

WashClothes

4.0

Pack

0.5

Gotobank

1.0

Paybill

0.5

Packcar

C,E

0.5

Drivetobus

0.5

Lethbridge/Laganire2005

Chapter11:ManagingtheSoftwareProcess

65

You might also like