Social Media as a Software Development Tool?

April 1st, 2010

One thing about software development I have always struggled with is inter-team communication. As I develop, I am often thinking things like “I need to make sure I tell Elvis I moved this method” or “The team is really going to like the reduced friction of this new implementation”. I have used various methodologies to try and address this, most of which you have probably tried too:

  • Detailed check-in notes (no one reads unless they are tracking down who broke something)
  • Code-reviews (*yawn*)
  • Stand-ups (wrong medium, too high level)
  • Pair programming (exclusive to 2 or 3 developers, and is too expensive to do at a high frequency)
  • IM (Too exclusive, temporary, can be distracting)
  • Shouting “Hey dude check this out”
    All of these can be valuable, however none of them offer the signal to noise balance I am looking for. I want a mechanism which promotes and enables a different form of communication. So what about a form of social media? Wikipedia tells us:

“Social media is media designed to be disseminated through social interaction... Social media uses…technologies to transform and broadcast media monologues into social media dialogues. It supports the democratization of knowledge and information and transforms people from content consumers to content producers.”

Personally I have gotten really adept at tracking and participating in twitter conversations, IM, email etc while I work. I am ready for a social client that lives in my development environment. A tool which enables me to informally talk to my team as I am writing code.

I have a bunch of ideas around what this could look like, and I think implemented properly it would make developing software better.

So is anyone out there doing anything like this? What sort of features would make it useful?

  • http://twitter.com/buckybit Alex Covic

    it’s done. It’s called Novell Pulse feat. Google Wave.

    http://googlewavedev.blogspot.com/2010/03/novell-pulse-and-google-wave.html

    (your level of productivity may vary – people used to be skilled back in the days with the tools they had, like Lotus Notes etc etc. )

    You can also use git/cvs for stuff like this, as the very successful linux-kernel team proves it week after week?

  • Chris Welch
  • http://www.github.com Tommy Hinrichs

    Check out github

  • http://elegantcode.com Jarod Ferguson

    @John Sonmez
    Good ideas. I hear you describing almost ‘pair programming’ 2.0, maybe even ‘team programming’, with the ability to capture that stream along with the code.

    A ‘team map’ is a good one too. Like an interactive map of where people are working?

    @Mikael Henriksson
    Agree, it cant be just another chat client. If we could make it integrated enough to where it is less ‘task switchy’, so we wouldn’t lose productivity.

    I mean lets face it, people are doing social media at work. Lets focus that towards the software right?

  • http://elegantcode.com Jarod Ferguson

    A lot of good suggestion on here for simple things people could do now move in this direction (rss, twitter etc).

    Some of the products suggested are getting close. The Novell Pulse feat @Alex Covic is quite interesting, and as an enterprise/corporate tool socialcast looks really complete.

    @Tommy Seems like everyone I know has been moving to github over the past 6 mos. It must be pretty cool, because they all love to talk about it :)