Project Management Projects involve balancing the following: • Time • Cost • Quality • Scope Project management is about making that happen. 1 Problems with software project management • Software is intangible – What is 90% complete? • The process is still not standardised • Software is complex and varied • Many projects cannot easily be compared to any previous one – How many people build air traffic control systems? – Whose process control is the same as another? – Different companies are tied to different hardware and different tools 2 Aspects of project management • Plan the project – Create Project Plan, and other management documents such as • Quality plan - quality procedures and standards • Validation plan - approach, resources and schedule • Configuration Management plan - CM procedures and structures • Maintenance plan - requirements/costs and effort • Staff Development plan - developing team member skills and experience • Monitor project • Control/Problem solving 3 Likely Structure for Project Plan • • • • • • • Introduction / overview Organisation of the project Risk analysis Hardware and software resource requirements Work breakdown Project schedule Monitoring and reporting mechanisms 4 Steps to fill in the Project Plan Work breakdown and scheduling are the hard parts and need the following steps: 1. Decide on activities 2. Identify dependencies between activities 3. Schedule the activities over time 4. Decide on milestones and deliverables 5. Allocate resources to the activities 5 Planning (1) : Activities • You need to identify activities involved in the project – Major activities, such as requirements analysis, design analysis. – Minor activities, such as the activities used to produce a document: • • • • • • • • Prepare Internal review Walkthrough Modify QA check after modification Formal Review Modifications Approval by customer • Label all major activities with name and reference ID 6 Planning (2) : Identify Dependencies ASK: What activities cannot be started until others are completed? OR What activities cannot be completed until others are completed? Task ID Depends on T1 T2 T3 T1 T4 T2, T3 T5 T4 7 Planning (3) : Project Scheduling • Scheduling is very difficult – Need to estimate time, resources – Need to organise them into a sensible sequence. – This can be difficult if no experience of a similar project • Issues of different hardware/languages etc. • Estimates need to be revised in light of experience – Project plan is a dynamic document • Need to allow for other issues: – Illness, staff leaving, hardware faults, late delivery of tools/data, holidays 8 Planning (3) : Project Scheduling (continued) • Estimating resources required – – – – Human effort Disk space Travel / subsistence Special equipment • Usual output is an bar chart - sometimes called a Gantt chart 9 Planning (4) - Milestones, Deliverables • We must have some way to measure progress • It can be done by identifying important milestones Milestone : end point of some activity • You will be able to see if you have completed the activity • There should be a report to management (possibly short) • Each milestone needs to be at some logical point - e.g. not partway through coding. • Not all activities need to end in a milestone – Avoid milestones being too frequent – Avoid milestones being too infrequent Deliverable : a result delivered to the customer (documents, beta versions, final version, … ) 10 Planning (5) : Resource Allocation • Try to allocate sensibly – Bar chart with the people named – Looking for gross allocation clashes (people can only spend 100% of their time; a machine can’t be in Coventry and Detroit) • There are two important types of dependencies in a plan: – Logical/task dependencies – Staff dependencies • Update resource allocations in light of experience – May change schedule to overcome problems • Can get an allocation profile/staff allocation chart - this can be produced automatically 11 Task List/Time Estimates Task Est. Time Dependencies T1 8 T2 15 T3 5 T1 T4 10 T2, T3 T5 12 T4 12 Task Est. Time Dependencies Tools for PM Activity Chart or Task Chart 8 days T1 T2 T3 T4 T5 8 15 5 10 12 T1 T2, T3 T4 5 days T3 T1 Start 10 days 12 days T4 T5 Finish T2 15 days critical path Often drawn with tasks and durations ON lines rather than at end of lines Comments on Activity Charts • Critical path (CP) is the minimum time to finish the project - the longest path in the activity chart • Slippage will cause project delays if task on CP • Slippage of tasks not on CP may not cause delays. • A more sophisticated version of the activity chart is known as the PERT chart – Same type of info, but milestones are boxes and activity/duration are on the links – Makes pessimistic/likely/optimistic estimates – Leads to many critical paths - need specialised tools for chart analysis • These charts can provide insight to dependencies that are not intuitively obvious 14 Tools for PM - Bar Chart (Gantt chart) 3/8 10/8 17/8 24/8 31/8 7/9 14/9 21/9 Start T1 T2 T3 M1 M2 T4 M3 T5 Finish Activity charts and Bar charts • Activity charts show interrelationships between tasks • Bar charts show activity duration and tasks that run concurrently. Also associated with dates – Shaded area shows length of time a task/activity can slip before affecting project completion time • The two types of chart are complementary in nature can generate bar chart from activity chart • Best to use a project scheduling tool to create activity and bar charts • These schedules need to be updated in the light of experience during the project 16 Staff allocation charts Used in addition to Activity and Bar charts – – – – Based on bar charts Look for overloads Look for unreasonable gaps Look for unreasonable overall workload/too light a workload for particular people 17 Warnings to consider when planning • A plan is only useful if it reflects reality and is achievable – Need to manage staff morale – Need to manage user expectations • Consider all activities during the project, but simplify for bar chart • Project Managers can be mesmerised by the plan produced with a tool: – Changing the plan only works if you do something to influence reality – Change can have a negative effect 18 Project monitoring • Project manager should monitor against plan constantly – Difficult to gauge progress on large tasks (so breaking them down helps) – Key monitoring opportunity is weekly meeting and at milestones • Given information, the manager needs to assess if there is potential for slippage • Decisions/actions need to be recorded • Major changes should be reflected in the project plan 19 Project Control/Problem Solving • Try to catch up slippage – May mean swapping staff around – Beware of adding new staff – Look for specific skills • Re-negotiate to change the scope of the task/project – May be contractually bound • Revise plan – Possibly change tasks to remove them from critical path – Can tasks be decomposed to allow progress? Be careful! • Improve resources if necessary / helpful • Deal with staff that are not performing 20 Example plan - Dougal Project • Over half a million pounds of effort • 10 man years over 3 elapsed years • Especially complex in first year where 6 man years are spent • Task One (four man years during first year) planned as a separate project for political reasons 21 Project Bar Chart for Dougal Project YR1 QR1 Work package 0: Co mpil atio n of ind ustrial case stud ies WP0.1: Identificati on o f case stud ies WP0.2: Com pila tion of mate rial WP1: Numeri cal si mula tion for design anal ysis WP1.1: Detaile d de sign WP1.2: Java/Sa ber s imul atio n in terfa ce WP1.3: Si mula tion with fail ure m odes WP1.4: FMEA resu lt g enera tion WP1.5: Function al l abel screens WP1.6: Interp retin g qu anti ze d valu es WP1.7: Eval uati on a gain st case stu dies Work package 2: Whol e vehicle qual itative si mula tion WP2.1:In ve stig atio n of effective si mula tion WP2.2: Identificati on o f be st tech niqu es WP2.3: Imple mentatio n of prom isin g te chn ique s WP2.4: Com paris on o f effectivene ss o f te chn ique s Work package 3: Whol e vehicle design anal ysis WP3.1: Imple mentatio n of whole vehicle FMEA WP3.2: Imple mentatio n of whole vehicle snea k circuit WP3.3: Imple mentatio n of whole vehicle ye llowbo ardin g Work package 4: Whol e li fecycle d esi gn a nalysi s WP4.1: Study of iss ues WP4.2: Imple mentatio n of software Work package 5: Mi xed gran ulari ty sim ulation WP5.1:In ve stig atio n of mixed gran ulari ty sim ulation WP5.2: Identificati on o f be st tech niqu es WP5.3: Imple mentatio n of prom isin g te chn ique s WP5.4: Com paris on o f effectivene ss o f te chn ique s Work package 6 Mixed granu larity d esi gn a nalysi s WP6.1: Imple mentatio n of mixed gran ulari ty FMEA WP6.2: Imple mentatio n of mixed gran ulari ty sne ak circuit WP6.3: Imple mentatio n of mixed gran ulari ty yello wb oardi ng Work package 7: Eval uati on a gain st case stud ies WP7.1: Eval uati on o f whol e vehi cle too ls WP7.2: Eval uati on o f mi xe d gra nula rity to ols Key: YR1 QR2 YR1 QR3 YR1 QR4 YR2 QR1 YR2 QR2 YR2 QR3 YR2 QR4 YR3 QR1 YR3 QR2 YR3 QR3 YR3 QR4 M1 M2 = Staff funded by Ford m oney = Richard Shipm an = A. N. Other = Both R.A.s M6 M3 M4 M5 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 Example milestones for Dougal Milestone 1: A documented list of relevant schematics, and identified testing criteria. There will be a document containing a list of circuit designs. For each circuit, the reasons why they present a problem for the state of the art will be provided, along with the expected results. The circuits will be provided as CAD files.Date of delivery: End of month 3 of project. Milestone 2: A detailed design for a numerical based design analysis system. This design document will provide a description for the software to be developed during the rest of workpackage 1. Date of delivery: End of month 3 of project. Milestone 3: Report on the evaluation of the numerical simulator based design analysis system. At the end of this task, software will be available which can use a numerical simulator as a basis, and produce analysis results of the calibre of those produced by AutoSteve for qualitative simulation. A report will be produced describing how well the new software handles the case studies that were identified as problems for AutoSteve. During months 11, 12, the software will also be evaluated by the industrial partners, and results of that evaluation will also be included in the report. Date of delivery: End of month 12 of project. Milestone 7: Whole vehicle FMEA. This task should deliver FMEA generation software capable of working on the complete circuitry of a car and producing useful FMEA results. This should be tied to whole system level results (rather than be a compilation of all lower level results – an example would be investigation of ground stud losses).Date of delivery: End of month 14 of project. 23 Monitoring for Dougal • Weekly meeting of all internal staff – Review of progress – Identification of potential problems / actions – Targets for the coming week • Monthly report to customers – Summary of progress – Issues for discussion with customer – Telephone conversation between related parties • Three monthly project meeting – Longer report – New version of project plan (if necessary) 24 Software Cost Estimation • How do I tell how much effort is required to build a specific piece of software? – experience – experiment – techniques such as function point analysis • How much calendar time is required? • What is total cost of project? Inc. non-staff costs: – Hardware + software – Travel and training – Effort costs (staffing) 25 Calculating Costs for Staff • Total cost of a member of staff includes: – – – – – Heating and lighting Support staff Networking and communications Central facilities (library etc.) Costs of illness, holidays, idle time, pensions, health plans, etc. • Most companies do not charge customers directly for all of these things - they factor in an overhead cost • Prices may also be affected by other organisational factors… 26 Pricing Factors • Market Opportunity – You might pitch your price low to enter the market • Cost Estimate Uncertainty – Uncertain of cost, so increase price above normal profit • Contractual Terms – Give the developers rights to code, possibility of selling/reuse • Requirements volatility – If reqs. are likely to change, price low and charge for changes. • Financial Health – Lower price if in financial difficulty, better to stay in business. • “Get lost” price – Too much work on. Price high to make it worth your while 27 What we said at start: • Project management is a compromise, about achieving a satisfactory result in terms of: • • • • Time Cost Quality Scope • “Satisfactory” should mean satisfactory to our company AND satisfactory to our clients 28