%title 2010-06-19 00:12:43
%date Atlassian, GO!
:blog:fossil:diary:

My experience with software developing in any sort of managed (read: rational) way is actually rather limited. Â I didn't <em>really</em> know what Agile was until a few days ago, I've only been using RCSes for the last few years, I sold or gave away all of my O'Reilly books, and I always seem to be a little behind the times. Â Now that I've been getting more and more into programming, though, I've decided that managed programming environments are most definitely a good thing, even as a solo developer. Â I read up on Agile, switched from Subversion to Git in several cases, and I've been trying to keep a little more current, finally caving and adopting an IDE (NetBeans) and some project management software.

<!--more-->I've been playing with several different systems for a few months, now, ever since I started working on my first really sizable Java project. Â My first experiments with integral products were with online systems. Â I worked with Kenai until Oracle took it down, and found the fact that I could have everything I really needed tied in with my project, even if it was a little slow. Â When Kenai left, I switched to Google Code, which I still use in some respects. Â Google Code has a significantly better interface, more consistent speeds, and of course I can commit all of my Django projects there as well.

Atlassian, however has topped all of those. Â I recently followed a friend into the <a href="http://confluence.atlassian.com/display/ATLAS/Here+Be+Dragons">Dragons</a> challenge and, as a result, wound up with a set of their products installed with evaluation licenses on my server. Â I found it comforting in a funny sort of way that they were perfectly willing to admit that they knew that their products could be a bitch to install (my words, there), and that if you could get their software up and talking properly, they'd send you a T-shirt. Â Of course, it was also just about the best way to learn the software possible, since the set-up had you create a project that was tied into each of the applications.

I started with Crowd, a SSO source for all of their projects, meaning that one sign-on would be valid for all products, even though they had different URLs (different ports). Â Armed with some prior knowledge, painfully earned, about <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560142">a problem with Java on Debian</a>, I got that up and running fairly painlessly. Â Actually, the entire process was rather painless, adding on JIRA (issue tracking) with GreenHopper (Agile), Confluence (Wiki, documentation), FishEye/Crucible (source management), and Bamboo (continuous integration/builds) with no really big problems, other than some mess with Maven and Ant in Bamboo. Â The hardest part, I think, was just keeping in mind all of the changes that had to be made to all of the various configuration files, though by the end, I was only glancing at the changes required to get applications talking with Crowd, I had done it so many times.

I'm really impressed with the quality and inventiveness of the products. Â Although Google Code and Trac, which I'll get to in a bit, offered much the same in terms of features, both seemed rather difficult or slow to use in comparison. Â Usually, JavaScript used in order to make a page flashy or animated is irritating at best, but when it's used to increase the usability and functionality of the website, it really adds a lot. Â Due to the comparatively static nature of Trac and GC, Atlassian's products come off as much more intuitive and comfortable to use. Â Now that I have six open projects and two implementations to keep track of, the last thing I really want is to feel like the management software is just getting in the way.

As noted, I have also started using Trac, for a different reason. Â I'm using Atlassian for all of my projects, which are open source and thus get me the software for free (once I apply). Â However, at one of my workplaces, I helped to implement a similar system for use with a single project, but multiple users. Â While I think the Atlassian software would be great, the project isn't open source, and I don't think the team would've been willing to spring for the cost of all of the software I just set up, no matter how awesome it is. Â The next best (free) thing by a long shot is Trac, which was a breeze to set up by comparison, and has much of the same functionality of JIRA, Confluence, and FishEye/Crucible, but without any of the bells and whistles. Â But hey, I'm learning how to do some of the stuff that Atlassian does with JavaScript, so perhaps I can contribute to Trac, since it's open source. Â Best of both worlds, then (and it's certainly better than using a word document to track issues and changes).
