480 likes | 859 Views
Introduction to Project Planning. F29SO1 Software Engineering. Monica Farrow EM G30 monica@macs.hw.ac.uk www.vision.hw.ac.uk. Topics today. Work Breakdown Structure Gantt Charts Network Techniques Critical Path Spare time MS Project Resource planning Words of wisdom. Why Plan?.
E N D
Introduction to Project Planning F29SO1 Software Engineering Monica Farrow EM G30 monica@macs.hw.ac.uk www.vision.hw.ac.uk SO1 : Project Management
Topics today • Work Breakdown Structure • Gantt Charts • Network Techniques • Critical Path • Spare time • MS Project • Resource planning • Words of wisdom SO1 : Project Management
Why Plan? • To predict the start or end point of the project • To enable communication • To highlight problems early • To help manage risk “If you don't plan to succeed, then plan to fail” anon. SO1 : Project Management
Work Breakdown Structure (WBS) • It is normal to get overwhelmed and confused when beginning to graps the details of even a modest sized project • WBS - A results-organised family tree, the work is split into manageable, logical packages • Make sure packages can be tested for completeness • Moving post-its around on white/black boards can be useful in early discussions. SO1 : Project Management
Simplistic WBS Stock Control System Requirements Design Implement Integrate Maintain ... Build GUI Build Logic Build Database • No concept of time here. • WBS will often reflect the chosen SDLC/methodology • Should show ALL tasks (including management ones) • Tasks should not overlap ... ... SO1 : Project Management
Plans Need Tasks & Tasks Need Durations • Brainstorm tasks • Subdivide tasks ‘til each is about 1 or 2 weeks in duration • If you can get down to days then great, but beware of the need for contingencies (what’s a contingency?) • Tasks (Do not copy these! You are all different): • Hand in deliverable 1 (0 days) - A MILESTONE! • Develop GUI (10 days) • Have ridiculously long Xmas holiday (1 day) • … SO1 : Project Management
Milestones • Periodic stages in the project where something measurable should have been achieved. • Highlight these in the plan. • The achievement is usually a deliverable, such as a report or prototype • Too often -> they become millstones. • Too seldom -> they become worthless. • Temper both optimism and pessimism. SO1 : Project Management
Gantt Charts • Named after Henry Gantt. • Around since 1st World War SO1 : Project Management
Gantt Charts • Each activity is an element in the WBS • Can show critical path • Explained on later slides • But not great at showing task precedence • Easy for novices to construct and interpret SO1 : Project Management
Dependency/Precedence Relationships • Describe what activities must be done before another activity can take place • Boil kettle before adding water to cup • Pick up hand set before dialling number • Buy computer system before installing it. SO1 : Project Management
Dependency/Precedence Relationships in Gantt chart SO1 : Project Management
Critical Path • The chain of sequential activities that determines the minimum time required for the project. • Passes through activities with least float (spare time) • To examine critical paths and float, we’ll look at network techniques SO1 : Project Management
Network Techniques • Easier to construct than Gantt charts. • More difficult for novices to interpret. • Often paper based during early planning activities - easily follows from WBS. • Does not rely on your knowledge about task duration. • Does rely on your logical understanding of the order in which tasks are carried out. SO1 : Project Management
Network Techniques • PERT - Project Evaluation and Review Technique • Network based aid for planning and scheduling related tasks in a large and complex project • US Polaris 1958 • Captures precedence (walls before roof) and parallel tasks (painting inside and outside – can be done together) • Activity-on-Arrow (AoA) • Easier to construct on paper • Activity-on-Node (AoN) • Used in many software packages (eg PERT diagrams in MS-Project) • Can be drawn manually in MS Visio SO1 : Project Management
Network Techniques • Activity-on-Arrow (AoA) Find Pencil Make Drawing 1 3 4 1 mins 10 mins Find Paper • Event 3 dependent on 1 & 2 • Takes 1 minute to find pencil • Where is the slack here? 2 2 mins SO1 : Project Management
Network Techniques • Activity-on-Node (AoN) • B depends on A • A takes 21 days • B starts 5 days after A is complete • (-5 would indicate overlap) 5 B 9 A 21 SO1 : Project Management
Example AoA- Build the network C T3 T4 15 4 T1 start A T8 T2 T7 10 finish D E 2 8 5 T5 T6 7 5 F SO1 : Project Management
Calculate Critical Path – longest path C T3 T4 4 15 T1 start A T8 T2 T7 10 finish D E 2 8 5 T5 T6 7 5 F • For each possible path through the network, calculate the time • Start – A – C – D – E – Finish = 10 + 15 + 4 + 5 2 = 36 • Start – A – D – E – finish = 10 + 8 + 5 + 2 = 25 • Start – A – F – E – finish = 10 + 7 + 5 + 2 = 24 • Longest time required is 36 -> this path is the critical path SO1 : Project Management
DURATION ACTIVITY T3 T4 T2 T1 T5 T6 T8 T7 5 15 8 7 10 5 2 4 The equivalent AoN diagram SO1 : Project Management
Finding the slack (float) • The next slides show how this diagram can be useful in more complex networks to show clearly • Where the slack (free time) is • Which is the critical path • First calculate the earliest possible start and finish times for each activity, by taking a Forwards Pass through each path, following the arrows: • The earliest start (top left) is previous ES plus current Duration • The earliest finish (top right) is current ES + Duration • The previous EF = the next ES, unless there is a junction • At a junction, choose largest previous EF - the next activity cannot start until all the pre-requisite activities have finished SO1 : Project Management
ES DURATION EF ACTIVITY FLOAT T1 T5 T8 T4 T6 T2 T3 T7 0 10 25 10 10 17 29 34 2 10 8 4 15 5 7 5 22 29 36 18 34 25 10 17 Forward Pass E = early L = late S = start F = finish SO1 : Project Management
Backward Pass • Next, calculate the latest start and finish times for each activity, by following each path backwards along the arrows • At the final activity only, set the Latest Finish (LF) = EF, then follow the arrows backwards • The earliest start (ES) = current EF - Duration • Other LFs = previous LS, unless there is a division of paths • At a division, choose smallest previous ES SO1 : Project Management
ES DURATION EF ACTIVITY LS FLOAT LF T5 T1 T4 T2 T6 T8 T3 T7 25 10 10 0 22 0 17 34 21 34 29 29 29 10 10 25 7 5 4 15 5 10 8 2 10 29 10 25 25 29 29 34 17 29 18 36 36 34 22 34 Backward Pass E = early L = late S = start F = finish SO1 : Project Management
ES DURATION EF ACTIVITY LS FLOAT LF Calculate the Slack (Float) • The slack or float is the spare time available for an activity • It is shown in the centre bottom panel • It is the difference between the latest possible finish and the earliest possible finish (LF – EF) SO1 : Project Management
ES DURATION EF ACTIVITY LS FLOAT LF T5 T7 T8 T1 T2 T4 T3 T6 29 29 22 0 34 0 10 10 34 10 21 25 17 25 29 10 0 0 5 2 0 10 0 15 11 4 5 0 12 12 8 7 29 10 10 25 25 29 29 34 18 29 36 17 36 22 34 34 Calculate the Slack (Float) E = early L = late S = start F = finish SO1 : Project Management
ES DURATION EF ACTIVITY LS FLOAT LF T5 T1 T8 T3 T2 T7 T4 T6 21 29 10 0 29 34 10 17 29 10 25 25 22 34 0 10 15 7 2 0 0 10 0 0 5 4 0 11 8 12 12 5 29 10 10 25 25 29 29 34 29 18 36 34 36 17 22 34 Finding the critical path E = early L = late S = start F = finish • The critical path is the one where • Float is always 0 • ES = LS and EF = LF SO1 : Project Management
ES DURATION EF ACTIVITY LS FLOAT LF T2 T6 T4 T7 T3 T5 T8 T1 10 10 0 10 0 34 25 34 29 10 22 21 29 25 29 17 15 7 4 0 2 0 5 5 0 11 8 0 12 12 0 10 29 17 25 29 36 34 34 25 18 29 10 34 10 36 22 29 Finding the free float E = early L = late S = start F = finish • Free float is the amount of time a task can be delayed before affecting the timing of the next task. • It’s only applicable to those tasks immediately preceding a junction SO1 : Project Management
ES DURATION EF ACTIVITY LS FLOAT LF T2 T6 T4 T7 T3 T5 T8 T1 10 10 0 10 0 34 25 34 29 10 22 21 29 25 29 17 15 7 4 0 2 0 5 5 0 11 8 0 12 12 0 10 29 17 25 29 36 34 34 25 18 29 10 34 10 36 22 29 Finding the total float E = early L = late S = start F = finish • Total float is the spare time available when all preceding activities occur at the earliest possible times and all succeeding activities occur at the latest possible times. • Same for all activities on an arc – could be split amongst them SO1 : Project Management
2 ES DURATION EF J ACTIVITY LS FLOAT LF 1 2 0 7 0 0 3 6 6 1 5 4 4 2 3 13 7 1 2 5 F E A D B C G H 5 I Another example ? Critical Path ? Float E = early L = late S = start F = finish start SO1 : Project Management
MS-Project • A widely used tool from Microsoft to help plan projects. • Available in most XP labs. • Far more functionality than you’ll need for your project. • Open a new, blank project • The column on the LHS provides excellent guidance • To see it, click on Tasks SO1 : Project Management
MS Project – data entry You create the links And add resources Enter startdate,tasks andduration – start andfinish times calculated SO1 : Project Management
MS Project Gantt chart Shows hierarchy, precedence, Resources, Milestones SO1 : Project Management
MS Project Network chart SO1 : Project Management
MS Project - schedule Right click in this box and choose Schedule Slack and late times are calculated automatically SO1 : Project Management
Final thoughts on MS Project • All sorts of reports exist – experiment with them • Use ZoomIn, ZoomOut buttons to change scale of chart • Use Gantt chart wizard to change appearance • When printing, think very hard about what is actually useful e.g. • A one-page overview and then more detailed pages is useful • For Gantt charts going over 1 page, use Print Preview : View tab and tick to print some columns on each page SO1 : Project Management
Resource Management • Examples of resources: • technicians • designers • computer time • cash • tradesmen • vehicles • machines SO1 : Project Management
Problems with Resources • usually limited (finite) • can’t work on everything at the same time • are only available at certain times • have other commitments • have an associated cost • can get sick, go on strike, break down, etc SO1 : Project Management
Resource Management • The quotation here will also apply to other resources, such as hardware, software, etc. In most cases, managers will have to settle for a less-than-ideal project team – due to budget, availability, and training issues. Sommerville, SE8 SO1 : Project Management
Scheduling & Resources • Previously we assumed that we had enough (infinite) resources to complete tasks. • Two extreme cases: • Fixed project time scale and infinite resources (time limited scheduling) • Fixed resources, but project duration is flexible (resource limited scheduling) • Most projects are somewhere in-between. SO1 : Project Management
Resource Limited Scheduling • Example • Only 2 people available • Each activity lasts 5 days • A needs 2 staff, B & C need 1. • No dependencies. • How best to organise this? SO1 : Project Management
Time Limited Scheduling • Example • The time for a Project can only last 10 days • Each activity (A,B,C) lasts 5 days • A needs 2 staff @ 5 days each , B & C need 1. • C depends on A & B, B depends on A. • How best to organise this? SO1 : Project Management
Time & Resource Limited Scheduling • Example • A needs 2 staff, B & C need 1. • Only 2 people available. Project can only last 10 days. • Each activity lasts 5 days • C depends on A. • How best to organise this? SO1 : Project Management
Pragmatic Realities • All projects are unique • None will run exactly to plan • All involve people • Project Management involves change and decision making - people like neither! • Dilbert said “Change is good. You go first!” • A structured approach & tools make things easier • Do not be a slave to your plans • They should be living artefacts • Change them as necessary SO1 : Project Management
Group Project Scheduling • You are time and resource limited. • Resource effort is diluted. • Difficult to predict task durations in software development – estimating needed. • Therefore: • Make reasonable guesses and refine these constantly as project progresses. • Build in contingencies. • Be prepared for late night heroics! SO1 : Project Management
Answers • Time limited scheduling • Project will take 15 days, can improve by adding in more staff if available / will make a difference • Resource limited scheduling • do B & C together before or after A. Shortest possible time is 10 days • T & R limited • Do A first, then 1 each on B & C simultaneously SO1 : Project Management