Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scheduling Work I love deadlines. I love the sound they make as they fly by. -- Douglas Adams.

Similar presentations


Presentation on theme: "Scheduling Work I love deadlines. I love the sound they make as they fly by. -- Douglas Adams."— Presentation transcript:

1 Scheduling Work I love deadlines. I love the sound they make as they fly by. -- Douglas Adams

2 Why is software late?  Under-Estimate of effort.  Unrealistic deadlines imposed by outsiders.  Changing requirements.  Risks that were not considered.  Technical problems that could not be foreseen.  Failure to recognized that the project is falling behind schedule and lack of action to correct the problem. Software Engineering : A Practitioner’s Approach by Pressman

3 How to build a schedule: 1. Determine dependencies of activities found in WBS. 2. Use dependencies to build activity network diagram (eg PERT). 3. Determine critical path. 4. Map network to a timeline (eg Gantt Chart) using the effort estimates. Use a software tool to help do this work.

4 Why Determine Dependencies? Dependencies determine deadlines and when work can begin. The WBS shows hierarchy, not dependency. Planners must find all dependencies. Surprises are very bad!

5 Dependency Types External Dependency Other projects Stakeholders Sub-Contractors Internal Dependency Audits (design, testing, documentation, …) Sign-Offs at end of phase

6 Dependency Types S tart F inish FS - T2 cannot start until T1 is finished. coding must wait on design to be finished SS - T1 and T2 must start at same time. documentation and coding start together FF - T1 and T2 finish at same time. configuration management ends when coding is done

7 Dependency Types Lag – T2 cannot start until a given amount of time after T1 is done. Start on-site training one week after final demo to customer management group. Soft – T2 should start after T1, but it is not completely essential that T1 be finished. Populate the new database after the database has been built. If the new database is not completely finished we can still populate the few finished tables.

8 Activity Networks CPM – Critical Path Method activities are graph nodes (circles) single estimate for duration of tasks PERT – Program Evaluation and Review Technique activities are graph arcs (lines) activity times are ranges and include probabilities

9 http://www.cs.unc.edu/~stotts/COMP145/homes/map/images/pert.gif

10 http://www.mckinnonsc.vic.edu.au/la/it/ipmnotes/ganttpert/pert_chart.gif

11 Example Activity Network – Activity on Node T1 T2 T3 T4T6 T5 T7 T8T9 1wk 2wks 4wks 3wks 1wks 1wk 3wks 2wks1wk Questions: Minimum time to complete the project? Critical Path? For T2, what are the earliest start time, latest start, earliest finish, latest finish? es=2 nd wk ls=4 th wk ef=3 rd wk lf=5 th wk

12 Resulting Gantt Chart 1234567891011121314 T1 T2 T3 T4 T5 T6 T7 T8

13 Managing Uncertainty Q: How confident can we be in our milestone dates and the delivery date? A: Using confidence and Statistics for each task, determine pessimistic and optimistic times if PT-OT is small for all tasks, then great!!! compute average PT-OT, and std dev if a task's PT-OT is outside the std dev, worry about that task

14 Managing Uncertainty Q: Where do we schedule uncertainty time? A1: spread it out by bumping each milestone. used by Critical Path A2: lump it together as one activity at end. used by Critical Chain

15 Common PERT Problems Missing dependencies Misinterpretation

16 Example K – integration testing L – Install Software M – Write Manual N – Train Users 34521 K L MN

17 Example K – integration testing L – Install Software M – Write Manual N – Train Users But wait, we can shorten the project if we write the manual right after testing is finished. (L and M can be done in parallel.) So… 34521 K L MN

18 Example K – integration testing L – Install Software M – Write Manual N – Train Users But wait, the system needs to be installed before we can use it to train people. So… 3 45 21 K L M N

19 Example K – integration testing L – Install Software M – Write Manual N – Train Users But what is that activity between dates 3 and 4? So… 3 4 5 21 K L M N

20 Example K – integration testing L – Install Software M – Write Manual N – Train Users Dashed line is a dummy activity. 3 4 5 21 K L M N

21 Example Note: dummies not needed with "activity on node" graphs. K N M L K – integration testing L – Install Software M – Write Manual N – Train Users

22 Resource Leveling Activity Shifting to avoid using resources during a peak time. use slack in start and end dates Activity Splitting to shorten duration break activity into pieces when more resources are available Optimize the System, not individual tasks Leveling usually yields longer projects

23 Example What is the completion time? Since F is so long, what would be the completion time if we break it into two parallel parts of 2wks and 3wks? A 3wks B 2wk E 2wks C 2wks F 5wks G 3wks H 3wks I 2wks D 2wks

24 Theory of Constraints “The Goal” by Goldratt in 1997 Traditional approach is to divide and divide into manageable parts, then optimize these parts. TOC looks at the whole system. 1.Identify: In order to manage a constraint, it is first necessary to identify it. 2.Exploit: Focus on how to get more production within the existing capacity limitations. 3.Subordinate: Prevent the materials needed next from waiting in a queue at a non-constraint resource. 4.Elevate: If, after fully exploiting this process, it still cannot produce enough products to meet market demand, find other ways to increase capacity. 5.Go back to Step 1.

25 Scheduling Tools Gantt Chart producers MS Project Web access Supports multiple projects Dependencies Billing support Resources leveling Gantt charts, activity network, …

26 MS Project

27 Open WorkBench

28 ATC Professional

29 And finally…


Download ppt "Scheduling Work I love deadlines. I love the sound they make as they fly by. -- Douglas Adams."

Similar presentations


Ads by Google