The important thing is that 벌써 includes a sense of surprise while 이미 is more flat and factual.
이미 only applies to something that is already past (이미 늦었어요).
벌써 on the other hand can be used for things happening now to mean it's sooner than you thought.
So 아니, 벌써 세 시야! (Gee, it's already 3 o'clock!) is natural, but 이미 세 시야! sounds weird.
Because of this, 벌써 tends to be used more widely than 이미, especially in daily conversation.
Explaining it by only one person or both persons knowing it doesn't seem the right way to me.