Reducing waste with poll based project communication

I learned about the Last F.M. developer setup when the two founders Matt Ogle and Anill Bawa Cavia when they talked at the Future Of Web Applications conference in London in 2007. In order to communicate with a distributed and ever increasing development team they used IRC as the basis of their communication. The IRCcat bot is a smart little guy who lets everyone know what is going on. By writing some smart pieces of code they where able to integrate information from Trac, Nagios and other tools used in development to enable everyone to have all information available when they wanted. I thought this was a very sweet setup back when I worked at Ezmo so I decided to try and use it in my next job. Therefor I decided to check it out on my Windows machine first.

Reducing waste and polling information

One important aspect of Lean Software Development is reducing waste and I think that reducing waste in project communication is very important. By removing the need for a lot of manual communication about server status or events occurring in the different development environments you remove a lot of waste. Another principle is that you should poll information when you need it instead of pushing it onto people. By using IRC you enable developers to poll information when they are actually developing by allowing them to connect to IRC when they are actually developing or giving them access to IRC logs if they need to see what went on while they where in a meeting. If you where to use IM software for this you would push information and it will feel a lot more intrusive for developers.

Installing IRCcat

  1. Download a Java JDK 1.5 or later, and point JAVA_HOME to this directory
  2. Download Ant and make it available in your PATH
  3. Download IRCcat
  4. Download the attached configuration file
  5. Run the command: ant -Dirccat-howto.xml run
  6. Viola! You should now see something similar to this:

IRCcat startup

Uhm, so what did I just do? Well, IRCcat is a service which basically dispatches commands to an IRC server. You can “talk” to IRCcat and then have it communicate to the IRC channel and all it’s listeners. This samples uses the IRCnet IRC network and connects to the channel #TWA-IRCcat-howto. Now connect to an IRCnet server with a regular IRC client (mIRC, Pidgin, etc) and join the channel #TWA-IRCcat-howto. In this channel there should be a bot called TWAcat.

What we now need to do is to send some messages using IRCcat. Doing this is most easily done by downloading a tool called netcat (more on netcat at Wikipedia) available on Unix and Windows. Unfortunately some virus protection software thinks netcat is a dangerous program and will prevent you from executing it, so you might have to stop any such applications when trying this out.

Having downloaded netcat and added it to your path you can now write the following command:
echo Hola el Mundo|nc -w1 localhost 9999

In your IRC client you should now see TWAcat say: “Hola el mundo”

Where to go from here?

What is cool about IRCcat is that it is very easy to write your own piece of code which reports statuses, errors, etc to your development team. This is really cool and I’m very much looking forward to see how this works out. Keep a lookout for upgrades by reading the journal on Last F.M and let me know if you have any problems with this sample.

May 5th, 2008 | work

1 comment

Tag, you are it! :)
http://www.sushiordeath.com/raw/six-word-memoir-meme/2008/

Comment by Karianne — May 23, 2008 @ 3:38 pm