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
ABoil the kettle
BPut a tea bag in a mug
CBrew the tea
DAdd 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.

ActivityDepends on
A
B
CA, B
DC

From this table you can see that either A or B could be started first as they do not depend on any other activity.