Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,

Similar presentations


Presentation on theme: "1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,"— Presentation transcript:

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


Download ppt "1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,"

Similar presentations


Ads by Google