Resolving issues via IM

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
I'm curious as to how you guys feel about this. When I was a younger developer we didn't have instant messaging. There were crude network tools that let you send messages, but nobody used them for routine communications.

Obviously that is no longer the case, and everyone today uses IM for a wide variety of personal and business messaging needs.

I work for a distributed company, and we rely heavily on Skype, Hipchat, and other collaboration tools. I lead a team with younger programmers who are all very comfortable with IM. More so than with email, and dramatically more so than with the phone. I'm more comfortable with the latter two mediums than they are, but also very comfortable with IM, and a very fast typer.

What I have noticed is a trend to try to resolve fairly complex technical issues or requirements questions over IM. I think it's because it's simply the most comfortable thing for them. They don't have to compose an email, and they don't have to actually call someone and interact. They can just "tweet" the issue in bursts of a few lines.

I don't think it works, and today I put a clamp-down on it for our team. My perception is that for issues that require more than a few lines of IM chat, the ultimate resolution takes far longer to get to, and is far less inviting of alternative solutions and synergy among team members, than either email or phone conversations.

My hierarchy would go something like this:

Simple questions and announcements, occasional banter: IM.

Complicated technical requirements questions that probably have a definitive answer: email.

Questions that need some creative back and forth to find the right solution: phone or meeting.

I realize that meetings and phone calls probably have more potential to go "off the rails" than an IM conversation, so discipline is also required when using those mediums.

Any thoughts?
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Your hierarchy makes sense to me and matches what we do at our company.

I prefer email for most discussions since it's easier to manage the threads and store the more important ones into subject folders to refer to later. I suppose if you had a good text storage and search system then the IM logs could be copied there instead.

It's also easier to read longer blocks of text and you can format the text more clearly.

We use IM, but mostly for when we need something quickly.

We'll use a conference call for brainstorming or talking through something where a team member isn't getting it, but email can be better for that too since people can read at their own pace and think through their responses.
 
Last edited:

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
I would think that for 2, an issue tracking system would be better than e-mail.

I work for a rather large company, and when 2 happens, you get some e-mail thread going with 25+ people on it, e-mails firing off every couple of minutes, and maybe only a handful are really interested/involved in the conversation.

An issue tracker works better because those who really do not care can unsubscribe. New folks can be added, and they can see the whole chain of discussion. I hate being added mid-thread in e-mail, and some jerk who has replied has their client set up to only include the last message from the thread, so you have no idea WTF is going on. It is also more visible so important stakeholders can not ignore it. "Oh well it got lost in my inbox...". I hate that crap.
 
Last edited:

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
That makes sense for larger companies and huge teams. We only have 5-6 people working on any one project, and only those people would be in the email discussion not the whole company.
 

beginner99

Diamond Member
Jun 2, 2009
5,320
1,768
136
I'm curious as to how you guys feel about this. When I was a younger developer we didn't have instant messaging. There were crude network tools that let you send messages, but nobody used them for routine communications.

Obviously that is no longer the case, and everyone today uses IM for a wide variety of personal and business messaging needs.

I work for a distributed company, and we rely heavily on Skype, Hipchat, and other collaboration tools. I lead a team with younger programmers who are all very comfortable with IM. More so than with email, and dramatically more so than with the phone. I'm more comfortable with the latter two mediums than they are, but also very comfortable with IM, and a very fast typer.

What I have noticed is a trend to try to resolve fairly complex technical issues or requirements questions over IM. I think it's because it's simply the most comfortable thing for them. They don't have to compose an email, and they don't have to actually call someone and interact. They can just "tweet" the issue in bursts of a few lines.

I don't think it works, and today I put a clamp-down on it for our team. My perception is that for issues that require more than a few lines of IM chat, the ultimate resolution takes far longer to get to, and is far less inviting of alternative solutions and synergy among team members, than either email or phone conversations.

My hierarchy would go something like this:

Simple questions and announcements, occasional banter: IM.

Complicated technical requirements questions that probably have a definitive answer: email.

Questions that need some creative back and forth to find the right solution: phone or meeting.

I realize that meetings and phone calls probably have more potential to go "off the rails" than an IM conversation, so discipline is also required when using those mediums.

Any thoughts?

I agree. Explaining even a half complex issue is a lot faster by taking than by writing. And nothing can beat a direct meeting, even phone is already a lot worse IMHO.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
IMs are a good supplementary tool, and we use email to record or track issues when (Atlassian's) JIRA isn't being used (there's no good reason to not use it IMO, but sometimes sloppy project management leads to it being kind of ignored where i work).

If I ran the show where I work I'd have this setup-
JIRA (or similar)- the only place that really matters and must be updated when a change is made or meaningful info needs to be added to the task.
Local IRC server- everyone required to be on the main channel, so we have group chat all the time.
Email- anything that needs documented or too lengthy for IM chat. It's just a good offline tool, fire off an email after hours so they have it in the morning.
Conference call- immediate live issue resolution. We have morning conference calls to go over what we're doing for the day as well. I don't mind this and it helps you get over the anti-phone bias. Not sure it's needed every single day, but mon/wed/fri it would make sense.

I think you'll find the price of JIRA is very reasonable. It's a decent system.

I don't think your team of young nerds (like myself, I'm 31 so probably around their age) will have a problem with a system like that. I actually prefer it, 1 stop shop to document and take care of my work instead of worrying about stupid IMs/emails/phone calls. It's too much to worry about / manage. And when every other communication method is the system, I'm somehow accountable for a stupid IM.

My motto is that if it's not in JIRA, nothing happened or was deemed not relevant. If the project doesnt exist in JIRA, it doesnt exist at all. I've worked in a few very large companies and seen a few of these systems, that's a decent one.

Also, I will add- I work in a very large company, and different divisions have their own way to manage work. I have multiple 'JIRAs' I'm expected to monitor and manage, that's too much. I also use Oracle CRMOD, and to a much more limited extent HP ServiceManager. Top it off with billing software / time management documentation.
Don't allow all of that on your employees, it's a joke. Pick 1 and dont allow anymore to creep in. I can't manage all the systems effectively along with IM/email/Webex conference calls ect. For one thing, it's too much work. I can't manage it so it tends to go to a condition where I'm working on stuff everyday and waiting for someone to blow the horn on a 'must do now' emergency for something that in one of the multiple systems (or issues not in any system usually).

That's what my task management has dissolved to. I wear every hat from debugging code, to systems, to client interaction. I also have an after hours pager. I'm getting out of here.

tl;dr- install JIRA, use that as your only task interface that matters. If you use BitBucket, it integrates nicely since both are Atlassian products. Tough to beat if you are using git/hg and BB itself integrates into Visual Studio's git support as well. You can begin to kill a lot of birds if you're still on VSS.

Sorry, I have a lot to say on this topic. I've been around the industry a bit and currently in frustration.
 
Last edited:

smackababy

Lifer
Oct 30, 2008
27,024
79
86
I tend to agree, despite being of this younger generation. I think IM is a good tool for quick and simple communication, but any real complex discussion should be via email. If for nothing else than being able to archive it with ease.

The company I currently work for chooses to torture everyone by using the Lotus suite (which is probably the worst collection of applications in the history of applications), so I try to avoid email and IM as much as possible. Luckily, we all sit in the same area, so I can just walk over if I need anything.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
We use Redmine, which does substantially the same things that Jira does. However we use it primarily for tracking bugs and changes, where it offers some nice features like integration with Bitbucket repos.

Our requirements management is document based, and has some structure, but it is not reflected in initial implementation tasks/tickets in Redmine. We're not there yet, but should be soon.

So in general requirements questions will tend to be of the "Hey what about this case" variety, which kicks off a round of interactive discussion of what should happen when something else happens, and it is that shit that I find really frustrating to conduct over IM.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
Yeah, I can see why. I'd want that documented in emails. Since most chat services are a joke for group chat it's pretty bad.

Or if you had an IRC server, have those chats there in the main channel that you have everyone connect to daily. Then you have 1 logfile to review. Since you're all not local, an IRC server or email sounds like the best solution, depending how large the input typically is on things. If its smaller chime ins, then IRC would do the job and allow immediate brainstorming. Bigger cases email might be the only way to have it documented.

If you want this, I have an IRC server that does this without any real configuration other than setting it to start on boot. The original is meant for *nix servers, but if you're on Windows I did a fork of it for NTFS and made sure it'll run as a Windows Service. I don't have the code on BB or github so I'd have to send it directly, but its just a single Python script.

It works well. It's Python 2.7 but on my project list is to convert it to 3.3 (which at the point I was going to upload it to github/bb).

I don't like it, but MS Lync might be a solution as well. You can pull everyone in immediately, and has screen sharing. It's one of the 3 or 4 messengers I'm required to use in my current job.
 
Last edited:

smackababy

Lifer
Oct 30, 2008
27,024
79
86

All, I saw was MS Lynch and thought "Oh no! Don't let the MS haters get a hold of that one."

We use JIRA and Quality Center. The good thing about JIRA is it tracks changes with SVN and Jenkins for our continuous build. Our business analysts and testers use Quality Center and JIRA is only for the development team, which is nice.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Yeah, I can see why. I'd want that documented in emails. Since most chat services are a joke for group chat it's pretty bad.

Or if you had an IRC server, have those chats there in the main channel that you have everyone connect to daily. Then you have 1 logfile to review. Since you're all not local, an IRC server or email sounds like the best solution, depending how large the input typically is on things. If its smaller chime ins, then IRC would do the job and allow immediate brainstorming. Bigger cases email might be the only way to have it documented.

If you want this, I have an IRC server that does this without any real configuration other than setting it to start on boot. The original is meant for *nix servers, but if you're on Windows I did a fork of it for NTFS and made sure it'll run as a Windows Service. I don't have the code on BB or github so I'd have to send it directly, but its just a single Python script.

It works well. It's Python 2.7 but on my project list is to convert it to 3.3 (which at the point I was going to upload it to github/bb).

I don't like it, but MS Lync might be a solution as well. You can pull everyone in immediately, and has screen sharing. It's one of the 3 or 4 messengers I'm required to use in my current job.

We still use Skype for voice, but we have switched to using Hipchat for IM, and it's pretty powerful for team IM. But even at a best-of-class level of IM software it still just doesn't work for long, interactive discussions. Imo.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
It sounds like you guys have some decent tools already. I was getting the impression you guys were missing some of the basic tools. But sounds like what you're doing is the right path, putting the smack down on certain habits.

Its really tough imagining the best way for a distributed group to have a discussion which, in my mind is best done in a room with a whiteboard..

Not to beat the drum from 1994 here regarding IRC, but maybe setting up a special room for a given discussion/project and asking everyone in the main room/channel to join when you're having the meeting over it. Hipchat might do the same type of thing, record a group channel chat and allow for persistent rooms and so forth, which accomplishes the same end goal.

For me the persistent channels is a must-have. No need to invite over and over, nor have multiple chat log records hanging out there to review.. 1 room 1 chat log at all times. It may or may not help in your case. It's rough trying to replace the whiteboard room experience.

The layout in the original post makes a lot of sense. Personally though, I hate IM. The closest thing I'd use if I ran the show would be some sort of IRC, it's awesome to have that group chat at all times. Not so sure I like the 1 on 1 IM's.. I find myself duplicating what I'm saying too often later on. Rather just have it right there. Of course you can chat with 1 user on IRC so you don't clutter up the channel if its meaningless drivel about the roads or the dog.

I also like free stuff and stuff I can add features to, maintain or debug myself.
That's why I don't like the buggy crap known as MS Lync.. unless I absolutely had no choice I would never adopt a Microsoft or Google-ism in my business at this point in history. I might buy a Macbook just for the quality of the hardware but wouldn't adopt any Apple software either.
I saw that with Visual Sourcesafe, no source code, once you tie it into your systems you're screwed once the provider stops supporting it. Serious source of pain, if they were required to release the source after they stopped selling or supporting it the world would be a better place.
 
Last edited:

Cogman

Lifer
Sep 19, 2000
10,286
147
106
For me, IM is mostly used to either ask simple questions, or ask for the other developers time to discuss issues. Any mind bending/awesome critical stuff goes into the issue tracker.

If I need information/discussion from several people, I use Email (IM is just too inconvenient for that IMO). And still, I'll put any critical stuff that comes out of that discussion into the issue tracker.

So for me, all stuff should eventually be documented in the issue tracker. IM is best used for setting up face to face time or asking one off questions and Email is best used to get information/opinions from lots of people who may not be available for meetings. Meetings are pretty rare for me, especially in the company I'm currently in. They are more reserved for fairly major architecture discussion.

Whenever I commit code, if at all possible I include an issue number with the commit to show the "what for" of code along with a message about what the code is doing.


With all that said, the company I'm currently at doesn't really have remote workers and very few people have VPN access (So most days, people are in the office). So it is pretty convenient to have face to face time. I'm sure my practices would change significantly if this was not the case.
 

mosco

Senior member
Sep 24, 2002
940
1
76
It sounds like you guys have some decent tools already. I was getting the impression you guys were missing some of the basic tools. But sounds like what you're doing is the right path, putting the smack down on certain habits.

Its really tough imagining the best way for a distributed group to have a discussion which, in my mind is best done in a room with a whiteboard..

Not to beat the drum from 1994 here regarding IRC, but maybe setting up a special room for a given discussion/project and asking everyone in the main room/channel to join when you're having the meeting over it. Hipchat might do the same type of thing, record a group channel chat and allow for persistent rooms and so forth, which accomplishes the same end goal.

For me the persistent channels is a must-have. No need to invite over and over, nor have multiple chat log records hanging out there to review.. 1 room 1 chat log at all times. It may or may not help in your case. It's rough trying to replace the whiteboard room experience.

The layout in the original post makes a lot of sense. Personally though, I hate IM. The closest thing I'd use if I ran the show would be some sort of IRC, it's awesome to have that group chat at all times. Not so sure I like the 1 on 1 IM's.. I find myself duplicating what I'm saying too often later on. Rather just have it right there. Of course you can chat with 1 user on IRC so you don't clutter up the channel if its meaningless drivel about the roads or the dog.

I also like free stuff and stuff I can add features to, maintain or debug myself.
That's why I don't like the buggy crap known as MS Lync.. unless I absolutely had no choice I would never adopt a Microsoft or Google-ism in my business at this point in history. I might buy a Macbook just for the quality of the hardware but wouldn't adopt any Apple software either.
I saw that with Visual Sourcesafe, no source code, once you tie it into your systems you're screwed once the provider stops supporting it. Serious source of pain, if they were required to release the source after they stopped selling or supporting it the world would be a better place.

Hipchat supports that out of the box. We used to use IRC and then switched to Hipchat. We have about ~100 people, most of which are engineers/qa using Hipchat. Each team has their own room, plus there are some random rooms that people create. We had some issues at the beginning, because we are probably 95% mac users, and the mac client was written using adobe Air. I remember I had just gotten a retina mac book pro and Air doesn't support retina text rendering.

Luckily they have come out with a pretty solid obj-c app.

In regards to chat, I don't think there is any replacement for voice to voice communication for complex issues. They only downside is that you have to make sure that someone is either taking notes or you recap the convo after, so that things aren't forgotten.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
Sounds pretty good. I would hope it supports that and a lot more considering there are many free open source IRC daemons, and clients which I'm sure it wouldn't be hard to find a retina compatible one. We use Lync (buggy), Gtalk (getting shutdown), Citrix Webex Connect (buggy) and a few of us use IRC (solid, opensource, free). Google Hangouts is a joke. I hate reinventing the wheel, and then to make it proprietary on top of that.
For such a stale market on the consumer side, there aren't too many great choices for this type of thing. The company was considering Campfire from 37signals but I think that idea was nixed.

I agree though, solid voice conference software, even if it's Mumble, is a must.
 

beginner99

Diamond Member
Jun 2, 2009
5,320
1,768
136
I think being forced to have IM always on is not a good idea. You get distracted constantly and then you need to refocus. Loses a lot of time. Email is basically the same thing but since no one expects an immediate reply you can ignore it or not open the client at all.

Anything simple enough to be answered by IM should also be accessible online in whatever documentation system. Obviously it's a personality thing but I would get pissed if people constantly distract me with stuff they can easily lookup themselves. Turn on your brain, ok?
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Sounds pretty good. I would hope it supports that and a lot more considering there are many free open source IRC daemons, and clients which I'm sure it wouldn't be hard to find a retina compatible one. We use Lync (buggy), Gtalk (getting shutdown), Citrix Webex Connect (buggy) and a few of us use IRC (solid, opensource, free). Google Hangouts is a joke. I hate reinventing the wheel, and then to make it proprietary on top of that.
For such a stale market on the consumer side, there aren't too many great choices for this type of thing. The company was considering Campfire from 37signals but I think that idea was nixed.

I agree though, solid voice conference software, even if it's Mumble, is a must.

Hipchat is pretty cool as far as IM clients go. It supports rooms, as mentioned above, automatically inlines thumbnails when image links are posted, keeps tracks of files posted to the room, that sort of thing.