Summary

This document discusses techniques in software project management, including optimizing the plan, resource allocation methods, critical path method remarks, and specific examples like project crashing and fast tracking, and how to manage project costs.

Full Transcript

Optimizing the Plan Critical Path Method Remarks Critical path refers just to duration and not to other characteristics such as risk or difficulty Activities which are not in the critical path can delay a plan, if the delay is long enough. Watch out for (nearly) critic...

Optimizing the Plan Critical Path Method Remarks Critical path refers just to duration and not to other characteristics such as risk or difficulty Activities which are not in the critical path can delay a plan, if the delay is long enough. Watch out for (nearly) critical paths: a delay in an activity in a non-critical path may make another path critical spm - ©2014 adolfo villafiorita - introduction to software project management 28 Resource Allocation and Resource Leveling A (simplified) Process Inputs: – the plan: activities, constraints, effort for each activity – project team (number, types, and availability of resources) – delivery dates (project constraints) Resource allocation: – the process by which a resource is assigned to a task, that is, is tasked with carrying out part of the work (effort) defined in a task Constraints: – according to availability and needs (e.g. the type of resource required for a given activity): no over-allocation (above maximum availability) (resource leveling) If no solution is found, if you may, variate some hypotheses (e.g. increase team size, relax constraints) and iterate spm - ©2014 adolfo villafiorita - introduction to software project management 30 Resource Allocation Examples -1 w T day T+1w T+2w T+3w T+4w Task 1 1w R 1 {50% of 100%} Task 2 2w R2 Task 3 1w R 1 {50% of 100%}; R 2 {50% of 100%} Legenda: – each slot: 1week – R1 assigned to Task 1 at 50% of his time – R2 allocated full time to Task 2 – R1 and R2 allocated @ 50% of their time to Task 3 What it means: – R1 will work 20 hours on week 1 and 2 and 20 hours on week 3 – R2 will work 40 hours on week 1 and 2 and 20 hours on week 3 spm - ©2014 adolfo villafiorita - introduction to software project management 31 Resource Usage For manpower: the amount of time each resource is needed at a given time For equipment: the number of items that are necessary at any given time For material: the amount of material which is required (consumed) at any given time spm - ©2014 adolfo villafiorita - introduction to software project management 32 How is it computed? Resource usage is computed by summing the amount of work required for any given period That is a “vertical” sum over work assignments Overallocation: a situation in which a resource is used above his/her/its maximum capability spm - ©2014 adolfo villafiorita - introduction to software project management 33 Example -1 w T day T+1w T+2w T+3w T+4w Task 1 1w R 1 {50% of 100%} Task 2 2w R2 Task 3 1w R 1 {50% of 100%}; R 2 {50% of 100%} Task 4 2w R1 hours hours hours hours hours R1 20 20 T1 20 T3 40 40 T4 Total R1 20 60 60 R2 40 40 T2 20 T3 Total R2 40 40 20 R1 is over allocated in W2 (T+1w) and W3 (T+2w) spm - ©2014 adolfo villafiorita - introduction to software project management 34 More Complete Example We draw the plan highlighting hard constraints. Deliverable has a unmovable delivery date Allocating two resources to Task 2 allows to satisfy the constraints spm - ©2014 adolfo villafiorita - introduction to software project management 35 Example Problem: Task 1 and Task 3 require the same resource... we are over-allocating Resource 1 spm - ©2014 adolfo villafiorita - introduction to software project management 36 Example Solution 1. Resource leveling... insert soft constraints in your plan so that no resource is over allocated (does not work above 100%) Solution 2. Compression techniques (in a few lessons) Some considerations: Resource 1 will work on the project full time. Resource 2 and Resource 3 needed just towards the end of the project (for Task 2) spm - ©2014 adolfo villafiorita - introduction to software project management 37 Goals of the Unit Learning the techniques to shorten a plan Understanding the risks of shortening a plan spm - ©2014 adolfo villafiorita - introduction to software project management 2 Initiate Plan Execute & Close Monitor Assess Formalize Collect Close Feasibility Goals Outputs Monitor Goals, Cost and Develop Release Schedule Define Kick Off Schedule Activities Define Costs [Obtain Approval] Change Control & Configuration Management Quality Management Risk Management Human Resource Management Preliminary Consideration The first version of your plan will most likely show that you will not be able to deliver according to the deadline set by the sponsor On the hypothesis that the plan is accurate, there are two options: – The project is not started (since it is not feasible, given the constraints) – The project is shortened, using one of the techniques described in this unit The “third” option (the estimations are revised) is a bad idea spm - ©2014 adolfo villafiorita - introduction to software project management 4 Making your plan feasible Change some of the hypotheses on which your plan is based. For instance: 1. Reduce scope (it makes some activities shorter or useless) 2. Reduce quality (it makes some activities shorter or useless) 3. Outsource some activities (it increases risk and, possibly, costs) Act on the logic of the plan: 4. Increase resources (it makes the project more costly) [PROJECT CRASHING] 5. Evaluate alternative courses of actions (e.g. change development process). However: it might be difficult, if your team is accustomed to a specific development process. 6. Substitute activities 7. Break the rules: eliminate hard constraints on your plan (it increases risk, and, possibly costs, due to re-work) [FAST TRACKING] 8. Work on probability of delivering on time [CRITICAL CHAIN MANAGEMENT] spm - ©2014 adolfo villafiorita - introduction to software project management 5 Project Crashing Project crashing is a method for shortening the project duration by reducing the time of one or more of the critical project activities to less than its normal activity time. The objective of crashing is to reduce project duration while minimizing the cost of crashing. Project Crashing Project duration can (often) be reduced by assigning more labor to project activities, in the form of over time, and by assigning more resources, such as material, equipment, etc. However, the additional labor and resources increase the project cost. So, the decision to reduce the project duration must based on an analysis of the trade-off between time and cost. spm - ©2014 adolfo villafiorita - introduction to software project management 7 Project Crashing Example cost = $ 3000 cost = $ 4000 Project Crashing: we allocate more people to Task 2 an 3 cost = $ 6000 cost = $ 8000 CRASH TIME = 2 calendar units (e.g. months) CRASH COST = (6000 + 8000) - (3000 + 4000) = = 14000 - 7000 = 7000 Crashing convenient according to costs of delivering late spm - ©2014 adolfo villafiorita - introduction to software project management 8 Project Crashing (simple) Example Project is late: we are supposed to pay 20K euro per week of delay Month 1 Month 2 Mo Task 1 Task 2 Task 3 D We can reduce Task 2 and Task 3 by allocating more resources: 10K for a week, 60K for two weeks, 90K for three weeks, 120K for four weeks) spm - ©2014 adolfo villafiorita - introduction to software project management 9 Project Crashing (simple) Example Project is late: we are supposed to pay 20K euro per week of delay Month 1 Month 2 Mo Task 1 Task 2 Task 3 D Overrun Cost 0K 20K 40K 60K 80K Project crashing costs 120K 90K 60K 10K 0K Cumulative Costs 120K 110K 100K 70K 80K spm - ©2014 adolfo villafiorita - introduction to software project management 10 Project Crashing (simple) Example Best solution (only if costs matter): shorten by a week (cumulative costs is the minimum value) Other considerations might make other choices more appealing. For instance: – Delivering on time might be essential to keep a client. In such a case we might decide to incur in increased expenditures – We might decide to deliver late (and keep activities as they are) to avoid having our team work overtime or because risks associated to decreased quality might increase with shortening activities spm - ©2014 adolfo villafiorita - introduction to software project management 11 Fast Tracking Fast Tracking Fast tracking works by overlapping activities which would otherwise be sequential spm - ©2014 adolfo villafiorita - introduction to software project management 15 Fast Tracking Fast tracking is based on the fact that deliverables of activities are incrementally produced (and refined) during the execution of the activity Example: a requirement document is not written on the last day of the “requirement writing” activity. Rather it gets written a bit at a time, when the activity is executed Deliverable 100% Example: in the last 20% 5% of the time only 5% of the 20% progress is achieved 50% spm - ©2014 adolfo villafiorita - introduction to software project management 13 Fast Tracking Consider the example of the previous slide: if the last 5% is not the critical part of your deliverable, then we could start the activities depending on the requirement document earlier. spm - ©2014 adolfo villafiorita - introduction to software project management 14 Fast Tracking Fast Tracking Fast Tracking Fast Tracking Fast Tracking Fast Tracking Fast Tracking Fast Tracking: Issues and Rules of the Thumb Fast tracking is risky and it might cause rework When deciding what dependencies are better to break, consider the following: –How the deliverable production during the activity will progress (will it produce intermediate outputs?) and consolidate (will the intermediate output be stable?) –The risk involved in changes to the output (what if the consequence of re-work in the subsequent activity; how will it affect the rest of the plan?) spm - ©2014 adolfo villafiorita - introduction to software project management 16 Fast Tracking Fast Tracking Vs. Resource Crashing Critical Chain Management Critical Chain Management Critical Chain Management starts from the assumption that estimations are averages guesses Saying that an activity lasts X (or it takes an effort of Y) means that most of the times the activity will take X to complete. There could be cases, however, in which the activity will take shorter or longer to complete To manage contingencies (and contrast their optimism), project managers pad their estimations, moving the estimations to the “pessimistic” side However, only some of the buffers will actually be needed spm - ©2014 adolfo villafiorita - introduction to software project management 18 Some statistical considerations Critical Chain Management is interesting and effective for two reasons: – Item 1. We reason on most probable estimates rather than pessimistic estimates: in particular we call contingency the difference in duration between a 50% probable estimate and a 90% probable estimate – Item 2. We reason on chains of activities. The standard deviation of a chain of activities is less than the sum of the standard deviations of the activities in the chain spm - ©2014 adolfo villafiorita - introduction to software project management 19 CCM: Item 1 (Estimations) Probability 9 8 7 “best guess” 6 5 4 3 2 pessimistic optimis tic 1 Activity 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 Du rat i on 9 9.5 1 -1 Traditional Estimation Notice that the contingency duration depends upon the standard deviation! CCM estimation duration contingency spm - ©2014 adolfo villafiorita - introduction to software project management 20 CCM: Item 2 (sum of variances) A1 A2 A3 duration1 contingency1 duration2 contingency2 duration3 contingency3 A1 + A2 + A3 duration contingency duration = duration1 + duration2 + duration3 contingency < contingency1 + contingency2 + contingency3 spm - ©2014 adolfo villafiorita - introduction to software project management 21 CCM Basic Idea When planning we reason and monitor chains and we make the contingency buffer explicit Item 1 (duration + contingency) + Item 2 (sum of variances) ensures that the plan is shorter than those obtained from the standard approach During plan execution the statistical variation will make some activities last longer than planned. These activities will make the chain overflow the contingency buffer, which is ok up to a point. The manager manages the chains, not activities spm - ©2014 adolfo villafiorita - introduction to software project management 22 Example Plan A1 + A2 + A3 contingency Actual A1 + A2 + A3 A1 lasts longer than planned and the chain enters the contingency contingency buffer A1 + A2 + A3 A2 lasts longer than planned and the chain continues entering the contingency contingency buffer A1 + A2 + A3 However A3 lasts as planned and some buffer is spared. contingency spm - ©2014 adolfo villafiorita - introduction to software project management 23 CCM: Managing Chains When using CCM two important questions arise: – Buffer definition: What chains are best to consider or, put it another way, where we put the buffers – Buffer management: When do we need to start worrying about overflow in the contingency buffer spm - ©2014 adolfo villafiorita - introduction to software project management 24 Costing and Budgeting From cost to value: methods and techniques to set the right cost to software Goals of the Unit Questions you might face: – How much does the development of the software cost? – Is the project on budget? Goals of the Unit – Budgeting – Managing Project Costs spm - ©2014 adolfo villafiorita - introduction to software project management 2 Initiate Plan Execute & Close Monitor Assess Formalize Collect Close Feasibility Goals Outputs Monitor Goals, Cost and Develop Release Schedule Define Kick Off Schedule Activities Define Costs [Obtain Approval] Change Control & Configuration Management Quality Management Risk Management Human Resource Management Some Definitions Costing: determining the bare costs to deliver a project Budgeting (and cost control): determining the financial needs of a project and preparing the books to monitor expenditures (and incomes) Pricing: determining how much you will charge for the project Life Cycle Cost (LCC) (also called Total Cost of Ownership): costs to be sustained to operate (use) a system throughout its lifecycle spm - ©2014 adolfo villafiorita - introduction to software project management 4 (Software) Project Costing Project Cost Management Project Cost Management Project Cost Management Project Cost Management Project Cost Management (Software) Project Costing Project cost: – The expenses we will incur into to finish a project – It does not take into account profit – Made of direct and indirect costs (next slide) Cost Element Structure: – Hierarchical structure which defines the cost items which determine the project budget – It helps structure the costing and monitoring processes and it reduces the risk of double accounting the same expenses spm - ©2014 adolfo villafiorita - introduction to software project management 6 Direct Costs Direct costs: costs related to the production of the project outputs Direct Costs for software projects – Personnel: * The salaries of people directly involved in the project (gross, not net!) – Materials and Supply * Costs of the material necessary to produce project outputs * Usually accounted if the project has specific needs – Hardware and software * Systems required for developing the system * Usually accounted if the project has specific needs – Travel, meetings and events – Other Costs * Books, Training, Renting equipment, … spm - ©2014 adolfo villafiorita - introduction to software project management 7 (Software) Project Costing Indirect Costs: expenses necessary to run the facility and make work actually doable Main cost elements for software development: – General Overheads * Office space costs (rent, heating,...) * Consumables * Standard equipment * Administrative Staff – Project Overheads * For larger projects, overheads directly accountable to a project spm - ©2014 adolfo villafiorita - introduction to software project management 8 Indirect Costs Computation Identification of the expenses contributing to the indirect costs Identification of a strategy to allocate indirect costs to a project – According to the effort (more effort = more indirect expenses) - Flat or proportional rate – According to the project budget (as a percentage of the project budget) On a regular basis – Assessment of the expenses incurred into in the previous year(s) – Estimation of the indirect expenses for the year(s) to come – Estimation of the effort which can produced – Determination of the overhead rate spm - ©2014 adolfo villafiorita - introduction to software project management 9 Personnel Costs: Gross vs. Net Employer € 60K ←GROSS! Retirement Funds Regional/National Tax National/Federal Tax Bonuses Salary Employee € 30K ←NET! spm - ©2014 adolfo villafiorita - introduction to software project management 10 Project Cost is... H Total number of hours for profile j PC Cost of profile j O Overhead of profile j C Cost Element i (e.g. hardware) spm - ©2014 adolfo villafiorita - introduction to software project management 11 Project Cost Project costs can be looked at from different “points” of view: – Cost Element Structure (how much do I need for hardware?) – Project Structure (how much do I need for “Writing Requirements”?) – Expenditure over time (how much do I need in 2014?) spm - ©2014 adolfo villafiorita - introduction to software project management 12 Managing Project Costs Goals and Means Goals – Ensuring that the money is available when it needs to be spent – Monitoring project expenditures so that the project remains within budget, or the appropriate actions can be taken when this is not the case Means – Definition of a baseline/cash flow (see next slides) – Expense Authorization – Expense book keeping (double entry accounting is quite fine) spm - ©2014 adolfo villafiorita - introduction to software project management 14 Project Costs and Project Structure WBS A1 A2 A1.1 A1.2 A2.1 A2.2 A2.3 CES1 Cost CES2.1 Cost CES CES2 CES2.2 Cost CES3.1 CES3 CES3.2 CES3.3 spm - ©2014 adolfo villafiorita - introduction to software project management 15 Project Costs and Time Q1 Q2 Q3 Q4 Total Expenses Expense 1 € 10,000 € 30,000 € 50,000 € 10,000 € 100,000 Expense 2 € 20,000 € 40,000 € 60,000 € 120,000 Total Expenses € 30,000 € 70,000 € 110,000 € 10,000 € 220,000 Incomes Payment € 50,000 € 200,000 € 250,000 Total Incomes € 50,000 €0 €0 € 200,000 € 250,000 Balance € 20,000 -€ 70,000 -€ 110,000 € 190,000 € 30,000 Financial Need -€ 50,000 -€ 160,000 spm - ©2014 adolfo villafiorita - introduction to software project management 16 Project Costs and Time Planned Name Time Cost A 1000 A B 2000 B C 400 C A 1000 500 500 B 2000 1000 1000 C 400 100 100 100 100 Total 500 1500 1100 100 100 100 Cumulative 500 2000 3100 3200 3300 3400 4000 3400 3100 3200 3300 3000 2000 2000 1000 500 0 M1 M2 M3 M4 M5 M6 spm - ©2014 adolfo villafiorita - introduction to software project management 17 Project Costs and Time Early Start Total costs Total Costs Late Start Time Time Banana Shape spm - ©2014 adolfo villafiorita - introduction to software project management 18 Expenditure/Load Profile In general we assume workload distributes uniformly during an activity: – A resource working in an activity requiring 40 hours of effort and 1 week of duration is assumed to work 8 hours per day. However, this is not necessarily the case, and different profiles can be defined for effort and expenditure: front-end linear back-end loaded distribution loaded 1 month 1-month activity up-front credit payment spm - ©2014 adolfo villafiorita - introduction to software project management 19 Expense Authorization Project management and financial management are usually allocated to different structures According to the organizational structure, the power to authorize expenditures and payments might be solely on the project manager or require a more complex workflow. Rules take into account aspects such as: – funds availability – whether the required expense is budgeted or not – the amount of money (expenditures higher than a threshold might require a special authorization) spm - ©2014 adolfo villafiorita - introduction to software project management 20 Expense Authorization: an Example Project Area Finance Procurement Manager Head request purchase confirm availability request quote quote? quote approve quote yes/no request authorization yes/no yes/no purchase decrease order availability actual expense fix availability current availability spm - ©2014 adolfo villafiorita - introduction to software project management 21 End of period Report At the end of each reporting period, documentation is produced about a project financial status Two information are available: – Budgeted expenditure vs. actual expenditure – Expenditure accounting The information is used in different ways: – To analyze deviations (what differences there have been) – To confirm/update projections to end – To evaluate project health and take appropriate actions spm - ©2014 adolfo villafiorita - introduction to software project management 22 The Workflow Budget Y1 Y2 Y3 Expected Personnel 4000 5000 3000 Hardware 1000 2000 Expenditures Subcontracting 1000 6000 … Budget Y1 Y2 Y3 Actual Personnel 3000 5000 3000 Hardware 500 2000 Expenditures Subcontracting 1000 6000 invoices ledger … Budget Y1 Y2 Y3 Personnel 5000 4000 3000 End of Period Hardware 500 1000 Report & Revision Subcontracting 1000 6000 report … spm - ©2014 adolfo villafiorita - introduction to software project management 23 What information you are interested in Budget: the amount initially budgeted Transfers: the variations performed on the budget Actual: the amount actually spent Budget Budget Variations New Spent Available Personnel 4000 +2000 6000 5000 1000 Hardware 3000 -2000 1000 0 1000 Subcontracting 1000 1000 400 600 spm - ©2014 adolfo villafiorita - introduction to software project management 24

Use Quizgecko on...
Browser
Browser