A couple of definitions up front. A distributed team can mean just about anything, I've been in a chat were 90% of the group was physically sitting in the same room. Fundamentally this is about capturing the conversation that goes on when people are working together on something and actually being together. The right analogy for the conversation is probably something like a river, the river flows on and people (people are the boats? or are the ideas the boats? this is getting pretty thin either way) can join or leave as necessary. In the river or not, an observer can look from the outside at the river, the boats or especially the topless sunbathers on the shore. Lets abandon this paragraph now because I'm either going to use the word meta too many times or the metaphor is going to be extended to the point that the fish in the river will be the ideas and the boats have dudes fishing from the great river of of conversation for some scaly truth. As I said, moving on.
What I want is an IRQ style interface for my team. I want this to be an extension of the IM client we use now for no real reason other than we are using it now. The key though is that its basically just a kick-ass chat machine. I'm using the IRQ model because I don't like the fundamentally asynchronous mode that is a forum. Plus I just have this suspicion that weird people hang out on forums.
- A history of the chat should be maintained so that someone not logged in for any particular session will still have the full history of the conversation . This could apply even to a new team member, as soon as they join the group they instantly have access to all 'tribal knowledge' (I hear this phrase often, I wonder if its offensive...and if so to whom?) of the group. I guess its incorrect to say 'all' the knowledge but certainly all that was present in chat.
- The client needs to have a strong filter compoenent to both highlight and ignore posts as necessary. For example, I would want the word 'late' or 'delay' to be in giant red/bold letters. If my team is talking about being delayed or late, I want to know. Conversely if the thread heads off to the plot intricacies of CSI:Desperate Housewives I want to either actively ignore that or mark it in fuscia so I know its likely skippable. It is important to note however that the 'off topic' conversations are just as (possibly more) important than the direct work stuff. The piece that really is missing when a team is spread out is the bonds/relationships that grow intra-team. I have found that people who on projects for me are more likely to work late, take on tough assignments etc. if I have had some off topic time with them. We could call it the Beer to Work index, the more beers we have shared the more work I can expect.
- We'll need a couple of levels of alerts included: if I am not paying attention to the stream and someone needs me to perk back up there should be a yahoo style
. The Buzz can go to an individual or a selected group. - I would want a piece of the filter to hav ethe ability to select dates. If I am out Friday, I want to come in Monday and quickly review just the Friday conversation to see what I missed.
- There needs to be a way to tie entries together. Often in a multiperson chat, multiple unrelated questions are asked and the answer I give could apply to any of them individually. Its important to maintain the overall flow of the chat (not a recursive kind of thread system) so I am imaging a very messy, ugly arrow system where I click on the question I'm answering.
- A billboard should be in a sizeable window that keeps all the links refernced in the chat. So often the information/answer/shared experience is a link out to a website that drives conversation. The team lead should have the ability to make some 'sticky' as in keep them on top for . Otherwise they need to be indexable by date and frequency of use. Its possible that files could also be stored in somethign like that but I think that might be one of those add-ons that ends up sucking due to permissions/version control/packrat-edness.
- I've mentioned filters but we also need the general search functions (think google desktop here?)
- It is axiomatic that screen caps and animated gifs are a part of this tool.
- Private conversations of course will go on and there needs to be a way for a section of private text to be added to the big conversation. You'd probably want to make both parties click ok to allow it or something.
- Most people are on multiple teams and have various private chats going all the time. I personally like the tabbed interface we have in the current chat client which lines up along the left of the window all the chats I currently have open as opposed to managing multiple windows. Its a stylistic difference of course and we'll need it to accommodate either.
- Not sure its needed but the tool should be sort of self aware and do things like automatically build glossaries and keep stats (top five pies, common phrases, blabbermouth award).
- Polls and Voting
By the way, if this plants a seed that grows into a piece of software that you make a botilion dollars on, remember the little people.