ETSF01: Software Engineering Process Economy and Quality Dietmar Pfahl Lund University 1. Identify project objectives 0.Select project 2. Identify project infrastructure Project planning steps Review Lower level detail 3. Analyse project characteristics 4. Identify products and activities 5. Estimate effort for activity 6. Identify activity risks For each activity 10. Lower level planning 7. Allocate resources 9. Execute plan 8. Review/ publicize plan 1
Software Project Management Chapter 2 Project evaluation and programme management Topics related to project evaluation The business case of a project Project portfolios Project evaluation Cost benefit analysis Cash flow forecasting Risk evaluation 2
Elements of a Business Case 1. Introduction/ background 2. The proposed project 3. The market 4. Organizational and operational infrastructure 5. Benefits 6. Outline implementation plan 7. Costs 8. The financial case 9. Risks 10. Management plan Project portfolio management Predicting market Evaluating project proposals Assessing the risk involved with projects Deciding how to share resources between projects Taking into account dependencies between projects Removing duplication between projects Checking for gaps in the portfolio (technology, customer segments, etc.) 0 Probability of success high low Reward (NPV) 10 M 3
How to evaluate each potential project? Costs and benefits must be identified and expressed in the same unit Cost-Benefit Analysis (CBA) The expenditure (cost) and income (benefit) of a product needs to be estimated over time and compared. Possible approaches: Net profit Payback period Return on investment (ROI) Net present value (NPV) Internal rate of return (IRR) 4
Net Profit Year 0 represents all the costs before system is in operation Cash-flow is the value of income minus expenses Net profit = value of all the cash-flows for the lifetime of the application Year Cash-flow 0-100,000 1 10,000 2 10,000 3 10,000 4 20,000 5 100,000 Net profit 50,000 Payback Period The time it takes until accumulated cash-flows become positive. What would it be below? Year Cash-flow Accumulated 0-100,000-100,000 1 10,000-90,000 2 10,000-80,000 3 10,000-70,000 4 20,000-50,000 5 100,000 50,000 5
Return on Investment (ROI) ROI = Average annual profit Total investment X 100 In the previous example average annual profit = (150,000 100,000) / 5 = 50,000 / 5 = 10,000 ROI = 10,000/100,000 X 100 = 10% Net Present Value (NPV) Would you rather receive SEK 1000 today or after one year? NB: If you received SEK 1000 now you could put it in a savings account and get interest on it. If the interest rate was 10% how much would you have to invest now to have SEK 1000 after one year? This figure (~910 SEK) is the present value of SEK 1000 for a cash-flow period of one year The net present value of a project is obtained by discounting each cash-flow and summing the discounted values 6
Calculating the NPV Year Cash-flow (values in year t) Discount factor (10% interest rate) 0-100,000 1.0000-100,000 1 10,000 0.9091 9,091 2 10,000 0.8264 8,264 3 10,000 0.7513 7,513 4 20,000 0.6830 13,660 5 100,000 0.6209 62,090 NPV 618 Discounted cash flow (present values) Discount factor Discount factor = 1 / (1 + r) ^ t r is the interest rate (e.g. 10% is 0.10) t is the number of years In the case of 10% rate and one year: Discount factor = 1 / (1 + 0.10) = 0.9091 two years: Discount factor = 1 / (1.10 * 1.10) = 0.8294 7
Internal rate of return Internal rate of return (IRR) is the interest rate that would produce an NPV of 0 for the project NB: There is a Microsoft Excel function which can be used to calculate the IRR IRR can be used to compare different investment opportunities The higher the IRR, the better IRR Example Year Project cash flow Discount factor with 7,357% IRR 0-100000 1-100000 1 15000 0,93147163 13 972 2 5000 0,86763940 4 338 3 5000 0,80818149 4 041 4 10000 0,75279813 7 528 5 100000 0,70121010 70 121 Net profit: 35000 NPV: 0 Discounted cash flow 8
2012-05-22 Dealing with uncertainty: Risk evaluation Project A might appear to give a better return than B but could be riskier For riskier projects one might require higher IRR (or NPV) Simple tools that help assess and handle risks: Project risk matrix Decision tree Example of a project risk matrix H M L L M H 9
Decision trees Project A Expected Value: 40,000 Project B Expected Value: 10,000 Software Project Management Chapter 6 Activity planning 10
Sprint Burndown Chart Example (person-hours) Scheduling Having selected and tailored a process for doing the project identified the activities to be carried out assessed the time needed for each activity we would like to assign dates/times for start and end of each activity 11
Activity networks Help to: Assess the feasibility of the planned project completion date Identify when resources will need to be deployed to activities Calculate when costs will be incurred Co-ordinate activities Identifying activities Work-based approach: Work Breakdown Structure (WBS) listing the tasks (work items) to be performed Product Backlog à Sprint Backlog à Tasks in Burndown Chart Product-based approach: List the deliverable and intermediate products of project Product breakdown structure (PBS) Identify the order in which products have to be created Work out the activities needed to create the products 12
Hybrid approach Example Products Activities Final outcome of project planning A project plan as a bar chart 13
Activity Network Types PERT = Program Evaluation and Review Technique CPM = Critical Path Method PERT vs CPM PERT Activity B Activity A Activity D Activity C CPM Act. A Act. B Act. D Act. F Act. C Act. E 14
Developing a PERT diagram No loops are allowed deal with iterations by hiding them within single activities Milestones, e.g., the start and end the project, indicate transition points in the process and have duration 0. Activity A Activity B Activity C Activity D Lagged activities Where there is a fixed delay between activities e.g. seven days notice has to be given to users that a new release has been signed off and is to be installed Acceptance testing 7days Install new release 20 days 1day 15
Types of links between activities Finish to start Software development Acceptance testing Start to start / Finish to finish (here with lag time) Test prototype 1 day 2 days Document Amendments Types of links between activities Start to finish Operate temporary system Acceptance test of new system Cutover to new system 16
Start and finish times Earliest start activity Latest finish Latest start Earliest finish Activity write project report Earliest start (ES) Earliest finish (EF) = ES + duration Latest finish (LF) = latest time the task can be completed without affecting project end Latest start = LF - duration Example Earliest start = day 5 Latest finish = day 30 Duration = 10 days Earliest finish =? Latest start =? Float = LF ES Duration =? What is it? 17
Example Earliest start = day 5 Latest finish = day 30 Duration = 10 days Earliest finish = 15 Latest start = 20 Float = LF ES Duration = 15 Day 0 Note that in the last example, day numbers are used rather than actual dates Makes initial calculations easier not concerned with week-ends and public holidays For finish date/times Day 1 means at the END of Day 1. For a start date/time Day 1 also means at the END of Day 1. The first activity therefore may begin at Day 0, i.e., the end of Day 0 (= the start of Day 1) 18
Notation Earliest start Duration Earliest finish Activity label, activity description Latest start Float Latest finish Complete for the previous example??? 19
Complete for the previous example Earliest Start = 5 Duration = 10 Earliest Finish = 15 Write report software Latest Start = 20 Float = 15 Latest Finish =30 Example of an activity network 20
Example of an activity network Developing the PERT diagram: Forward pass Start at beginning (Day 0) and work forward following chains Earliest start date for the current activity = earliest finish date for the previous When there is more than one previous activity, take the latest earliest finish EF = day 7 ES = day10 EF = day10 46 21
Example of an activity network Example of an activity network 0 6 0 4 0 10 22
Example of an activity network 0 6 0 4 0 10 6 9 4 8 4 7 Example of an activity network 0 6 0 4 0 10 6 9 4 8 4 7 9 11 10 13 23
Developing the PERT diagram: Backward pass Start from the last activity Latest finish (LF) for last activity = earliest finish (EF) Work backwards Latest finish for current activity = Latest start for the following activity More than one following activity à take the earliest LS Latest start (LS) = LF for activity duration Example of an activity network 0 6 0 4 0 10 6 9 4 8 4 7 9 11 10 13 24
Example of an activity network 0 6 0 4 0 10 0? 10 6 9 8? 11 4 8 7? 11 4 7 7? 10 9 11 11? 13 10 13 10? 13 Example of an activity network 0 6 2? 8 0 4 3? 7 0 10 0? 10 6 9 8? 11 4 8 7? 11 4 7 7? 10 9 11 11? 13 10 13 10? 13 25
Float Float = Latest finish - Earliest start - Duration ES activity FLOAT LF Latest start Earliest finish Example of an activity network 0 6 2? 8 0 4 3? 7 0 10 0? 10 6 9 8? 11 4 8 7? 11 4 7 7? 10 9 11 11? 13 10 13 10? 13 26
Example of an activity network 0 6 2 2 8 0 4 3 3 7 0 10 0 0 10 6 9 8 2 11 4 8 7 3 11 4 7 7 3 10 9 11 11 2 13 10 13 10 0 13 Critical path Critical path = the path through the activity network with zero floats Critical path: any delay in an activity on this path will delay whole project Can there be more than one critical path? Can there be no critical path? Sub-critical paths 27
Example of a critical path 0 6 2 2 8 0 4 3 3 7 0 10 0 0 10 6 9 8 2 11 4 8 7 3 11 4 7 7 3 10 9 11 11 2 13 10 13 10 0 13 Free vs. interfering float 0 7w 7 A 2 2 9 B can be up to 3 weeks late and not affect any other activity à free float 0 4w 4w 4 B 5 5 9 7 1w 8 D 9 2 10 10 2w 12 E 10 0 12 0 10w 10 A 0 0 10 B can be another 2 weeks late à affects D but not the project s end date à interfering float 28
Rest of this week Read textbook chapters 2 and 6 Suggested exercises: Recommended exercises: 2.1 (page 27), 2.4 (page 30), 2.6 (page 32), 2.7 (page 35), 2.15.1 (page 48), 2.15.2 (page 48), 2.15.3a (page 48) Recommended exercises: 6.1 (page 145), 6.2 (page 149), 6.3 (page 150), and 6.4 (page 151), 6.5 (page 154), 6.18.1 (page 160), and 6.18.6-8 (page 161) Finish first iteration: Tool Version 1 (TV1) Burndown Chart (EC1) Meet project supervisors Next week Read textbook chapters 7-9 Finish Draft User Manual (UM) Have a look at TV1 of your Supplier Group Start work on second iteration: Tool Version 2 (TV2) Burndown Chart (EC2) User Manual (UM) 29