SW Development tools – Wiki & Bugs

22 Mar

I’ve concluded the tools analysis that I kicked off a few weeks ago. What initially began as a look into requirements management tools quickly expanded into the entire product development lifecycle. Tools can not make up for broken process, so that’s the place to start. As I looked back at what’s worked and not in the past, I realized that the MOST critical success factor has always been alignment. If engineering, product management, sales and the customer aren’t all aligned on what, when, how, and why, we create massive headaches for ourselves. To ensure alignment, we need one source of truth, one place to track everything that’s going on. If we need to keep two system in sync, we lose. If everyone in the company can’t see everything, we lose. If everyone isn’t bought into the process, we lose.

In order to get everyone on the same page, we need to look at the toughest participant. I’m sure this won’t come as a surprise to anyone, but usually that’s engineering. Not only are they the largest team, they also have the strongest opinions. Starting from that vantage, I realized the plan of record has to be kept in a bug database. It’s the only thing engineering will update. In my past lives I’ve many times tried to keep a separate list, one focused on features, and engineering’s DB focused on bugs. But what happens when you classify a bug as a feature enhancement? It’s such a grey area, do you start replicating and moving data? Duplicating it? Either way, it’s a disaster. I’ve gotten into massive fights over this before, and even if I was “right”, is it worth fighting that over and over?Yes, tools like Rally and Accept can interop with Bugzilla or Jira. But if I need to have the bug DB anyway, is the extra effort and cost worth while? For such a small shop as ours, I’m not sure the answer is yes. I’ve used Accept for a few years, and have loved the tool. For traceability and analysis, it’s the perfect tool. I think I may have let those aspects get in the way of focusing on what the requirements themselves are, and how we get alignment in the groups. Frankly, all the tools I looked at in the previous post just seem like total overkill for any <50 (and maybe even <300) person company.

Now clearly, the bug database by itself isn’t sufficient. You need a place for more unstructured data, for planning, notes, etc. For marketing data, sales plans, and just the rest of the company. Obviously, a wiki is the best place to put this. This leaves us needing a great bug DB, and a great Wiki. In a stroke, I’ve thrown out almost all the tools I was looking at before: Accept, Rally, Feature Plan, VersionOne. They all are… complex. I’m sure for a large company, they’d work great, and have their advantages, but for a startup looking at Scrum and frankly trying to save some money, I just couldn’t see the value. So that leaves us with only four options that I could see out there:

  • Fogbugz (with or without external wiki)
  • Twiki + Bugzilla
  • Trac
  • Confluence + Jira

Fogbugz I quickly ruled out. Although it’s got a great UI, and I hear good things about it, it’s also just not the right fit. Some of the additional features were lackluster (the wiki is atrocious, the forum useless compared to phpBB), plus it’s very general (good), and needs to be shoehorned to fit Scrum or other agile processes (bad).

The next three was a much tougher decision. Trac looks great. For an internal focused project, or an open source project, it’s probably the one I’d use. However, we have need for both private and external content, tighter security controls, and some more advanced commercial features that they don’t seem to cover. I REALLY liked Trac, but I didn’t see it fitting into our commercial environment.

Now it’s really hard. I LOVE twiki. Better than Confluence. I like Jira better than Bugzilla. Ultimately, the support & integration that Atlassian is providing, plus the larger suite of products such as Fisheye, Bamboo, etc all pushed me over the edge. Maybe it’s just a dream, but the thought of having a view into CI data, test status, check-ins, all tied and traceable, makes me a tingle.

From a cost perspective, for a small team like ours we’re looking at a $3,600 investment for Jira and Confluence, plus $1,800 for maintenance. We’ll put them in VMs on existing HW, running Fedora. The incremental admin costs for two new machines should be minimal. I’m figuring if we buy into their whole stack, we may wind up spending 10K with them. On the one hand, that ain’t chump change, especially when we could be getting it for “free” with Twiki/Bugzilla or even Trac for internal + Twiki for external wiki needs. I’m counting on the support, the features, and the overall new development will all make this pay off.

I know many other people out there on the internets have gone through similar evaluations. Which way did you go? 6 months or a year later, are you happy about it?

BTW, the photos are from a recent drive I did. They are there just for decoration.

Sphere: Related Content

  • did you consider looking at using TWiki and the TWiki based BugsContrib? (http://twiki.org/cgi-bin/view/Plugins/BugsContrib)

    BugsContrib is a TWikiApplication that has been distilled from a much larger Task management system, and as its a TWikiApp, is pretty simple to extend to do whatever you want / need.

    To see it in use see http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs

    Sven
  • On the other hand - you can integrate Trac and TWiki too - see my other work :) http://twiki.org/cgi-bin/view/Plugins/TracOnTWi...

    Sven
  • Mairon
    What did you end up going for? It's been a month ago :)

    We are actually in the same boat right now and are doing the same research. We were gonna go with VersionOne until we realized that it does not include a wiki.

    Then I stumbled upon Assembla (www.assembla.com).
    And I have to say that it looks really good.
    It has many features and supports many things (like scrum, wiki, trac/svn integration, a separate ticketing system etc) but still manages too look and feel simple enough for a small team as opposed to VersionOne.

    I'm currently evaluating both and then we'll make a decision but I have to say that Assembla is looking like the better option right now.
  • Hi Mairon,
    I've decided on Jira, Confluence, plus a plugin called Greenhopper. I'm insanely happy with it. We've been through a full sprint planning session, created 100 user stories, put 20 in iteration one, added 60 tasks, and now actually coding. So far, it's REALLY good. I've got a more recent blog post on it.
blog comments powered by Disqus