Download presentation
Presentation is loading. Please wait.
Published byAugustine Clark Modified over 9 years ago
1
1 Chapter 5 Software Project Planning
2
2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project. Why? So the end result gets done on time, with quality!
3
3 Write it Down! SoftwareProjectPlan Project Scope EstimatesRisksSchedule Control strategy
4
4 The Steps Scoping—understand the problem and the work that must be done Estimation—how much effort? how much time? Risk—what can go wrong? how can we avoid it? what can we do about it? Schedule—how do we allocate resources along the timeline? what are the milestones? Control strategy—how do we control quality? how do we control change?
5
5 A Good Project Plan 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
6
6 Software Scope What -- Describe function, performance, constraints, interfaces, and reliability. How -- Obtain information for scope Context-free questions (Q&A) a meeting format
7
7 Context-free questions Focuses on the customer, the overall goals and benefits Who is behind the request for this work? Who will use the solution? What will be the economic benefit of a successful solution? Is there another source for the solution
8
8 Enables the analyst to gain a better understanding of the problem and the customer to voice any perceptions about a solution. How would you (customer) characterize “good” output that would be generated by a successful solution? What problem(s) will this solution address? Can you show me (or describe) the environment in which the solution will be used? Will any special performance issues or constraints affect the way the solution is approached?
9
9 Focuses on the effectiveness of the meeting. Are you the right person to answer these questions? Are answers “official”? Are my questions relevant to the problem that you have? Am I asking too many questions? Can anyone else provide additional information? Should I be asking you anything else?
10
10 A Scoping Example P.118
11
11 A conveyor line sorting system (CLSS)
12
12 Functions Read bar code input. Read pulse tachometer. Decode part code data. Do database look-up. Determine bin location. Produce control signal for shunt. Maintain record of box destinations.
13
13 Scope function: put boxes into bins performance: speed of the conveyor constraints: spaced between two boxes interface: PC, peripherals, … reliability: 90%
14
14 Resources
15
15 Resource Description of the resource Statement of availability When How long
16
16 Resources Human organizational position specialty number of people Reusable Software Off-the shelf components Full-experience components Partial-experience components New components Environmental Software engineering environment (SEE) -- hardware and software.
17
17 Accuracy of Estimation Project complexity Project size Degree of structural uncertainty Availability of historical information ….
18
18 Cost Estimation project scope must be explicitly defined task and/or functional decomposition is necessary historical measures (metrics) are very helpful at least two different techniques should be used remember that uncertainty is inherent
19
19 Estimation Techniques Decomposition Techniques Model Problem-Based estimation LOC-based estimation LOC-based estimation FP-based estimation FP-based estimation Process-Based estimation Efforts (e.g. person-months) Efforts (e.g. person-months) LOC-based estimation LOC-based estimation FP-based estimation FP-based estimation Empirical Estimation Model Automated Estimation Tools
20
20 LOC-Based Estimation Identify the major software functions Estimate the LOC (EV) of each function. EV (expected value) = (S optimistic + 4S most likely + S pessimistic )/6 Sum each estimated LOC (EV).
21
21 Example From the System Specification The CAD software will accept two- and three- dimensional geometric data from an engineer. The engineer will interact and control the CAD system through a user interface that will exhibit characteristics of good human/machine interface design. ….P.128 The CAD software will accept two- and three- dimensional geometric data from an engineer. The engineer will interact and control the CAD system through a user interface that will exhibit characteristics of good human/machine interface design. ….P.128
22
22 For 3DGA: Optimistic – 4600 LOC; most likely – 6900 LOC; pessimistic – 8600 LOC Estimated LOC = EV For the system: Average productivity (history) = 620 LOC/pm; Labor rate = $8000 per month Cost per line = ?; Estimated project cost = ?; Estimated effort = ?
23
23 FP-Based Estimation Identify the information domain characters. Assign level of estimated size value, complexity, and weight to each information domain value. Count each FP. Count total FP. Count FP of the software. FP estimated = count-total FP estimated = count-total x [0.65 x 0.01 x Summation(Fi)]
24
24Example 96 80 14 40 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
25
25 Ch 4
26
26 Ch 4
27
27 Process-Based Estimation Decompose each process into a relatively small set of tasks. Meld the functions and related process activities. Estimated the effort (e.g. person- month).
28
28Example Average labor rate = $8000 per month Total estimated project cost = $8000x46 = $368000 Estimated project effort = 46 person-month
29
29 Empirical Estimation Models The Structure of Estimation Models The COCOMO Model The Software Equation
30
30 Structure of Estimation Models effort =A + B * size exponent usually derived as person-months of effort required either a constant or a number derived based on complexity of project usually LOC but may also be function point empirically derived
31
31 COCOMO Model Application composition model Object points: screens, reports, components Early design stage model Function points Post-architecture-stage model Lines of source code
32
32 COCOMO Model
33
33 COCOMO Model 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
34
34 Software Equation Dynamic multivariable model 4000 contemporary software project E = [LOC x B 0.333 /P] 3 X (1/t 4 ) E = [LOC x B 0.333 /P] 3 X (1/t 4 )
35
35 Automated Estimation Tools Sizing of project deliverables Selecting project activities Predicting staffing levels Predicting software effort Predicting software cost Predicting software schedules
36
36 The Make/Buy Decision Purchase off-the-shelf Modify and integrate the “full- experience” or “partial- experience” software components Outside contract
37
37 Decision Tree Analysis
38
38 Computing Expected Cost (path probability) x (estimated path cost) (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost = 0.30($380K)+0.70($450K) similarly, expected cost = $382K expected cost = $267K expected cost = $410K build reuse buy contr expected cost = = $429 K
39
39 Estimation Guidelines estimate using at least two techniques get estimates from independent sources avoid over-optimism, assume difficulties adjust for the people who'll be doing the job — they have the highest impact
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.