Professional Documents
Culture Documents
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
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
First
Prototype
Lethbridge/Laganire2005
Modify
Until
Satisfied
Think of Idea
for
Improvement
Chapter11:ManagingtheSoftwareProcess
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
Chapter11:ManagingtheSoftwareProcess
10
Chapter11:ManagingtheSoftwareProcess
11
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
12
Video
13
Reengineering
Periodicallyprojectmanagersshouldsetasidesome
timetoreengineerpartorallofthesystem
Theextentofthisworkcanvaryconsiderably:
Cleaningupthecodetomakeitmorereadable.
Completelyreplacingalayer.
Refactoringpartofthedesign.
Ingeneral,theobjectiveofareengineeringactivityisto
increasemaintainability.
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
14
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
15
Question
AssumethatIgaveyourgroupthetaskoffiguringout
howmuchtimeyouneededtocodeyourprojectbecause
youweregoingsellitonline.
Whataresometechniques/ideas/concerns/thoughtsyou
haveforestimatingthetimingofalargeproject?
i.e.Howdoyoudecide/figureouthowlongittakesyouto
doanassignment?
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
16
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
17
Prototyping
Design
Inspecting
Testing
Debugging
Writinguserdocumentation
Deployment.
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
18
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
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
22
Likely(L)
Allowingfortypicalthingsgoingwrong
Pessimistic
Accountingforeverythingthatcouldgowrong
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
23
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
24
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
25
a) Egoless
Lethbridge/Laganire2005
b) Chief programmer
c) Strict hierarchy
Chapter11:ManagingtheSoftwareProcess
26
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
27
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
28
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
29
Chapter11:ManagingtheSoftwareProcess
30
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
31
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
32
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
ComputerScienceDepartment
34
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
UWO
ComputerScienceDepartment
37
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
ComputerScienceDepartment
38
Makealistofallprojecttasks(andeventsifpossible).
Findinterrelatedtaskdependencies(whattaskhastobe
completedbeforeothertasks)
DrawinitialPERTwithoutdurations,ECTsorLCTs
Estimatedurationofeachtask
Fillindurations
CalculateECTsandLCTs
3.
4.
5.
6.
UWO
ComputerScienceDepartment
39
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
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
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
D
1
F
7
ComputerScienceDepartment
43
Estimating Durations
Suggestionsforestimatingdurationsoftasks:
Dontjustmakeupanumber
Lookatprevioussimilartasksfromotherprojectsandusethoseas
guidelines
Trytoidentifyfactorssuchasdifficulty,skilllevel
Eachweightingfactorwillhelpyoumakeabetterestimate
Factorstoconsider:
Difficultyoftask
Sizeofteam
Experienceofteam
Number,attitudeandavailabilityofendusers
Managementcommitment
Otherprojectsinprogress
UWO
ComputerScienceDepartment
44
A
2
3
B
2
C
4
2
7
E
6 6
F
3
H
5 9
2I
G
2
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
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
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
Time(hrs)
1
1
4
7
1
3
2
1
1
1
1
4
1
3
3
50
UWO
ComputerScienceDepartment
51
Gantt Charts
GraphicalRepresentationofaschedule
Helpstoplan,coordinateandtrackspecifictasksina
project
NamedafterHenryGanttwhoinventedthemin1917
DepictssomeofthesameinformationasonaPERTchart
Alsodepictsnewinformation
UWO
ComputerScienceDepartment
52
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
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
UWO
Time(hrs)
1
1
4
7
1
3
2
1
1
1
1
4
1
3
3
55
UWO
ComputerScienceDepartment
56
UWO
ComputerScienceDepartment
57
Allustoshowdependenciesexplicitly
Allowustocalculatecriticalpath
Cantellushowonetaskfallingbehindaffectsothertasks
Ganttcharts
Allowustorecordprogressofproject
Allowustoseewhattasksarefallingbehind
Allowustorepresentoverlappingtasks
ProjectManagementTools,e.g.MSProject
Allowustospecifytasks,dependencies,etc
Allowustospecifyprogressontasks,etc
CangenerateeitherPERTorGanttcharts(whicheverwewant)
fromdataentered
UWO
ComputerScienceDepartment
58
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
59
InMSProjectsetthetasklengthtobe0togetamilestone
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
60
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
61
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
62
Lethbridge/Laganire2005
Chapter11:ManagingtheSoftwareProcess
63
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