zk/diary/2010-06-19-00:12:43.md

16 lines
4.8 KiB
Markdown
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%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).