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.