Saturday, December 1, 2012

Software Tools That Shape You

At work, we’ve recently begun the transition to a new task management toolset. Since before I was brought aboard, the team has used JIRA for issue tracking and bug reporting. This is my first experience with JIRA - everything I’ve worked on up to this point utilized physical Scrum boards. The interface with JIRA is a bit overwhelming, and it took our team a considerable amount of time to figure out why one team member was receiving multiple emails every few seconds regarding open issues. Yikes!

A few months back we transitioned to a physical Kanban board for our day-to-day doings, and most recently we made the next logical step to a digital version, through Trello. I would always recommend a physical board over digital, but we lack a highly visible location for such a board for long-term work. JIRA has the means for tracking in-progress work, but overall, it felt very cumbersome. Trello’s interface and iOS/Android apps, on the other hand, instantly felt superior. I can easily make a board, set up some swim lanes, and get to business. I’ve read of others using it for personal organization (i.e. non-software development tasks, such as planning a garden, laying out housework, or sorting comics. Neat!). I’ve used it for breaking up tasks into bite-sized chunks. Note-cards or scrap paper may work just as well, but personally, I don’t feel that the software gets in the way so I'll continue to use it.


I ran across an interesting thing the other day as I took a break to read a post by Joel Spolsky, talking about having a inventory of software

Trello works great for a reasonable amount of inventory, but it intentionally starts to get klunky if you have too many cards in one list. And that’s exactly the point: it makes inventory visible so that you know when it’s starting to pile up. (read the rest here: Software Inventory)
If you’ve used Trello much, you know what he means. Those swim lanes fill up quickly, and it’s not super easy to dig down and drop or pick up a card at the bottom of the list.

This is an interesting example of a tool shaping one's habits - the software doesn’t make it easy to use it in a way that the authors decided was inefficient. It almost forces you to think about how many tasks are in a given column. 


Another example of software shaping the worker comes in the task, bug, and estimate tool I alluded to my team transitioning to: FogBugz, which is developed by the same team who spawned Trello, Fog Creek Software. I won’t hash out what FogBugz is and isn’t, because honestly I don’t completely know yet, I’m still feeling it out. But one aspect of it that I have touched already is the estimation portion. FogBugz allows teams to set up milestones, create tasks, and provide estimates, all in the aim of creating mathematically-sound delivery dates. It becomes more accurate over time, and it has a lot of features packed into its dense interface. FogBugz helps shape developers when tasks get estimated: the first time the developer places an estimate, FogBugz saves that estimate as the “original” estimate, even if it was very wrong! I learned this the hard way. The software reminds you that your original estimate was inaccurate, it forces you to at least think about it. Now, you can hide individual columns, so you're not stuck staring at it for the next few months, but the first time you realize your first estimate sticks, you'll start being a bit more aware.


At the very least, I'm now a little bit more aware of my own tendency to jump into things quickly, and I'll think twice about my estimate the next time I fill one in.

Want more info on FogBugz's Event-based Scheduling? Check out this link!