Monday, December 14, 2009

radtrack: Kanban Goodness meets Open-Source

First, a little History ...
Like all software craftsmen, I usually have a few personal programming projects going on. My current interest is to continue increasing my TDD skills with Ruby/Rails, Scala/Lift  and Javascript/jQuery. I find the current world of building highly scaleable web applications fascinating and have become hooked on the mojo of building high-performance, scaleable solutions with code that is extremely simple and concise.

radtrack is a project that keeps me challenged in these technologies.  It's also been a project that lets me experiment with new ways to visualize and promote lean project workflow with distributed teams. Yes, yes I know what you are about to say:  "Distributed teams?  That's not Agile".   You're right.  So what?  I probably don't need the reminder.  I'd be the first to bust your chops and question why you'd suggest such tom-foolery on one of my projects.

The reality is that there are still many large companies out there who are striving to become agile.  They're trying real hard now and I can't be the one going around confusing 'em with a singular focus on co-location or spoiling their day with the observable improvements of co-location.

What I *can* do, in the interest of making their world a little bit brighter, is offer up an effective collaboration/kanban tool for free.  A tool that some companies might charge an arm and a leg for.  Arms and legs are essential to the bureaucracy.  They're expensive too.  We can't have that.

Although I use radtrack for my own software projects, there is really nothing software specific about it.   Here's some high level screen shots of what I've got running at today.

The Kanban Board
If you've seen some of the other fine tools that are currently available, there's nothing revolutionary going on here -- except maybe mine's prettier. :-)  

It's your basic board of swim lanes that represent your value stream (workflow).  Each swimlane has cards which can be dragged to other swimlanes, flowing left to right. 

Cards have Tasks
When a card on the kanban board is supposed to represent business value, more than one person will likely have tasks to perform in order make that card flow through the system.  In radtrack, we call those units of individual work a "task" and a card can have many tasks.  In the picture below, you'll see the popup dialog for a card and the tasks for that card.  You can edit the tasks directly in the popup card.

Hover to Get a Quick View of a Card's Details

and ...

Personal Dashboard

This is my favorite view.  It gives you a picture of  your personal work queues.  You have  the option to limit the view to only those tasks in the current project or you can choose to see *ALL* of your tasks from every project combined into one view. 
My idea with this view is to encourage you to limit your active tasks in the spirit of Getting Things Done and Personal Kanban

The Unstarted Tasks list shows tasks that you have signed up for, but have not yet started.  If you see several tasks in this list, it might be an indication that you are hoarding tasks.  You don't want to do this.  Nobody wants to be known as the task hoarder.  Hoarding tasks creates bottlenecks and limits other people's opportunity help out when they are freed up and looking for more work.  radtrack makes it easy to spot and eliminate task hoarding on your projects.

The Active Tasks list shows your current work queue.  Too many tasks in this list is an indication that you may not be as productive as you could be.  You need to quit starting tasks and start finishing tasks! As a result, you are probably spending too much time task-switching.  Strive to see only a single task in progress at a time during the day.  Strive for very few active tasks at a time and be very afraid when you have a lot of active tasks.

The Finished Tasks list is the one list that you *DO* want to see get long.  The longer this list, the better you'll feel. Keep your focus on finishing tasks, not starting tasks. 

Clicking on any task in this view will popup the card with that task as shown in the following screenshot:

Keep an eye on your teammates
There is a Team Members tab which gives you a quick view of all members in the current project and a list of currently active tasks that are assigned to each user.  Here's what that tab looks like:

Some Whacky Future Ideas
I have a lot of futuristic ideas on where radtrack can go, but I'd better stay focused at some more basic features, like putting WIP limits on swimlanes.  If you want to stay abreast of what's happing with radtrack, I'm afraid you'll have to do it the old fashioned way.  Follow the radtrack twitter feed.


Share the Love
Of course, this all comes with great tidings of yuletide joy.

I'm going to make all of this radtrack goodness available free to the public.  With the help of Karman Blake, an excellent Ruby on Rails developer, we're putting some finishing touches on radtrack and we're planning to release it under an open-source license at by the end of this month.

Even though the radtrack source code is freely available, I will continue to offer limited-free and paid radtrack project hosting, however my goal is to grow an opensource kanban planning tool that is always useful and free to the masses.

Follow my blog here, or you can follow me on twitter.