1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project...
-
Upload
augustine-clark -
Category
Documents
-
view
224 -
download
0
Transcript of 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project...
![Page 1: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/1.jpg)
1
Chapter 5Chapter 5Software Project Software Project
PlanningPlanning
![Page 2: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/2.jpg)
2
Software Project Software Project PlanningPlanning
The overall goal of project planning is The overall goal of project planning is to establish a pragmatic strategy for to establish a pragmatic strategy for controlling, tracking, and monitoring controlling, tracking, and monitoring a complex technical project.a complex technical project.
Why?Why?
So the end result gets done on time, So the end result gets done on time, with quality!with quality!
![Page 3: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/3.jpg)
3
Write it Write it Down!Down!
SoftwareSoftwareProjectProject
PlanPlan
Project ScopeProject ScopeEstimatesEstimatesRisksRisksScheduleScheduleControl strategyControl strategy
![Page 4: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/4.jpg)
4
The The StepsSteps
Scoping—understand the problem Scoping—understand the problem and the work that must be doneand the work that must be done
Estimation—how much effort? how Estimation—how much effort? how much time?much time?
Risk—what can go wrong? how can Risk—what can go wrong? how can we avoid it? what can we do about it?we avoid it? what can we do about it?
Schedule—how do we allocate Schedule—how do we allocate resources along the timeline? what resources along the timeline? what are the milestones?are the milestones?
Control strategy—how do we control Control strategy—how do we control quality? how do we control change?quality? how do we control change?
![Page 5: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/5.jpg)
5
A Good Project A Good Project PlanPlan Project scope
Project schedule Project team organization Technical description of the proposed
system Project standards, procedures, and
proposed techniques and tools Quality assurance plan Configuration management plan Documentation plan Data management plan Resource management plan Test plan Training plan Security plan Risk management plan Maintenance plan
![Page 6: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/6.jpg)
6
Software Software ScopeScope
What -- Describe function, What -- Describe function, performance, constraints, interfaces, performance, constraints, interfaces, and reliability.and reliability.
How -- Obtain information for scopeHow -- Obtain information for scope Context-free questionsContext-free questions (Q&A) (Q&A) a meeting formata meeting format
![Page 7: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/7.jpg)
7
Context-free Context-free questionsquestions
Focuses on the Focuses on the customercustomer, the , the overall goalsoverall goals and and benefitsbenefits
Who is behind the request for this Who is behind the request for this work?work?
Who will use the solution?Who will use the solution? What will be the economic benefit What will be the economic benefit
of a successful solution?of a successful solution? Is there another source for the Is there another source for the
solutionsolution
![Page 8: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/8.jpg)
8
Enables the Enables the analystanalyst to gain a better to gain a better understanding of the problem and the understanding of the problem and the customercustomer to voice any perceptions to voice any perceptions about a solution.about a solution. How would you (customer) characterize How would you (customer) characterize
“good” output that would be generated by “good” output that would be generated by a successful solution?a successful solution?
What problem(s) will this solution address?What problem(s) will this solution address? Can you show me (or describe) the Can you show me (or describe) the
environment in which the solution will be environment in which the solution will be used?used?
Will any special performance issues or Will any special performance issues or constraints affect the way the solution is constraints affect the way the solution is approached?approached?
![Page 9: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/9.jpg)
9
Focuses on the Focuses on the effectiveness of effectiveness of the meetingthe meeting. . Are you the right person to answer Are you the right person to answer
these questions? Are answers these questions? Are answers “official”?“official”?
Are my questions relevant to the Are my questions relevant to the problem that you have?problem that you have?
Am I asking too many questions?Am I asking too many questions? Can anyone else provide additional Can anyone else provide additional
information?information? Should I be asking you anything Should I be asking you anything
else?else?
![Page 10: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/10.jpg)
10
A Scoping A Scoping ExampleExample
P.118
![Page 11: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/11.jpg)
11
A conveyor line sorting system
(CLSS)
![Page 12: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/12.jpg)
12
FunctionsFunctions Read bar code input.Read bar code input. Read pulse tachometer.Read pulse tachometer. Decode part code data.Decode part code data. Do database look-up.Do database look-up. Determine bin location.Determine bin location. Produce control signal for shunt.Produce control signal for shunt. Maintain record of box Maintain record of box
destinations.destinations.
![Page 13: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/13.jpg)
13
ScopeScope function: put boxes into binsfunction: put boxes into bins performance: speed of the performance: speed of the
conveyorconveyor constraints: spaced between two constraints: spaced between two
boxesboxes interface: PC, peripherals, …interface: PC, peripherals, … reliability: 90%reliability: 90%
![Page 14: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/14.jpg)
14
ResourResourcesces
![Page 15: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/15.jpg)
15
ResourcResourcee
Description of Description of the resourcethe resource
Statement of Statement of availabilityavailability
When When How longHow long
![Page 16: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/16.jpg)
16
ResourResourcesces HumanHuman
organizational position organizational position specialtyspecialty number of peoplenumber of people
Reusable SoftwareReusable Software Off-the shelf componentsOff-the shelf components Full-experience componentsFull-experience components Partial-experience componentsPartial-experience components New componentsNew components
Environmental Environmental Software engineering environment Software engineering environment
(SEE) --hardware and software.(SEE) --hardware and software.
![Page 17: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/17.jpg)
17
Accuracy of Accuracy of EstimationEstimation
Project complexityProject complexity Project sizeProject size Degree of structural uncertaintyDegree of structural uncertainty Availability of historical Availability of historical
informationinformation ……..
![Page 18: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/18.jpg)
18
Cost Cost EstimationEstimation
project scope must be explicitly project scope must be explicitly defineddefinedtask and/or functional task and/or functional decomposition is necessarydecomposition is necessaryhistorical measures (metrics) are historical measures (metrics) are very helpfulvery helpfulat least two different techniques at least two different techniques should be usedshould be usedremember that uncertainty is remember that uncertainty is inherentinherent
![Page 19: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/19.jpg)
19
Estimation Estimation TechniquesTechniques
Decomposition Techniques ModelDecomposition Techniques Model Problem-Based estimationProblem-Based estimation
LOC-based estimationLOC-based estimation FP-based estimationFP-based estimation
Process-Based estimationProcess-Based estimation Efforts (e.g. person-months)Efforts (e.g. person-months) LOC-based estimationLOC-based estimation FP-based estimationFP-based estimation
Empirical Estimation ModelEmpirical Estimation Model Automated Estimation ToolsAutomated Estimation Tools
![Page 20: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/20.jpg)
20
LOC-Based LOC-Based EstimationEstimation
Identify the major software Identify the major software functionsfunctions
Estimate the LOC (EV) of each Estimate the LOC (EV) of each function.function.EV (expected value) = (SEV (expected value) = (Soptimisticoptimistic + 4S + 4Smost most
likelylikely + S + Spessimisticpessimistic)/6)/6
Sum each estimated LOC (EV).Sum each estimated LOC (EV).
![Page 21: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/21.jpg)
21
ExamplExamplee
From the System SpecificationFrom the System Specification
The CAD software will accept two- and three-The CAD software will accept two- and three-dimensional geometric data from an engineer. The dimensional geometric data from an engineer. The engineer will interact and control the CAD system engineer will interact and control the CAD system through a user interface that will exhibit through a user interface that will exhibit characteristics of good human/machine interface characteristics of good human/machine interface design. ….P.128design. ….P.128
![Page 22: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/22.jpg)
22
For 3DGA: Optimistic – 4600 LOC; most likely – 6900 LOC; pessimistic – 8600 LOC Estimated LOC = EVFor the system: Average productivity (history) = 620 LOC/pm; Labor rate = $8000 per month Cost per line = ?; Estimated project cost = ?; Estimated effort = ?
![Page 23: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/23.jpg)
23
FP-Based FP-Based EstimationEstimation
Identify the information domain Identify the information domain characters. characters.
Assign level of estimated size value, Assign level of estimated size value, complexity, and weight to each complexity, and weight to each information domain value.information domain value.
Count each FP. Count each FP. Count total FP. Count total FP. Count FP of the software.Count FP of the software.
FPFPestimatedestimated = count-total = count-total x [0.65 x 0.01 x Summation(Fi)]
![Page 24: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/24.jpg)
24
ExampExamplele
9680
1440
318
For the system: Average productivity (history) = 6.5 FP/pm; Labor rate = $8000 per month Cost per line = 8000 / 6.5 = $1230; Estimated project cost = 1230x372 = $457,000; Estimated project effort = 372 / 6.5 = 57 person-months
4
![Page 25: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/25.jpg)
25
Ch Ch 4 4
![Page 26: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/26.jpg)
26
Ch Ch 44
56
)]4601.0(65.0[50
)]01.0(65.0[
iFcounttotalFP
![Page 27: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/27.jpg)
27
Process-Based Process-Based EstimationEstimation
Decompose each process into a Decompose each process into a relatively small set of tasks.relatively small set of tasks.
Meld the functions and related Meld the functions and related process activities.process activities.
Estimated the effort (e.g. Estimated the effort (e.g. person-month).person-month).
![Page 28: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/28.jpg)
28
ExampExamplele
Average labor rate = $8000 per month
Total estimated project cost = $8000x46 = $368000
Estimated project effort = 46 person-month
![Page 29: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/29.jpg)
29
Empirical Estimation Empirical Estimation ModelsModels
The Structure of Estimation The Structure of Estimation ModelsModels
The COCOMO ModelThe COCOMO Model The Software EquationThe Software Equation
![Page 30: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/30.jpg)
30
Structure of Estimation Structure of Estimation ModelsModels
effort =A + B * sizeexponent
usually derivedas person-monthsof effort required
either a constant ora number derived based on complexity of project
usually LOC butmay also befunction point
empiricallyderived
![Page 31: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/31.jpg)
31
COCOMO COCOMO ModelModel
Application composition modelApplication composition model Object points: screens, reports, Object points: screens, reports,
componentscomponents
Early design stage modelEarly design stage model Function pointsFunction points
Post-architecture-stage modelPost-architecture-stage model Lines of source codeLines of source code
![Page 32: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/32.jpg)
32
COCOMO COCOMO ModelModel
![Page 33: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/33.jpg)
33
COCOMO COCOMO ModelModel
Total object points = sum ( number of object X weight)
NOP (New Object Points) = total object points x (100 - reuse) / 100
PROD = productivity rate (TABLE 5.2)
Estimated Effort = NOP / PROD
![Page 34: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/34.jpg)
34
Software Software EquationEquation
Dynamic multivariable model Dynamic multivariable model 4000 contemporary software 4000 contemporary software
projectproject
E = [LOC x BE = [LOC x B0.3330.333/P]/P]33 X (1/t X (1/t44))
![Page 35: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/35.jpg)
35
Automated Estimation Automated Estimation ToolsTools
Sizing of project Sizing of project deliverablesdeliverables
Selecting project activitiesSelecting project activities Predicting staffing levelsPredicting staffing levels Predicting software effortPredicting software effort Predicting software costPredicting software cost Predicting software Predicting software
schedulesschedules
![Page 36: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/36.jpg)
36
The Make/Buy The Make/Buy DecisionDecision
Purchase off-the-shelfPurchase off-the-shelf Modify and integrate the Modify and integrate the
“full-experience” or “partial-“full-experience” or “partial-experience” software experience” software componentscomponents
Outside contract Outside contract
![Page 37: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/37.jpg)
37
Decision Tree Decision Tree AnalysisAnalysis
system Xsystem Xreusereuse
simple (0.30)simple (0.30)
difficult (0.70)difficult (0.70)
minorminor changeschanges
(0.40)(0.40)
majormajorchangeschanges
(0.60)(0.60)
simple (0.20)simple (0.20)
complex (0.80)complex (0.80)
majormajor changeschanges (0.30)(0.30)
minorminor changeschanges
(0.70)(0.70)
$380,000$380,000
$450,000$450,000
$275,000$275,000
$310,000$310,000
$490,000$490,000
$210,000$210,000
$400,000$400,000
buybuy
contractcontract
without changes (0.60)without changes (0.60)
with changes (0.40)with changes (0.40)
$350,000$350,000
$500,000$500,000
buildbuild
![Page 38: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/38.jpg)
38
Computing Computing Expected CostExpected Cost
((path probability) x (estimated path cost) path probability) x (estimated path cost) ii ii
For example, the expected cost to build is:For example, the expected cost to build is:
expected cost = 0.30($380K)+0.70($450K) expected cost = 0.30($380K)+0.70($450K)
similarly,similarly,expected cost = $382Kexpected cost = $382Kexpected cost = $267Kexpected cost = $267Kexpected cost = $410Kexpected cost = $410K
buildbuild
reusereuse
buybuy
contrcontr
expected cost =expected cost =
= $429 = $429 KK
![Page 39: 1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,](https://reader030.fdocuments.in/reader030/viewer/2022033103/56649f015503460f94c16c90/html5/thumbnails/39.jpg)
39
Estimation GuidelinesEstimation Guidelines
estimate using at least two techniquesestimate using at least two techniques
get estimates from independent sourcesget estimates from independent sources
avoid over-optimism, assume difficultiesavoid over-optimism, assume difficulties
adjust for the people who'll be doing the adjust for the people who'll be doing the job — they have the highest impactjob — they have the highest impact