Tuesday, May 29, 2012

Say Hello to Trello (Not Just For Nerds)

Occasionally in my line of work, I'll run into a website, utility, or service that has potential to really help the day-to-day lives of people not just only the IT field, but in just about any line of work.  Or, perhaps even no line of work.  Trello is just that sort of service.  Their website describes it: "In one glance, Trello tells you what's being worked on, who's working on what, and where something is in a process."  If you get how a free tool that lets you do that could be really useful, stop reading and go sign up.  Otherwise, read on for a little background and ideas about how you can put this to good use.

There's Nothing New Under the Sun

imageTrello has its roots in a system of project management called Kanban, first developed by Toyota in the 1940s.  Kanban literally means 'card board', and originally was implemented with cards placed in slots on a board hung on a Toyota factory wall.  Each card represented a particular task to be done and went in rows representing the overall process.  Employees would move cards to their row, and as they did the status of the assembly line would be reflected in the board.  An empty slot meant somebody else had work to do to fill the slot with a new card. With the simple action of moving paper on a board, a whole car factory was run and management could see the current status of the line at any given moment.  Since then, the system has developed into a number of similar and related techniques, especially used by software and hardware development teams.  At it's simplest, Kanban is implemented today using a whiteboard with Post-It notes.  Rows are drawn on the board, and a Post It scribbled with some task moves from row to row as work gets done.  Then there are a variety of sites and systems for implementing Kanban and its variants electronically. If you look at the monitors hanging in your favorite fast-food establishment, you may even recognize your gut bomb order moving through rows as it progresses toward your hands.

Believe it or not, there are people who geek out on this stuff way more than me, but here's the takeaway: Kanban is relatively old, Japanese, and has run everything from car factories to fast food joints.  But there's more it can do.  Trello takes this concept and makes it something anybody can use for anything.

Almost Anything Could Use a Good List or Three

It turns out, there are tons of processes that could benefit from a good Kanban-like board.  If a process has regular defined stages, it's a candidate.  When you first create a board in Trello, it has three lists: ToDo, Doing, Done.  To each list, you add cards that represent tasks.  As the task progresses, you move it to a different row.   So, a default board is great for honey-do-lists, planning parties, or just keeping up with your work day or some project.  But Trello also lets you rename lists and add new ones.  For example, a Sales Pipeline board may have lists like this:  Lead, Introduction, Proposal, Negotiation, Deal.  You would add new prospects to the Lead list, then as they progress, move them through the rows.  This is handy enough for one person, but when you involve more than one, it's almost a necessity.  Trello also lets you join people to cards, so that people can see "what's being worked on, and who's working on what".

There's one more aspect of Trello - and Kanban in general- that's worth discussing.  Cards may also be prioritized by simply moving them up and down in the rows.  Things on top are more important than things on the bottom.  You may also color-code cards to communicate some status: green cards are good, red cards are bad.  In Trello, you may also add comments, links, checklists, and pictures to cards to communicate even more.

If you're still not sure how this could be used, here are some ideas, drawn from real-world projects that some friends and family are working on that could be done in Trello:

  • Sell your house.  Prioritize tasks and keep track of their status.
  • Run a product development team or assembly process.
  • Stay organized while writing a novel.  Keep a todo list and a 'waiting on' list for tasks waiting on somebody else.
  • Track tasks in a medical study.
  • Plan a family vacation.  
  • Organize your next album release.
  • New employee onboarding.  Have cards for each step, linking to documents the new employee needs.
  • Plan a church workday.
  • Plan and deploy a large software platform.
  • Run a school group project

A Lot of Value for Not a Lot of Effort

In the end, what makes this appealing is that you get a lot, for not much work.  It's dead simple to create and move cards around.  And just like those Toyota employees in the 40s, that simple action provides tons of benefit:  You can communicate, prioritize, and stay focused as a free side-effect of just moving some cards.  But there are also some less-obvious side effects where Trello can really begin to help improve a process.  Let's revisit that Sales Pipeline.  Say there are only a few cards left in the 'Lead' list.  That tells you or management something very important: you need more leads.  Watching lists over time, you most likely will notice that not every lead goes all the way through to the 'Deal' list.  By finding where cards stop, you see where there is room for improvement.  If they stop in Negotiation, maybe pricing needs to be re-evaluated, but if they stick in Introduction, it may be time to polish the sales pitch.  Again, just by moving cards in a board, you get valuable insight into your sales process that, if handled well, can result in more closed deals.

If you want to go there, it can get even deeper.  Imagine now that you are tracking not just the current state of your board, but the history.  You could then keep the number of cards in any particular list on any given day.  Put in a graph that could show, say, the number of leads over time.  You can then begin to see historical trends: leads spike in the summer, and are low in the winter.   In the development world, this is known as a 'burndown chart' because in a healthy one, you see the number of cards decrease as feature cards get completed and/or bug reports go down.  You might also imagine a total count of how many cards moved in a given day.  This tells you the overall velocity of a given project. Tracked over time, this gives you a good idea of how active a given project is.   Trello doesn't expose this sort of analytics directly (yet), but it does expose an API that 3rd parties are beginning to use to do this sort of thing.  Hopefully, the concept is settling in: just by moving a few cards around, you can build pretty deep insight into a process. 

TL;DR (Too Long; Didn’t Read)

You don't need to be interested in all the project management geekery to make use of Trello.  This tool really has potential to be the next "Excel"*: a good general purpose tool useful for all sorts of things from the mundane todo-list up to running a car factory.   I plan to post some more on how I'm personally using this tool, so stay tuned!  For now, give it a spin: https://trello.com/

*and with good reason.  The head hauncho Joel Spolsky worked on Excel in 1991.

Tuesday, May 15, 2012

Obscure Networking Error: Fiddler Ate My Internet

imageThis one gets me every single time.  I use the awesome network traffic analyzer Fiddler to debug particularly thorny web service or similar issues.  Occasionally, though it won’t close gracefully – for example my pc hangs and I have to force-restart it, or something crash-exits it.  In these cases, when the machine comes back, Internet Explorer is unable to connect to anything.  Ping and other networking tools look fine. The reason is that Fiddler works as a proxy, tunneling all IE traffic through itself for inspection.  If it crashes, it can’t remove the proxy, and IE is stuck tunneling to a non-existent proxy.

Fortunately, once I remember what’s going on, the fix is easy: Just open Fiddler, and close it gracefully.  So, moral of the story is: If you’re IE won’t connect to anything, and you’ve been fiddling with Fiddler, open Fiddler and see if it fixes the problem!

Monday, May 7, 2012

Quick Tip: jQuery and Knockout Intellisense in Standalone JS

image

So simple, yet one of those things that takes stopping and looking up.  If you want intellisense for jQuery and KnockoutJS, in a standalone JavaScript file, just add these lines to the top of your page:

/// <reference path="jquery-1.6.2-vsdoc.js" />
  /// <reference path="knockout-2.0.0.debug.js" />

Obviously, adjust the versions and paths as needed.