blog

YouTrack 5: First Impressions

by | Aug 16, 2013 | Developer Blog | 0 comments

Image of Rugby Players by John Shardlow via FlickrYouTrack 5, from developer JetBrains, is yet another issue tracker/project management tool offering Agile/SCRUM support. Is there anything special about it?

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.

Getting Started

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.

Software screen capture

Creating a Project

Software screen capture

Creating a new 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.
Software screen capture

Standard interface for editing fields to be supplied for each task.

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 Tasks

Software screen capture
Software screen capture
So far, not much is groundbreaking from other issue tracking systems. My first impressions are that it is well designed and has a nice look and feel.

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.

Tracking Time

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.

Software screen capture

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:

Software screen capture

Issue tracking tree view


Software screen capture

Issue tracking details view

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.

Agile Board

Software screen capture

An empty Agile Board.

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.

Software screen capture

Agile Board Navigator image

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.

Software screen capture

Basic Swimlane/Feature with tasks.

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.

Software screen capture

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.

Summary

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.

+ more

Accurate Timing

Accurate Timing

In many tasks we need to do something at given intervals of time. The most obvious ways may not give you the best results. Time? Meh. The most basic tasks that don't have what you might call CPU-scale time requirements can be handled with the usual language and...

read more