This fairly good analogy was coined by the PPG.
Ok now. Imagine there are 4 of us who need to go to the toilet. We must pass through 3 steps, opening the door, using the cubicle, and washing our hands. Only one of us can occupy a step at any point in time (since the toilet only has only one door, one cubicle, and one sink).
We all spend different amount of times opening the door (some are stronger than others), in the cubicle, as well as on the sink (some are health freaks while others wash hands for procedures sake only.)
Also, some of us can spend a long time in the cubicle, but a very short time washing hands, while others can use the cubicle in a very short period of time but take a long time opening the door, for example.
If you succeed in opening the door, but the cubicle is in use, you are stuck in the door stage. If you finished using the cubicle but someone is still washing the hands, you must remain in the cubicle since there is only one sink.
Finally, we are not allowed to skip stages or do the stages in different orders. There is no way we can wash hands first before using the cubicle, or using the cubicle before opening the door.
So based on the data of the time each of us take to open the door, use the cubicle, and wash our hands. We must sequence the order of using the toilet, (i.e. who gets to go first, who gets to go next etc.), such as to minimize the total time spent using the toilet.
Actually I think only engineering students can understand and appreciate ahaha.