I don't mind people asking a question, but just put it all on one line, "Hi Phil. This is the question..." That way I can sometimes just fire back a quick answer and it's not as distracting.
It makes sense too - you wouldn't walk up to someone, tap them on the shoulder and then make them wait before asking a question.
Whether that's true or not, I respond if I'm ready, or I ignore it and go on with my work if I'm in the middle of something, just like I would with a full question. The only difference is I'm not thinking about the question with my spare cycles in the mean time.
If someone is trying to inform me of something urgent with "Hi Drew" I think it's reasonable to say that's their own fault.
And while the greeting without a question causes anxiety -- (you said hello... what do you need??) -- I have to say I'd rather get a lonely "hello" than a "Hey I have this insanely urgent thing, you need to help me RIGHT NOW." And I'd way rather get a lonely "hello" in Slack than have someone walk up to my desk and "hello".
I explained to some people that it doesn't work well with my anxiety to see "Hey I think I found a bug in X" and then just get no further details for two hours. One person has actually listened and writes me up an email or whole long message now. Everyone else responded by saying it seemed too rude and inconsiderate to not ask about your day first so they continue to do that... You can still start your message with "How was your weekend?" but just type the rest of the message too without waiting for a response...
The description looks close to what you were expecting.
This isn't something people can or should have to do on their own. For it to work, it needs to be a company wide expectation on a company wide schedule that immediate interruptions are off limits during certain times.
I also generally agree with "you don't need an app for that" for pretty much everything... except that this app would need to integrate and work around online calendars. And I want it to queue people so I can answer them in order. And I don't necessarily want to have a specific time for interruptions, I really want people to try to answer their own question for 5-10 minutes before interrupting me. I'm happy to answer questions, but I get a lot of questions that people can easily answer on their own with 30 seconds of effort.
The last open floor plan I worked in established that the meeting rooms were allowed to be used for engineer quiet time, and that someone in the meeting room was not to be interrupted. It was great for the first couple of months in the building, but eventually the meeting rooms were crowded with meetings and there just weren't enough for engineers to use for focus time very often. Headphones became the only means of staying sane.
When I tried office hours, I was actually in shared offices. 4-6 people to a room. It was a game company, and I was supporting artists. The artists were the worst about not respecting office hours, most of the programmers left me alone because they also wanted to be left alone to concentrate.
Ultimately I decided I was setting a bad example by trying to establish office hours for myself. The company wasn't that great at planning, and the interruptions I was getting were a symptom of not enough training and formal communication. What was needed was a little more communication, not less. (*But the right kind, of course.)
Email doesn't help me queue up or schedule micro-meetings with people. Email doesn't do anything to work around scheduled meetings. Email is a black hole from the sender's point of view, they don't get any feedback other than a reply, and they don't know when to expect a reply. People who want immediate help will send email and then walk over and interrupt after a few minutes anyway.
Email is a communication channel. I'm not looking for a communication channel, I'm looking for a scheduler & queue for micro-meetings.
Email could work, of course, if the company sets up rules & expectation. If people knew they were required to send email before interrupting someone, and if people could count on a reply within an hour for anything, then email might be adequate, but as it stands, we already have email and we still have an interruption problem, so it's clearly not solving the problem.
I see where you're coming from though w.r.t. communication vs. scheduling. I found this on a quick search, which has a free tier that I might try: https://calendly.com. Still, my worries are that:
1. it's not like email/calendaring/slack will go away, so now I have yet another tool to maintain (at least Calendly have calendar integrations)
2. like email, it could be abused, just in new ways I don't know about yet... what problems will arise that drive us towards more new tools to solve them?
I'm not sure the marginal improvement over using email/slack/calendars, plus some sort of rules/expectations, would be worth adopting another tool, but I am curious to see how it works out.
What I'm instead thinking of is essentially a message queue that holds any messages directed at you until you want to respond to them, and then they're all pushed to you at that time. This would also allow you to naturally auto reply to everything ("this user usually checks things around noon and 5 everyday").
Who knows, it could be a bunch of human nature that needs training that no software can do. I just know that I get a lot of "got a second?"s a day and would love a place for those to sit until I decide to get to them.
Slack is (or should be) a high priority queue. It seems like something in between is needed. A place for “please deal with this soon, but don’t stop what you’re already doing” and that has far less noise than email so you know a request will be seen.
It's definitely a culture thing. I've worked with teams across the spectrum, and, personally, I definitely lean far towards async communication being the best most of the time. There's times when you can't beat a whiteboard session, but those are the exception for me.
Email is a medium that should require a little bit of thought and deliberation, and if you're doing it, you can't do much else. Incoming-email-driven development is one of the more frustrating and wasteful processes I've suffered through. Ping ping ping, bouncing all around, not concentrating.
It's also worth trying to cultivate some self-reliance in your coworkers, so they learn how to find information and solve problems on their own, without needing their hand held every step. It's sometimes overwhelmingly difficult not to send back a lmgtfy link to some questions.
I sometimes takes days to respond, unless something is truly urgent – which of course it almost never is. For whatever reason this pisses some people off, but they also learn that the best way to get an immediate answer out of me is to call (I work 100% remote.)
I want something that forces people to try to answer their own questions for a few minutes, or at least expect to wait, before asking. When there's a small cost to asking the question, a high percentage of the time, the request will vanish on it's own. The asker will answer their own question or realize the question wasn't what they really wanted to ask.
Part of the point of what I'm suggesting is to allow people to cancel their request. With my app suggestion, I'm hoping/expecting like half the interruptions (random made-up number) to just go away. Email doesn't do that, in fact it gets worse with email, you waste time reading the question and again reading the answer, or worse, answering the question only to find out the "nevermind" email was buried further down.