FogBugs and Kiln World Tour

The things I thought would not be so useful in a more Agile environment:
  • Evidence-based scheduling
  • Visibility over an individual developer’s workload.
  • Lots of the ways the data can be sliced and diced
  • Dependency management
  • So, you like it and you don’t like it?

    Yeah yeah, I’ve gone all multiple-personality again. The stuff I liked about the product would be dead useful for the types of projects that work that way - where you assign work to individual developers who estimate the work; where developers are assigned to specific projects; where stories / features might not be broken down into small, independent tasks. These places might be running waterfall, or some agile-ish process, or no process at all. A tool like this will give them much better visibility over what’s going on, over which deadlines won’t be met, over who’s estimates are flaky and who’s are generally reliable.

    However even before I joined ThoughtWorks, before I joined LMAX, I was sold on Agile as a more natural way to run development teams (this is despite having worked with Touch Clarity’s sort-of-XP and A Very Large Media Organisation’s ScrumBut). The problems that some of the features in FogBugz tries to address are similar to the problems that Agile (XP/Scrum/Kanban or some hybrid of these) is also supposed to address.

    All of those points could be blog posts in their own right, I know it’s taken me years to get my head around the way I personally see Agile. But you get the idea, or maybe you don’t - that’s fine, maybe you’re in exactly the sort of place that could use FogBugz to improve your productivity.

    ##FogBugz vs Mingle

    I started at ThoughtWorks last week, so I’d better mention that ThoughtWorks Studios have a competitor product, Mingle. I’m reasonably well-qualified to talk about it since I’ve been using it in anger for the last two years in a maturing agile environment, and I had my Mingle indoctrination induction last week.

    To me, the main difference is the angle the two products are taking to approach the same problem: how do you provide a tool that

    1. is easy and lightweight enough to use that people (particularly developers) will keep it up to date;
    2. tracks just the right amount of data that people have visibility over the state of development (What are we doing? Are we going to hit our deadlines? What are our blockers?)

    To me, it seems FogBugz is coming from the traditional development model - it might not be anything as formal as waterfall, but it may not be based on short iterations and assumes individuals rather than teams are assigned work. Mingle was developed for the Agile team, e.g. collective responsibility, pair programming, short iterations.

    Mingle is highly configurable, and while FogBugz has a number of templates and custom work flows, Mr Spolsky specifically stated at the demo that these really shouldn’t be used. That they’ve worked hard to find a process that works, and we should all follow that.

    So, Mingle embraces the differences between teams/processes and FogBugz specifically discourages it.

    I reckon these things are actually also the potential downfalls for both products too: Mingle can be abused so badly that it adds no value; FogBugz could be so prescriptive it slows down productivity.

    But it’s horses for courses, every tool has its advantages and disadvantages. Or should I be pushing Mingle at this point until I pass my probation??

    Kiln, and an introduction to DVCS

    Good Lord, I’ve written all that stuff and that’s only from the short demo at the start of the day.

    Fortunately I have a lot less to say about the latter part. It was an introduction to Distributed Version Control (DVCS), and it was pitched absolutely right for someone like me.

    I’ve never used a DVCS; most recently I’ve been using Subversion, but I’ve also used PVCS, ClearCase, VSS and a bunch of others (in fact, I’m pretty sure I’ve had to learn a new source control system every time I’ve switched project or company!). I’ve been introduced to Git over a lunchtime, and I read Martin Fowler’s blog post on version control tools. The intro provided by FogCreek was spot on for me. It showed me:

    The last point was particularly useful in giving some real-life examples of how to use a DVCS and why.

    Then there was some stuff on why Kiln might give you more than just the freebie Mercurial install.

    It was more useful in a general fashion than the FogBugz section. However, like the FogBugz talk, I got a good feel for the types of teams/companies Kiln might be good for, and why you might use it. Personally it convinced me that using a DVCS in general is probably better than Subversion (insert usual disclaimer of different tools being appropriate for different situations). It certainly encourages working practices that will lead to a) less accidental loss of code (after all, that’s what source control is for) and b) if well organised, better separation of bugs / features / stories and better integration across versions and branches.

    If you want to know what I’ve been blathering on about in this section, check out Joel’s excellent introduction to Mercurial. OK, I admit it, I haven’t read it all. But it seems to cover everything that was covered in the conference session, with Joel’s usual wit and appeal to the developer mindset.

    In Other News

    In terms of an education session, the “World Tour” was excellent - succinct, easy to digest, and (to my mind) aimed exactly at the audience.

    However. I actually ended the (half) day being slightly disappointed, and not just because these tools don’t seem to be ideal for the Agile team.

    In Conclusion

    1. A generally good, well-run event, especially as it was free (if I recall correctly).
    2. FogBugz and Kiln are excellent tools for a certain type of organisation / team, and I’m not talking about a small minority of teams here.
    3. If you’re Agile, these tools are probably not for you. You can get them to work, and if you’re “kind of” agile they’re probably better than a lot of your options. But true agile teams running an effective process might find themselves hindered more than helped.
    4. I’m going to download and install a DVCS the very next time I have to write a line of code.
    comments powered by Disqus