This month, Atlassian launched the 2.0 versions of Crucible and FishEye, their collaborative software for coders. For those who're unfamiliar, FishEye is a browser for source code repositories, and Crucible is a tool for peer code reviews.
Both have had a complete UI makeover that shines, but despite a strong track record from Atlassian, there are some critical flaws. FishEye's new activity streams and profiles are valuable, but they're overshadowed by how cluttered and counter-intuitive Crucible's iterative code review system is.
New activity streams show commits, JIRA issues, and Crucible reviews. There's also fresh focus on individuals and projects, with impressive statistical charts to track what's going on.
Still, tracking all the stats on commits and other activity is a value proposition that's going to appeal to those managing teams, not those actually doing the work. Instead of the slick new capabilities, the biggest boost to adoption of FishEye is likely to be the beta support for Git, the version control system.
But the core of the product, code reviewing, is problematic in the new "iterative review" user interface. In short, it's anything but intuitive to do diff by diff comparisons. At this point, free and open source alternatives like the Google-made Rietveld for Subversion, or Review Board present a simpler way to do side-by-side comparisons. That's regrettable, considering that how valuable Crucible is when used alongside FishEye and JIRA.
There's no doubt Atlassian practices what it preaches when it comes to agile development. But the new features they've incorporated take the focus off code and put it on people and metrics. No matter how well-executed, that's a fundamental problem of strategy that tars the software.
TrackBack URL for this entry: http://www.readwriteweb.com/cgi-bin/mt/mt-tb.cgi/12095
Comments
Subscribe to comments for this post OR Subscribe to comments for all ReadWriteEnterprise posts
I agree with "most developers" from above that these complex code review tools are usually not productive. A few years ago I invested a lot of time in testing various tools (though Rietveld was not around, yet). In the end I opted for the KISS solution: using a simple pastie application.
I've written a bit about that on my blog if you are interested in more details: http://weblog.patrice.ch/2009/02/23/pragmatic-codereview.html
As a member of the Atlassian team responsible for Fisheye and Crucible, I'd like to respond to a few of the criticisms put forth in this post.
There's no question that FishEye is a valuable tool for development managers and technical leads, but it's equally important to individual developers. FishEye allows developers to precisely reference any line of code in any revision of any file, a communication tool that's
incredibly important when developers are trying to nail down tough bugs and communicate effectively in distributed teams.
Crucible's user interface has been carefully redesigned to make the review process as simple and intuitive as possible. Our iterative code review feature was developed in response to a stated customer need to have "ongoing" reviews that involve several iterations of work and rework. While Crucible supports these complex code reviews involving
multiple iterations, we also wanted to keep it easy to create a conduct basic code reviews from both the browser and the IDE. In both environments, a review can be started, conducted, and closed with just a few clicks.
The experience for developers reviewing their peer's code has also greatly improved: The new explorer-style treeview of files under review makes the reviewers job much easier, as do the filters which allow them to see (for instance) just those files containing unread comments. We feel this offers a much better and more intuitive user experience than
other tools for peer code review.
Similarly, in response to requests to make the comparison of file revisions easier, we're offering reviewers the choice of unified or side-by-side diffs, so they can stick with the view that works best for them and seems the least cluttered.
Ultimately we invite the developers who will work in FishEye and Crucible day in and day out to judge their merits. That's why we make it easy to trial without harassment from annoying sales people, and give free licenses to any open source project.
Our team just upgraded from Fisheye 1.6 -> 2.0.2 (w/ Crucible)
The reviews from the team members are universally negative, well beyond the normal amount of kvetching about application 'difference' during an upgrade.
The 'information density' of the entire product seems to have gone down significantly. The tight slick UI of the previous fisheye has been literally watered down, with colors smushed together so that it's difficult at a glance to tell the difference between file adds or deletes.
The cutsey 'Avatars' are useless, take up space, and can not be turned off. Ajax and rounded corners are used in inappropriate places. In general, it seems like the product is optimized for Crucible review interaction and as such the 'code transparency' feature set suffers.
Design by committee featureitis - blah!