Not so long ago I was lucky enough to speak at our Getting Git Right tour about our migration from Subversion to Git here at Atlassian. I loved sharing our experience, and I had great questions from the crowd. It also confirmed my belief that many people need some time to make the transition from traditional SCMs to DVCS. There are many development teams still on Subversion, and the FishEye/Crucible team is on a mission to support them and provide great tools to help them develop better.
So this post is for them – to give an overview of what we’ve done in the past year to support Subversion, Perforce, Mercurial, and CVS, and to give an idea of what can be expected in the future releases of FishEye and Crucible.
Starting with bridging the gap between issues and code
All changes in code start with a story somewhere. Whether it’s about creating something new, fixing a problem, or optimzing past approaches, code starts with a requirement that you put in your issue tracker. It’s not a big problem when you’re a solo developer, but when you’re in a team with many code changes appearing every day, it can become hard to track your own work in the codebase. You can’t rely only on the issue status or the comments to understand what has been coded to complete the story. You need a better way to link issues and code, and this is one of the major improvements that we brought in the past releases: a better integration between JIRA and FishEye/Crucible.
The most significant change is the new JIRA development panel introduced in the last release, that brings all the code information front and center when looking at an issue.
Now you can easily see the commits, branches, and reviews associated with your issue. No need to scroll – with a single click you can drill down to get change details.
We also strengthened the JIRA integration inside FishEye and Crucible. First, we changed the layout of the issue dialog to show you all the information you need to understand what the story is about, the status and who is responsible for it. We also introduced the ability to transition issues directly in FishEye and Crucible so you don’t have to switch context.
The neverending quest for more performance
Codebases can grow at a fast pace, so we made some drastic changes to FishEye and Crucible to make sure we can support your needs. In the 3.0 release we updated the underlying indexing architecture to introduce a pipelined indexing approach for Subversion. Thanks to this, it’s now up to 10x faster to get recent changesets and to create reviews when new repositories are added.
But that isn’t the only performance improvement. Here’s a short list of other improvements we made over the last year:
- Indexing API and limits for reviews in 2.10
- Better concurrency and review creation in 3.0
- Improved source browsing and search in 3.1
- Faster quicknav in 3.2
On top of that work, we did our best to minimize the impact of upgrades to your system and reduce interruption for your teams. This work paid off, as many customers gave us great feedback on the speed improvements they experienced after upgrading to newer releases.
Bringing in a better experience for end users
Better performance is good, but we also wanted to simplify the user experience to help teams be more productive. The biggest change in the interface came with the new dashboard putting your pending reviews at the front so that developers always stay on top of their work. We also added a repositories and projects browser to be able to quickly jump to the right places.
But we didn’t stop there! We’re progressively implementing the Atlassian Design Guidelines (ADG) to provide a fluid experience across all Atlassian products. We’ve modified things like our branch selector and our content headers to make it easier to find information.
If you’re already on the latest version of FishEye and Crucible, you might be more interested in the future. While I can’t really disclose our roadmap, I would like to talk about our general themes and the direction we’re moving towards. In order to achieve a strong focus with the team we established the following values guiding the roadmap for the upcoming releases:
We want you to have a great experience when using the Atlassian platform. We’re working on better and smarter integration with JIRA, and we will explore more ways to optimize development workflows with the other products of our offering.
Performance and scale are a top priority for us and you can expect us to always look for better ways to support growing codebases. But it’s also about delivering the features that are going to help software teams be more productive, whether it’s better reporting or increased traceability of code.
We will continue improving our interfaces to give the best environment to development teams. We want to keep everyone happy and providing a nice and easy to use interface is a key element of success.
The past 12 months have been really exciting for us and we’ve released some great improvements for our customers. I wanted to step back to have a look at what we achieved and thank all of our customers that are trusting us every year. Don’t hesitate to add a question in the comments if you want to know more about FishEye and Crucible.