Scheduling activities
Any project, whether it's cooking a meal or building a house, can be broken down into a set of separate activities.
Some activities cannot be started before others have been finished. For example, when building a house you cannot put in the windows before you have built the walls.
Tea making
Making a cup of tea involves the following activities:
Activity | |
A | Boil the kettle |
B | Put a tea bag in a mug |
C | Brew the tea |
D | Add milk |
Activity | A |
---|---|
Boil the kettle |
Activity | B |
---|---|
Put a tea bag in a mug |
Activity | C |
---|---|
Brew the tea |
Activity | D |
---|---|
Add milk |
But there are constraints as some activities depend on each other:
- Brewing the tea cannot happen before you have boiled the kettle
- Brewing the tea cannot happen you have put a tea bag in a mug
- Adding the milk cannot happen before you have brewed the tea
A precedence table helps you organise the activities and shows where there are constraints caused by dependencies. A dependency is where carrying an activity depends on another activity having been carried out.
Notice that a dependency only refers to the activity immediately before the activity in question.
Activity | Depends on |
A | |
B | |
C | A, B |
D | C |
Activity | A |
---|---|
Depends on |
Activity | B |
---|---|
Depends on |
Activity | C |
---|---|
Depends on | A, B |
Activity | D |
---|---|
Depends on | C |
From this table you can see that either A or B could be started first as they do not depend on any other activity.