1. If it can be an email, put it in an email instead. Email has far better tooling than Slack for automatically filtering and triaging messages so that the recipient can focus on the important ones.
2. The busyness of a channel should be inversely proportional to the number of participants. Channels with >10 participants should be virtual ghost towns.
2a. Except when you are using the channel for crisis management.
2b. Except for channels where people are asking "how to" questions, for those, either have the current on-call people triage it and call in the experts as needed, or set the expectation that people will get answers eventually.
3. If you need a response in under an hour, do a voice call or find them in person.
4. Employees should not be expected to have Slack on their phones, and employees should not be expected to respond outside of work hours.
Edit: also rule #5: Social channels: they are neither forbidden nor discouraged, but for the sake of your own focus, you should keep them muted.
Specifically of the "I need to reach out to this team I don't know about their product" variety.
A) If they interact with Slack, I can search previous answers
B) It promotes a culture of openness. Huge benefit in some orgs! We talk about our projects, warts and all, in public channels. If all your org channels are private, you're definitely Doing It Wrong
C) It's far more scalable than ticketing. Issues can be resolved in three lines of text, rather than ticket creation, queue, assignment, closing, etc.
As an above commenter noted though, you can and should push back on expectations of constant availability. Slack is asynchronous, not for initiating hi-pri issues.
You are describing a proprietary, expensive, intrusive, demanding rewrite of SMTP.
What keeps Zulip threads from exploding in practice? Either on the UI or usage side?
E.g. How to I keep from going from "One channel with a hundred unread messages" to "One channel with twenty unread threads"?
Also, what features exist when a thread diverges from the original topic?
E.g. We were talking about the "afternoon lunch" at the "annual meeting", and then someone mentioned their favorite restaurants in the area, and now people are replying to both?
Organization seems more like a usage problem than a technology problem. Or at least one that I can't see manual categorization solving.
For diverging topics, you can easily edit the topics of the messages that are a diversion to be a new topic. This helps a huge amount when you have new users who haven't learned the convention of creating a new topic when bringing up something unrelated, since anyone can clean it up in a few seconds.
But Slack is certainly easier to install and use (by being centralized).
It's like SMTP, if nearly every conversation went to list-all and our email clients were designed to intelligently allow us to choose what sub-section of the thousands of messages a day are important to us.
Or, like we already knew, it's an expensive, intrusive, proprietary upgrade of IRC.
My experience has been that it goes on for thirty or three hundred lines of problem report -> steps to reproduce -> troubleshooting -> proposed solution -> etc. Two days later someone else gets pulled in so they look at a Jira ticket with an empty description and zero comments...
At some point, a channel should be created for the issue (if long lived) or Slack conversations transplanted onto a ticket.
On the other hand, I've had an equal number of times where ticket formalism led to a misunderstanding, someone on another team taking an incorrect action, and a couple weeks to get resolved.
Work that could have been saved with 10 minutes of direct communication.
Or the dreaded hot potato ticket that out of misunderstanding / laziness gets reassigned to different teams, until a week passes without any actual work done.
So, I guess the optimal solution is to know what each tool is good and bad at, and let those guide actions and policies.
That's been my main complaint about GitHub throughout its meteoric rise. Its public contribution graphs and user profiles littered with hundreds of dead forks certainly encourage this behavior.
And I say this not as a person who has an unreasonable disdain for things like business processes and engineering tools (such as bugtrackers); I tend to favor (good) process more than other people—I've had personal projects where I'm the only contributor and user, and yet if you peek into the bugtracker you'll see hundreds of comments from me explaining exactly what's going on wrt the root cause and any fixes, and all known issues at any given time have an appropriate bug on-file.
But when I use GitHub, it's like every interaction ends up getting sidetracked either due to input from users trying to feel productive by leaving comments that are ultimately value-negative, or some weirdo contributor responding to my bug report as if I'm filing a support request and who then tries to "help" me by explaining how I can work around it (I have no problems working around it—in fact, by the time you're hearing from me, that's old news. But this is a bugtracker! For, you know, tracking bugs!), or the peanut gallery using the bugtracker like it's a phpBB forum dedicated to general chatter and expressions of gratitude related to the project (instead of, you know, tracking bugs!).
The worst is when somebody is showing off a project, I take a look, find something like a simple typo, and let the person know, and then they ask me to file a PR. First, I'm probably not even interested in your project even as a leeching user. Secondly, if you can't be bothered to do anything about this thing in your own project that you already understand that that you probably already have opened in your IDE right now, do you really expect me to clone the repo, poke around until I understand the busted directory structure you're using to organize the code, locate the appropriate source file, commit it, and then use GitHub's needlessly convoluted pull request workflow that involves pushing those changes to a third fork and asking you to review them? Do you understand that all this is happening on top of the assumption that I even have a GitHub account in the first place? Why don't you just Alt-Tab over there and help yourself instead of offloading work onto some random stranger who has no vested interest in your project but who decided to spend a little effort typing out a message that would be of interest to the person currently pimping out their project?
... and then every time I mention this, someone comes around, totally misses the point, and leaves an obnoxious comment that "You don't have to clone the repo! You can make minor fixes like that from the GitHub web UI!"
It's like nobody knows how to distinguish between busy work vs things that are actually necessary to the process and/or indicators of real, forward motion.
It assumes that I want to search within a certain channel or messages with a certain person when that's where I'm clicking the search bar from, but I can quickly erase that if desired. Files, messages, and people, are all searchable. It's pretty powerful and extremely user-friendly (most non-techies would have trouble with the syntax for specifying who a message should be from while searching).
Meanwhile, with Gmail, I discovered yesterday that when I'm part of a mailing list attached to an email address (let's say product@startup.com), and I search an email address that was cc'd on the product@startup.com email, nothing comes up. Resulted in a lot of wasted time.
but as i'm starting to learn: nobody really documents things anyways.
Backing up your knowledge store is a very separate task from your day-to-day use of it. It's just as possible to back-up your company's slack messages as it is to back-up the company's wiki.
It's hard to imagine using a wiki for that, but if that's how you do things I guess it's fine. As long as it doesn't rely on people copying their email discussions to wikis manually. Not sure how you'd be alerted by an important wiki update that you need to respond to, though.
"technical conversations I have had with my colleagues where I can go to recover details I might not remember from a month ago. Then again email also does this just fine, and doesn't cost as much."
For static instructions like setting up a dev environment? Sure a wiki is perfect. But I don't use a wiki for technical conversations like "Hey icedchai, I'm getting an error message that the COM port is not detected and I remember you said something about solving it in yesterday's standup. Can you point me to where the fix was?"
That message is better suited for slack or email than a wiki. (Your solution might be in the wiki but I'm contacting you because it wasn't easy to find, or searching for the error message didn't turn it up).
But if I use email, then when we hire a new employee a month later who gets the same error, your answer will be in my records but not theirs.
Another poster suggested a mailing list, that is a good option that makes email viable for this.
Slack is getting such a huge valuation so quickly because it is incredibly simple to use and is very user friendly. IM tools like Skype / Sametime / whatever have been around for companies forever, but Slack is much more user friendly and frictionless to use from the ground up, and with plugins even more useful.
I think most of the hate here keeps coming back to issues with peoples coworkers, not whatever IM platform they want to dislike that is currently making tons of cash.
In lieu of Slack, one lightweight pattern that often works is something like:
* Email for things you should see, possibly urgently (ideally with simple filters/actions, for when/how to alert/expose different messages, which the individual can tune over time, to their needs).
* Lightweight chat (maybe IRC/XMPP/etc.) for things you don't have to see (such as questions you don't want to interrupt anyone over, but they can answer if they're available enough to look at chat; and perhaps watercooler chatter for personalizing everyone, especially when you have remote workers). Be careful that this doesn't turn into fear-of-missing-out compulsion or an operational must-see -- emphasize that turning it into must-see is counter to the goal of the medium, becoming a burden for people.
* Agreed-upon simple in-repo/wiki/other for capturing information that people need to see in the future. Try to make this lightweight enough that it's not a burden to capture this information in a way that's accessible/usable to people when they need it.
The organization can evolve this over time, but the above is not a bad start.
A possible side benefit of rolling a lightweight solution on your own is that you don't need to trust a third-party with your company-confidential data (nor inside 'analytics' of your people and company), nor deal with possible goal misalignment with the third-party. (Of course, you can decide any third-party is worthwhile, and sys-admin is usually not what you want to be spending time on in most startups, but you have many options.)
Pardon the naivete, but couldn't he just stop doing that?
As for email, it works for longer form stuff. But not for having a real time conversation that involves multiple people. It's akin to saying Google Docs is useless because you can collaborate on a document in email.
Like any tool, it's how you use it. Slack can be distracting if you let it. It can be useless if you don't use the tools it gives you. Can you do everything slack does with other tools? Sure. But it will require a massive amount of effort to get you up and running again.
Mailing lists, Usenet, IRC, Slack, bulletin board, wiki, GitHub issues - doesn't matter which, use whatever works for you and is most convenient, but, whatever you do, please communicate in text. Bonus points for storing all that text in a searchable place.
Well, once the speech to text is sufficiently accurate, this may change (although there's always that chilling feeling of having so many of your voice samples sent to Google) - but until then, communicate in text as much as possible. Both deaf people, social phobiacs, and new hires will thank you for that.
All the deaf programmers of the world would like to have - haha - a chat with you. You'd surely quickly recognize their mood :P
I'm being sarcastic, but the accessibility angle is a serious one.
> and that "something" may or may not be knowledge that should be spread through the team
Whatever you talked about, either resulted in a decision (which should be documented anyway, because you never know who and when may be affected by it) or it didn't, in which case it could have been an email to one person or a group of people.
> I find it to be much easier to infer someone's mood and intent when I talk to them
That's a problem with the literacy of that person. All the words needed to express various moods and intents are there in the dictionaries; this is a battle-tested, mature technology (I mean, written English) which only got so much better since we're able to attach funny cat pictures to each sentence now.
> There is no universally better communications mode.
Of course, as it depends on what you consider "better". What I'm saying is that text is better for accessibility, transparency, scalability and searchability. Speech, on the other hand, makes expressing one's emotions easier. Such an advantage.
Probably the only good use for a call is to notify all the right people when some disaster happens (and really quick - seconds to minutes - decisions are required) or in case a CEO prepared a New Year's speech (at least if they honestly worked on their public speaking skill). Everything else is unnecessarily disruptive, favors quick responses when thoughtfulness is often more important, and gets incredibly messy quickly when you start adding more people.