Anyone that’s been working in software development for a while knows that there is a whole bucketful of issue/task tracking tools. When starting a project, if a particular choice isn’t already pre-decided by someone above in the management chain, simply making the choice on which planning and issue tracking software to use can be a monumental task.
Some of the big ones you’ve probably heard of are Rational ClearQuest (IBM), Team Foundation Server (Microsoft), Bugzilla (Mozilla), and Mantis (Various, Open Source). The list goes on and on and nearly every developer has something they hate about each tracker that they’ve used.
I’ve long been a fan of the Ruby on Rails development environment, RubyMine by JetBrains, but have not heard much about their issue tracker, YouTrack, until recently. I thought I would give it a quick look to see what I can find to hate about it.
One thing that strikes me as interesting is the marketing of YouTrack as Agile/SCRUM-friendly. Having worked on projects with different management strategies, I’ve always been wary of selecting tools that put too much emphasis on a particular well-formed management ideology. I always end up fighting with the tools to fit in some minor difference in my management style.
Let’s get this show on the road.
Signing up for YouTrack was painless. JetBrains provides the option to use their hosted solution or host it on your own server. After selecting to trial their hosted YouTrack service and responding to the confirmation email, I was on my way.
Creating a Project
YouTrack provides all the basic functionality for an issue tracker…nothing really groundbreaking here.
After creating a project, you get the common interfaces for editing fields, creating/assigning users, and configuring a workflow.
Time Tracking must be enabled to add the Estimated Time and Time Spent fields to tasks.
Source Code Integration
YouTrack offers seamless integration with Github to map source commits to tasks. As someone that doesn’t use GitHub professionally, I would appreciate if it offered integration with other Source Code Management systems out of the box.
On a side note, the interface for YouTrack suggests that it is meant to integrate with TeamCity, JetBrains’ build server, which seems to integrate with far more SCMs than does YouTrack. My suspicion is that using these two in tandem would probably offer far more power than either on its own. However, I’m not familiar with TeamCity and don’t plan on saying anything else about it.
Creating a feature task or sub-tasks to a feature is painless. The important details of a task are right up front and all of the minor fields are in a property list on the right side of the Edit Task window.
I didn’t spend a great deal of time setting up an actual project; I simply toyed around with it to get a surface overview of the features. One feature that must be absolutely rock-solid and intuitive (for me anyway) is time tracking. I had a brief issue with the Time Spent field for tasks, which ended up being a user error; I was trying to edit the Time Spent directly and that’s not how YouTrack does things.
After I realized that users must enter their time with comments in the Time Tracking section of a task (duh), it made perfect sense. I do appreciate the fact that any time spent on a task can be monitored with comments.
Tracking Issues – General Opinion
There were two minor shortcomings in my opinion to the tracker.
Firstly, there doesn’t seem to be a way to view a hierarchical tree view of tasks while also viewing details for the project. For example, when managing a project, it’s important for me to see a list of features grouped with sub-tasks but also see the details (specifically the time tracking values) for the tasks. Basically, I would like a combination of the following two views:
The second shortcoming I experienced in my brief encounter was that YouTrack doesn’t provide the ability to view overall project numbers from the main issue tracker page. If I’m viewing all issues, I would like to see at a glance the total estimated hours along with the total hours spent (and sometimes other overall project numbers, like “approved budget”, “actual over estimate”, etc.). I realize I can create a project report for summarizing this info but that seems like overkill for numbers that should be available for quick viewing.
Of course, it’s quite possible that I could overcome this problems by spending some time digging to figure it out but it wasn’t immediately clear to me where I would go to do it.
Now, to take a look at what I hope is the interesting part…the Agile Board. First we create a board for our project. YouTrack provides lots of configuration options for a board. I just stuck with the default options.
While it can be a little overwhelming at first, JetBrains provides an overview video on their site as well as a Board Navigator image, with descriptions of the various areas of the Agile Board window.
Creating Features (or Swimlanes)
First we must create a Sprint for our board. Within a Sprint, Swimlanes are a way to track tasks for a particular feature. On the Agile Board they are represented as horizontal lanes of tasks for each feature.
Adding features/swimlanes and managing tasks on them is trivial. In addition to the buttons allowing you to create Tasks or Swimlanes directly in the Agile Board, you can also click the Backlog button on the left of the board to drag & drop features/tasks from the existing issue list.
I feel that JetBrains did a good job of making the Agile Board feel connected to the Issue Tracking system. I didn’t feel like I needed to switch away from the Agile Board to switch from a higher-level project management role to a more refined issue tracking role.
To be honest, if I were managing a project using SCRUM, I doubt there would be a reason to often switch to view the list of issues. Everything needed to manage issues is right there in the Agile Board window.
YouTrack seems like a robust time tracking system. I did hit a couple of hiccups that were mildly annoying but I didn’t find anything worthy of hateful scorn…yet. Managing individual features and tasks was very smooth (as it should be). My concern is that overall project level tracking when not using the Agile Board is somewhat lacking. While not naming any specific alternatives, I have seen other tracking tools handle viewing both a task list and overall project summary quite seamlessly.
To give a strong opinion of how well it works in managing an application, one would need to spend a much longer time actually managing a project. For Agile-managed projects the Agile Board seems to provide all the required tools.
I’m not convinced that a SCRUM/sprint-based approach suits every project; I’ve worked on a number of projects where smaller, iterative design cycles don’t quite fit. Of course, that’s a discussion for another day.