Time Management II http://lbgeeks.com/gitc/pmtime.php June 5, 2008 Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 1
Outline Scheduling Methods Finding the Critical Path Scheduling Documentation Summary Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 2
Scheduling Methods Introduction Deadline Scheduling Priority Scheduling Sequence Scheduling Quantum Scheduling Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 3
Scheduling Introduction Parallel between project and real time operating system scheduling Some tasks must complete before a deadline: Completing late causes failure Various levels of failure severity Some tasks must be performed in a specific sequence Schedule other tasks for maximum throughput Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 4
Deadline Scheduling Task scheduled based on deadline EDF: earliest deadline first LSF: least slack first EDF produces feasible schedule Rate monotonic (RM) schedule: Tasks have deadlines Priority corresponds to frequency or slack Higher priority tasks take less time RM produces optimal schedule Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 5
Priority Scheduling Goal: get most work done per day SJ(T)F: shortest job (task) first Print queue example: for jobs ready at same time, which should run first? Useful for personal time management: Do unpleasant, important, quick tasks first Rest of time devoted for project work Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 6
Sequence Scheduling Apply most resources at same time Identify constraints preventing activities (or tasks) from running in parallel: Resource contention Precedence order Partition or sequence tasks so people work independently without conflict Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 7
Quantum Scheduling Get most use of time-bounded resources Share among multiple consumers Each consumer receives a time slice called a quantum Consumer gets dedicated use of resource during quantum interval Used with other methods: Consumer selection can be priority Or can be simple sequence, round robin Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 8
Finding the Critical Path Definition Diagram Schedule Compression: Crashing Fast tracking Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 9
Critical Path Definition Sequence of tasks where: All must be completed exactly on time If not, project will be delayed Output from at least one task is required input to another May be expressed as network flow or slack graph Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 10
Critical Path Diagram 1 of 2 6/16 6/30 Code Tables 7/1 7/15 Unit Test Tables 6/1 6/15 6/16 7/10 7/16 8/15 8/16 8/31 Software Design Code GUI Unit Test GUI Software Test 6/20 7/15 7/20 8/10 Code Logic Unit Test Logic Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 11
Critical Path Diagram 2 of 2 6/16 6/30 Code Tables 7/1 7/15 Unit Test Tables 6/1 6/15 6/16 7/10 7/16 8/15 8/16 8/31 Software Design Code GUI Unit Test GUI Software Test 6/20 7/15 7/20 8/10 Code Logic Unit Test Logic Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 12
Schedule Compression Crashing: Consume more resources in less time Sometimes produces more value Example: lease additional computer Fast tracking: Start dependent tasks before precedents fully complete Fractional increase in parallelism Difficult to manage High risk Example: start coding before design ends Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 13
Scheduling Documentation Work Breakdown Structure Gantt Charts Milestone Charts Time Scaled Diagrams Project Management Software Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 14
Work Breakdown Structure Defines work independent of time Tree structure showing allocation of effort to planned outcomes 100% effort allocated to top level element No overlap between elements Terminal elements: Atomic, not logically divisible, one person Completed quickly, without interruption Estimated completely, realistically Work packages group terminal elements Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 15
Work Breakdown Structure Example See http://en.wikipedia.org/wiki/image:wbsconstruction.png Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 16
Gantt, Milestone Charts Gantt: Map time on work breakdown structure Shows terminal elements in time order May show network dependencies Horizontal bar graph X axis as time, Y axis as terminal elements Percent complete and today line Milestone: Same but shows time mapped on milestones Used to document overall project state Shows actual and estimated progress Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 17
Gantt Chart Example See http://en.wikipedia.org/wiki/image:ganttchartanatomy.png Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 18
Milestone Chart Example Jan Feb Mar Apr May Jun July Aug Sep Oct Nov Dec Project Start City Approval Contracts Let Foundation Structure Today Utility Interior Occupy Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 19
Time Scaled Diagrams SD CT UT CG UG ST CL UL 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SD = Software Design ST = Software Test CT = Code Tables UT = Unit test Tables CG = Code GUI UG = Unit test GUI CL = Code Logic UL = Unit test Logic Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 20
Project Management Software Projity Open Project Open source MS Project clone http://www.openproj.org/product-overview Gantt Project Imports MS Project Generates other charts from Gantt http://ganttproject.biz We will use this software to complete course lab assignments Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 21
Summary Projects conduct activities using resources Estimates attempt to predict cost and time used during project Project time management requires basic understanding of graph theory Graphs can help us measure cost, time of multiple alternatives Specialized software produces project management specific documentation Copyright 2008, Jason Paul Kazarian. All rights reserved. Page 22