This has worked well for our teams. As a social norm of software development I always IM/email someone with their headphones on and don't interrupt them.
It's also a nice courtesy to IM someone before dropping by their desk so they aren't surprised and you can check if it's a bad time.
It's also a nice courtesy to IM someone before dropping by their desk so they aren't surprised and you can check if it's a bad time.