Project Management Project Planning Estimating Scheduling Project plan Define project constraints Make initial assessment of project parameters Define project milestones and deliverables Incrementally apply the project management process loop Loop – – – – – – – – Draw up project schedule Initiate activities according to schedule Wait awhile review project progress revise estimates of project parameters apply revisions to project schedule re-negotiate project constraints and deliverables if problems arise, initiate technical review and possible revision until project completed or cancelled Project Planning / Scheduling Project milestones – Stage deliverables Option Analysis – Determine organization and project specific goals – Determine project options – Map options against goal fulfilment – Convert to polar graphs Option analysis Reliability Schedule Reuse Option A Option B Option C Cost Portability Efficiency Project scheduling Separate total work into tasks – Requirements analysis : coding : testing is 2:1:2 Work out tasks, timings and dependencies – make out activity network / activity bar chart PERT charts – include pessimistic, likely and optimistic estimates Show critical path (i.e. shortest time) Staff allocation is also necessary Critical Path Analysis This is used to determine how long the project overall will take. The activities involved in the project are defined and then sequenced. The sequence of the activities is determined by the dependencies in the project. Activity Sequencing Involves reviewing activities and determining dependencies. – Mandatory dependencies: inherent in the nature of the work; hard logic. – Discretionary dependencies: defined by the project team; soft logic. – External dependencies: involve relationships between project and non-project activities. You must determine dependencies in order to use critical path analysis. Project Network Diagrams Project network diagrams are the preferred technique for showing activity sequencing. A project network diagram is a schematic display of the logical relationships among, or sequencing of, project activities. Sample Network Diagram Step 1 Find all of the activities that start at node 1. Draw their finish nodes and draw arrows between node 1 and those finish nodes. Put the activity letter or name and duration estimate on the associated arrow. Step 2 Continuing drawing the network diagram, working from left to right. Look for bursts and merges. – Bursts occur when a single node is followed by two or more activities. – A merge occurs when two or more nodes precede a single node. Steps 3 and 4 Step 3. – Continue drawing the project network diagram until all activities are included on the diagram that have dependencies. Step 4. – As a rule of thumb, all arrowheads should face toward the right, and no arrows should cross on the network diagram. Example – Make a cup of tea Activities: – Get a cup. – Fill the kettle. – Pour the tea. – Put a teabag in the teapot. These activities are in the wrong sequence, because, we cannot pour the tea until the teabag and the boiling water have been in the pot for a couple of minutes. All activities? Not all activities are documented: – – – – Get a cup. Fill the kettle. Pour the tea. Put a teabag in the teapot. We need to get a teapot and milk. We need to boil the kettle. We need to allow the tea to draw. Sequencing the activities 1. Fill the kettle.(20 sec). 2. Put the kettle on to boil (2 sec). 3. Get a teapot (7 sec). 4. Get a cup (4 sec). 5. Get milk (10 sec). 6. Get teabags(3 sec). 7. Put boiling water and teabag into the teapot (15 sec). 8. Pour the tea(3 sec). Sequencing the activities 8 cannot be done until all of the other things have been done. 4 and 5 can be done any time before 8. 6 must be done before 7. 1 must be done before 2. 2 must be done before 7. 3 must be done before 7. Network path 2 1 20 sec 2 sec 3 Start 6 7 sec 7 3 sec 10 sec 5 4 4 sec 15 sec 8 Critical Path Method (CPM) CPM is a project network analysis technique used to predict total project duration. A critical path for a project is the series of activities that determines the earliest time by which the project can be completed. The critical path is the longest path through the network diagram and has the least amount of slack or float. Finding the Critical Path First develop a good project network diagram. Add the durations for all activities on each path through the project network diagram. The longest path is the critical path. Simple Example of Determining the Critical Path Consider the following project network diagram. Assume all times are in days. E=1 C=2 start 1 A=2 2 B=5 4 3 6 D=7 5 a.a.How Howmany manypaths pathsare areononthis thisnetwork networkdiagram? diagram? b.b.How Howlong longisiseach eachpath? path? c. Which is the critical path? c. Which is the critical path? d.d.What Whatisisthe theshortest shortestamount amountofoftime timeneeded neededtoto complete completethis thisproject? project? F=2 finish More on the Critical Path If one or more activities on the critical path takes longer than planned, the whole project schedule will slip unless corrective action is taken. Misconceptions: – The critical path is not the one with all the critical activities; it only accounts for time. – There can be more than one critical path if the lengths of two or more paths are the same. – The critical path can change as the project progresses. Critical Path T1 T5 M1 End T6 s tart T2 T3 M2 M3 M4 T tas k M Miles tone T7 T8 Software Cost Estimation Hardware costs Travel and training costs Effort costs can be calculated by – – – – – – – Algorithmic cost modelling Expert judgement Estimation by analogy Parkinson’s Law (whatever is there will be spent) Pricing to win Top-down estimation Bottom-up estimation Algorithmic cost modelling highly parameterised algorithms were originally based on no of lines of code now based on Function point analysis – External inputs and outputs – User interactions – External interfaces – Files used by the system