project management november 22, 2013. engineering economics macroeconomics operations research...
TRANSCRIPT
Project Management
November 22, 2013
Engineering Economics
Macroeconomics
OperationsResearch
Linear programmingPERT/CPM
Queueing Theory
Accounting
Project Management Tools:
Work breakdown structure: what there is to do
Gantt Chart: times to do things
Critical Path Method: dependencies; time/cost trade-offs
Work breakdown structure: what there is to do
E.g., “Prepare beans on toast”
Prepare Beans on Toast
Prepare Beans Prepare Toast Combine
Open Can
Place Beans in saucepan
Place Saucepan on stove
Light stove
Stir beans till warm
Slice bread
Place bread in toaster
Depress toaster button
Remove toast from toaster
Butter the toast
WBS activities should be mutually exclusive andcollectively exhaustive
The WBS allows us to calculate total project costand personnel requirements
It can include time estimates for each activity, butit doesn’t, by itself, allow us to calculate projectduration.
Task Start
End 9:00
9:02
9:04
9:06
9:08
9:10 9:12
1 Open can 9:00 9:01
2 Fill saucepan
9:01 9:03
3 Saucepan on stove
9:03 9:04
4 Light stove
9:04 9:05
5 Stir 9:05 9:10
6 Cut bread
9:00 9:01
7 Bread in toaster
9:01 9:06
8 Butter toast
9:06 9:07
9 Beans onto toast
9:10 9:11
A Gantt Chart for Beans on Toast
Task Start
End 9:00
9:02
9:04
9:06
9:08
9:10 9:12
1 Open can 9:00 9:01
2 Fill saucepan
9:01 9:03
3 Saucepan on stove
9:03 9:04
4 Light stove
9:04 9:05
5 Stir 9:05 9:10
6 Cut bread
9:00 9:01
7 Bread in toaster
9:01 9:06
8 Butter toast
9:06 9:07
9 Beans onto toast
9:10 9:11
Dependencies shown, but not self-evident
CPM: Two conventions
Start
Can Open
Bread cut
Beans on Toast Ready
Beans Ready
Toast Ready
Open Can
Slice bread
Toast Bread
Heat Beans
Beans onto toast
Dummy
AOA
AON Start
Open Can
Slice bread
Heat Beans
Toast bread
Beans onto toast
End
Finding the critical path
Start
Open Can T:ES: EF:LS: LF:
Slice breadT:ES: EF:LS: LF:
Heat BeansT:ES: EF:LS: LF:
Toast breadT:ES: EF:LS: LF:
Beans onto toastT:ES: EF:LS: LF:
End
Add notation: “T” = time, “ES” = Earliest Start, “EF” = Earliest Finish“LS” = Latest Start, “LF” = Latest Finish
Finding the critical path
Start
Open Can T: 1:00ES: EF:LS: LF:
Slice breadT:1:00ES: EF:LS: LF:
Heat BeansT: 5:00ES: EF:LS: LF:
Toast breadT:3:00ES: EF:LS: LF:
Beans onto toastT: 1:00ES: EF:LS: LF:
End
Fill in the times.
Finding the critical path
Start
Open Can T: 1:00ES:0 EF:1LS: LF:
Slice breadT:1:00ES: 0 EF:1LS: LF:
Heat BeansT: 5:00ES: EF:LS: LF:
Toast breadT:3:00ES: EF:LS: LF:
Beans onto toastT: 1:00ES: EF:LS: LF:
End
ES for the first activity is zero, EF is ES + T
Finding the critical path
Start
Open Can T: 1:00ES:0 EF:1LS: LF:
Slice breadT:1:00ES: 0 EF:1LS: LF:
Heat BeansT: 5:00ES:1 EF:6LS: LF:
Toast breadT:3:00ES:1 EF:4LS: LF:
Beans onto toastT: 1:00ES:6 EF:7LS: LF:
End
For subsequent activities, ES is max(EF of all upstream activities), EF is ES + T
Finding the critical path
Start
Open Can T: 1:00ES:0 EF:1LS: LF:
Slice breadT:1:00ES: 0 EF:1LS: LF:
Heat BeansT: 5:00ES:1 EF:6LS: LF:
Toast breadT:3:00ES:1 EF:4LS: LF:
Beans onto toastT: 1:00ES:6 EF:7LS: LF:
End
For subsequent activities, ES is max(EF of all upstream activities), EF is ES + T
Finding the critical path
Start
Open Can T: 1:00ES:0 EF:1LS: LF:
Slice breadT:1:00ES: 0 EF:1LS: LF:
Heat BeansT: 5:00ES:1 EF:6LS: LF:
Toast breadT:3:00ES:1 EF:4LS: LF:
Beans onto toastT: 1:00ES:6 EF:7LS: LF:7
End
The earliest finish of the final activity is also the latest acceptable finish for thefinal activity, assuming we don’t want the project completion to be delayed.
Finding the critical path
Start
Open Can T: 1:00ES:0 EF:1LS:0 LF:1
Slice breadT:1:00ES: 0 EF:1LS: 2 LF: 3
Heat BeansT: 5:00ES:1 EF:6LS:1 LF:6
Toast breadT:3:00ES:1 EF:4LS:3 LF: 6
Beans onto toastT: 1:00ES:6 EF:7LS:6 LF:7
End
Then we do a second, backwards, pass through the network, where for each node,LF is min(LS of all downstream nodes) and LS is LF - T
Finding the critical path
Start
Open Can T: 1:00ES:0 EF:1LS:0 LF:1
Slice breadT:1:00ES: 0 EF:1LS: 2 LF: 3
Heat BeansT: 5:00ES:1 EF:6LS:1 LF:6
Toast breadT:3:00ES:1 EF:4LS:3 LF: 6
Beans onto toastT: 1:00ES:6 EF:7LS:6 LF:7
End
The difference between EF and LF for a node is the slack for that activity
Slack = 2 Slack = 2
Finding the critical path
Start
Open Can T: 1:00ES:0 EF:1LS:0 LF:1
Slice breadT:1:00ES: 0 EF:1LS: 2 LF: 3
Heat BeansT: 5:00ES:1 EF:6LS:1 LF:6
Toast breadT:3:00ES:1 EF:4LS:3 LF: 6
Beans onto toastT: 1:00ES:6 EF:7LS:6 LF:7
End
Activities with no slack are on the critical path
Slack = 2 Slack = 2
Crashing a Project
Crashing an activity means spending more money in order to get it done faster
(Important note: This doesn’t always work – seeBrooks, “The Mythical Man-Month”)
It’s obviously a waste of money to crash any activity that has slack.
Crashing a Project
1. Assume linearity:
Crash cost – normal cost
Crash cost/ unit time =
Normal Time –Crash Time
2. Find minimum crash cost/unit time on the critical path
3. Reduce time as much as possible
4. Repeat
You own a start-up software company. You and your colleagues are planning the launch of a new computer.
“Before we can start designing the Mark II, we need to complete three steps: there’s the market research, which will take about six weeks, there’s about five weeks of technical research needed to identify the best chip set, and meanwhile we’re going to have to raise capital to pay for all of this – we should allow four weeks for that. The good news is that all those activities can go on independently. When they’re all complete, we’ve reached Milestone 1 and we can start working on the hardware and software.” “That’s a dependency – we can’t write the software till we’ve got a machine to run it on.” “There’s a way round that: we can emulate the Mark II on a Mark I machine. It won’t run as fast, but we can use it for debugging. So we can develop the pre-prototype hardware, which should take about twelve weeks, and write software on an emulated machine at the same time – we should be able to get that done in ten weeks. Once both those things are done, we’re at Milestone 2.”
“Once the pre-prototype hardware is done, we can adapt the software to run on it. That will take another twelve weeks. Meanwhile our hardware engineers can build the prototype Mark II. That’s going to be the longest step in the whole process – we’ll allow twenty-four weeks for that. And once those two steps are complete, we’re at Milestone 3.”
“Once we’re past Milestone 3, there’s a lot of things we can get started on. We can start designing the production version of the Mark II, and at the same time design the production tooling. Both those steps should take about sixteen weeks. We’ll also be in a position to release guidelines to applications developers, inside and outside the company. We can expect the first applications to be ready within twenty weeks, ideally just as the Mark II is put on the market.” “Milestone 3 is also the point at which we can start adapting the software to the prototype machine. Let’s allow eighteen weeks for that. ” “So when the production tooling and the production version of the Mark II are complete, and assuming the software for the prototype machine is ready by that time, we’ve at Milestone 4. Then all we’ve got to do is design the hardware packaging – call that a six-week job – adapt the software to the production version of the machine – allow twelve weeks for that – once the software is complete, we package that too, which shouldn’t take more than four weeks – and, as long as the applications developers are on schedule, we can put the machine on the market.”
Represent the project as a Gantt chart, and calculate the earliest possible finish date.
2.Represent the project using both an AOA and an AON network diagram. Note that it may be useful to use `dummy arcs’ to represent the dependencies between some activities 3.Using the AON diagram developed in 2, perform a critical path analysis and complete a table showing the slack for each activity.
First, the Activity-on-Arc representation. The arcs are labelled according to the table below. We use dummy arcs, indicated by grey lines, to indicate that one activity cannot begin before others are completed. The milestones correspond to the nodes labelled `M’.
We next construct the AON network. This time we’ll use square nodes, and provide them with labels ready for a CPM analysis.
We can now begin the CPM analysis. We start going through the diagram, filling in the earliest start times. We define the earliest we can start as time 0, so this goes into the first row of boxes. Then we add the duration times to get the earliest each activity can finish. When we get to the second row of boxes, we apply the rule that the earliest an activity can start is the latest that any of the activities it depends upon can finish. All of the boxes in the second row depend on all of the boxes in the first row, so the earliest any of them can start is 6 weeks into the project.
We carry on in this way till we get to the bottom of the diagram, where we find that the earliest we can finish the project is in 76 weeks, the same answer as we got from the Gantt diagram. Then we start working our way back up the diagram, this time using the rule that the latest any activity can finish is the latest that any of the activities that depend on it can start. This gives us the `LF’ entry, and the `LS’ entry is the value of the LF entry minus the activity duration. When we’re done, the diagram should look like this, where we’ve marked the critical activities in yellow and the critical path in red:
4.You discover that a rival company is planning to put out a product that will compete with the Mark II. Every week that you can shorten your time to market is worth $1 000 000 in increased sales. You know that each of the relevant activities can be shortened by a certain percentage, with per-week costs as follows:
What is your most profitable strategy?
Production Tooling: 16 weeksES: 42 EF: 58LS: 54 LF: 70
EndEF: 76LF: 76
Package Software: 4 weeksES: 72 EF: 76LS: 72 LF: 76
Production Software: 12 weeksES:60 EF:72LS: 60 LF:72
Package Hardware: 6 weeksES: 58 EF:64LS: 70 LF: 76
Production Hardware: 16 weeksES:42 EF: 58LS: 44 LF: 60
Step 1: Crash Software Packaging 2 weeks
Prototype Software: 18 weeksES:42 EF:60LS: 42 LF: 30
Develop apps: 20 weeksES:42 EF:62LS: 56 LF: 76
Production Tooling: 16 weeksES: 42 EF: 58LS: 54 LF: 70
EndEF: 74LF: 74
Package Software: 2 weeksES: 72 EF: 74LS: 72 LF: 74
Production Software: 12 weeksES:60 EF:72LS: 60 LF:72
Package Hardware: 6 weeksES: 58 EF:64LS: 68 LF: 74
Production Hardware: 16 weeksES:42 EF: 58LS: 44 LF: 60
Prototype Software: 18 weeksES:42 EF:60LS: 42 LF: 60
Develop apps: 20 weeksES:42 EF: 62LS: 54 LF: 74
Critical Path has not changed, but it’s shorter
Market Research: 6 weeksES: 0 EF:6LS: 0 LF: 6
Start
Technical Research: 5 weeksES:0 EF:5LS: 1 LF: 6
Raise Capital: 4 weeksES:0 EF:4LS: 2 LF: 6
Pre-prototype Hardware: 12 weeksES:6 EF:18LS: 6 LF: 18
Software on emulated machine: 10 weeksES:6 EF:16LS: 20 LF: 30
Step 2: crash market research 1 week
Market Research: 6 weeksES: 0 EF:5LS: 0 LF: 5
Start
Technical Research: 5 weeksES:0 EF:5LS: 0 LF: 5
Raise Capital: 4 weeksES:0 EF:4LS: 1 LF: 5
Pre-prototype Hardware: 12 weeksES:5 EF:17LS: 5 LF: 17
Software on emulated machine: 10 weeksES:5 EF:16LS: 19 LF: 29
Critical Path has changed