18 Useful Reports for Your Development Team

For every development team, keeping track of its activities is important. Your project tracking tool is the perfect place for creating reports and analyzing these activities. However, sometimes it’s not obvious which reports you need to productively manage, plan and estimate your project activities, with all the different sets of data on features, tasks and bugs your team is working on. Let’s talk about that.

Suppose you have a development project, plus your company runs a number of other projects. In this post, we’ll answer the following questions:

  • What kind of reports do you need to keep track of your development team’s activities?
  • What kind of reports are useful to overview your progress & keep track of all projects in your company?

Having investigated this topic at length, we outlined a number of different kinds of reports and implemented them in YouTrack Harmony.

Here we’ll take data from a real YouTrack project and create an example of each report type. A description will be provided for each report, with a sample configuration. We’ll also use other JetBrains development projects to show examples of reports spanning multiple projects.

Most of the reports below are already available in the YouTrack Harmony EAP, so you can go ahead and try them out today.

YouTrack Harmony Reports

  1. State Transition

This report reflects the dynamic change of field values over a certain time period. For example, it shows how many issues have been Fixed by each developer in the past 6 months, or shows who has reported the most issues that ended up as ‘Won’t fix.’

Example 1: YouTrack Fixed/Verified issues in Spring 2014. For each developer, it shows how many issues ended up Fixed or Verified:

Project: YouTrack
Query: -Unassigned  (to exclude unassigned issues)
From States: Open, Submitted, in Progress, to be Discussed
To States: Fixed, Verified
Group by: Assignee

state transition

 Example 2: Who reported the most Won’t Fix issues in the past year?

Project: Marketing
Period: June 19, 2013—June 19, 2014
Type: State
From values: Submitted, Open, To be Discussed, Wait for Reply
To values: Won’t Fix
Group by: Reporter

won't fix

2. Matrix Report

This report demonstrates the distribution of two attribute values at the moment for any set of issues, presented as a matrix. You choose which attributes to use for X and Y axis and set any query to limit your set of issues.

Example:  States and Priorities Distribution in YouTrack project. This gives you an idea of how unresolved issues are distributed by states and priority in your project at the moment.

Project: YouTrack
Query: -Resolved
X axis: State
Y axis: Priority

state_priority matrix

3. Issue Distribution

A visual representation of the matrix report.

Example: How issue priorities are distributed by subsystems in your project.

Project: YouTrack
X axis: Priority
Y axis: Subsystem

subsystem distribution

You may narrow down the report by selecting which priorities to show. Click the Subsystem bar to open the list of corresponding issues.

4. Issues per Assignee

This report reflects the number of issues assigned to each member of the team at the moment, within one or more projects.

Example: How many unresolved issues are assigned to each developer in YouTrack project at the moment.

Project: YouTrack
Query: -Unassigned -Resolved

Issues per Assignee

Click on a developer bar to open his or her set of issues.

5. Issues per Project

This report shows the total number of issues at the moment, for any set of projects. It is a special case of the issue distribution report.

Example: Issue distribution in JetBrains Server Tools family of projects

Projects: YouTrack, YouTrack Feedback, TeamCity

issues per project

6. Pie Chart

The pie chart shows how issues are distributed at the moment by states, assignee, priority, types, etc. inside one or more projects.

Example: My Tasks. The pie chart shows how my unresolved issues are distributed by priority at the moment.

Project: YouTrack
Query: for:me #unresolved
Slices: Priority

pie_chart

7. Reopened Distribution

This report shows how many issues have been reopened, grouped by assignee, priority or project, over a given time period.

Example: How many issues, fixed by each developer, were later reopened in the past year:

Projects: YouTrack
Query: -Unassigned
Period: June 19, 2013—June 19, 2014
Group by: Assignee

reopened rate

8. Verified Distribution

Shows the number of verified issues grouped by assignee (QA), priority, project or any enumeration field.

example: How many issues each QA Engineer has verified this year.

Project: YouTrack
Query: -Nobody
Period: January 1, 2014—June 20, 2014
Group by: Verified by

verified rate

9. Time Report

The Time Report shows the total spent time working on project(s) or iteration(s) with the type of the work done and original estimation. It can be grouped by the type of work done or by users.

Example: Team time tracking report for the past month.

Project: Internal Development
Period: May 20, 2014—June 20, 2014
Group by: Work Author
Enable: Show work types

css_time report

10. Burndown Chart

This chart shows the ideal progress vs. actual progress for any set of issues over a certain time period. It can be based on issue count or any other kind of estimation value. Unlike Agile board’s Burndown, it’s not limited to a single Agile board or a single sprint.

For example, here is the Burndown chart which reflects the progress in the YouTrack development project in Spring 2014.

Project: YouTrack
Time period: March 1, 2014—May 31, 2014
Estimation field: Issue Count

Burndown

11. Cumulative Flow

This report shows the distribution of issue states for a given time period. Unlike Agile board’s Cumulative Flow, it can be built based on any set of issues for any time period. It may include several projects and iterations and a set of custom states.

For example, here is the YouTrack Cumulative flow. It shows the dynamics of selected set of states distribution in Spring 2014.

Project: Marketing
Time period: March 1, 2014—May 31, 2014
Type: State
States: Open, To be Discussed, In Progress, Verified

Cumulative flow

When you click any stripe on the chart, the report is narrowed down to a single state. For example, here is the report narrowed down to the ‘In Progress’ state change only:

in Progress Cumulative flow

12. Custom Issue Distribution

This report shows the overall issue distribution for a set of projects for the last X days. Each project is illustrated as a double-bar, where each bar can be customized to show a certain issue attribute distribution. For example, you can see the distribution of features, bugs, exceptions and states (open, in progress, fixed) for a set of projects.

This report is more complicated to configure, but very clear and useful for managers who are interested in the general overview of all company projects.

Example: How many new Features vs. Bugs were reported, and how many issues were Fixed/Duplicated/Closed in the past 3 months, in ReSharper, IntelliJIDEA, TeamCity, YouTrack and PhpStorm projects.

Projects: ReSharper, IntelliJIDEA, TeamCity, YouTrack and PhpStorm
Period: March 20, 2014—June 20, 2014

Bar 1:
New Features: created Query: type:Feature
New Bugs: created Query: type:Bug

Bar 2:
Fixed: resolved date, Query: state:Fixed -Exception
Duplicate:resolved date, Query: type:Duplicate -Exception
Closed: resolved date, Query: -Exception state: {Can’t Reproduce}, {Won’t Fix}, Obsolete

custom issue distribution

13. Resolution Time 

This report shows the average duration of issue life cycle each day. It also shows the minimum and maximum resolution time each day. For example, this report is perfect for SLA Management.

Example: YouTrack Feedback average resolution time for 2014

Project: YouTrack Feedback
Period: January 1,2014—June 23, 2014

resolution time

14. New and Reopened vs. Resolved Rate (in progress)

Gives you an idea of the rate of incoming and outgoing issues in your project(s) for each day/week/month/year. Shows how fast your team resolves the issues and gets new ones to work on.

15. Reported vs. Fixed Rate (in progress)

Shows the ratio between reported and fixed issues for each day/week/month during a certain time period, in one or more projects. Gives you an idea of your team fix rate versus the rate of new issues reporting.

15(a). Verified vs. Reopened Rate (in progress)

This report shows verified vs. reopened issues in each day/week/month over a certain time period in a single or multiple projects.

16. Average Issue Age (in progress)
Shows average time it takes to transit issue from state to another. For example, you may want to know how much time, on average, your issues spend In Progress.

17. Issues Assigned to a User (in progress)
Shows how assigned to a user issues are distributed per states, priority, subsystem, etc.

18. Issues Resolved by a User (in progress)
Shows how issues resolved by a user are distributed per states, priority, subsystem, etc.

We hope you find some of these reports useful for your team. You’re welcome to try them in YouTrack Harmony EAP.

We will keep adding more reports and sharing them with you as soon as they arrive. Please follow @youtrack to stay tuned.

Your feedback and input are extremely important to us. Please:

Keep tracking with pleasure!

Posted in features, release, tips | Tagged , , | 12 Comments

Webinar Recording: Making YouTrack Follow Your Process

The recording of our June 4th webinar with Dmitri Nesteruk, Making YouTrack Follow Your Process, is now available on JetBrains YouTube Channel.

YouTrack Logo

In this webinar, we demonstrated the ways YouTrack allows the issue tracking process to be customized so as to follow a defined process. We also discussed the ways in process automation is supported out of the box as well as the ways in which users can define their own custom process scenarios.

Thanks everyone who attended, hope you enjoyed the show an learned something new. We did our best to cover all the questions during the webinar and would like to share our Questions & Answers session, providing more details and useful materials.

Making YouTrack Follow Your Process Q&A Session

Q: Is it possible to pause the timer in the workTimer workflow?
A: Yes, it’s possible, you need to edit the ‘Stop timer rule’ in the following way: when State.becomes({Fixed}) || State.becomes({Paused})

Q: Is the time logged in case of changing state to any other state (e.g., Opened)?
A: Not in this particular workflow, but it can be edited to track any transitions.

Q: Will there be a language reference available for workflows in the near future?
A: Here is the Workflow Guide and here is the Workflow Language Reference Reference. You may also want to take a look at our Workflow Repository.

Q: Is there a way to have tickets flag up an email warning if they haven’t been updated after ‘x’ amount of time?
A: Yes, we have a Schedule rule for this purpose. You can even send email notification about overdue issues. We have this kind of workflow in our repository, please check: Due Date Management workflow.

Q: I would love to see a message box poping up allowing users to enter a message
A: Yes, that’s a good thing. We have this feature in our plans.

Q: What about changing the states to “won’t fix” from the combo-box of states
A: The warning message will appear on attempt to change the value from the combo-box in a same way it appears when applying the command.

Q: About the timer, does it only record time during work day hours?
A: Not this one, here is the example of the workflow rule you need:

var seconds = duration.millis / 1000;
var minutes = seconds / 60;
var hours = minutes / 60;
hours = hours – 16 * ((hours + 8) / 24);
var days = hours / 8;

minutes = minutes % 60;
hours = hours % 8;

if (days != 0) {
message(l10n ( Work time:  {days}  day(s)  {hours}  hour(s)  {minutes}  minute(s). ));
} else if (hours != 0) {
message(l10n ( Work time:  {hours}  hour(s)  {minutes}  minute(s). ));
} else {
message(l10n ( Work time:  {minutes}  minute(s). ));
}
issue.applyCommand(“add work Brief Client Review Today ” + days + “d” + hours + “h” + minutes + “m” + ” Brief Client Review Time Automagically Logged”);

Q: Is it possible to attach a state machine to a specific type of ticket, for example to use different state machines for bugs and normal tasks?
A: Nope, unfortunately not at the moment. However, we have this feature in our plans.

Q: I would like to know how to “unarchive” an archived sprint.
A: Sprint = Version (Fix version by default) in YouTrack. Please navigate to Administration->Projects->Project_Name->Fields-> choose the Version field that you have chosen to be used for Sprints on the Agile board. Open its Value Bundle, enable showing archived versions, and hit ‘Undo Archive’ for the version you need.

Q: Does YouTrack keep track of a “rank” or order in which to complete the tasks?
A:  Yes, YouTrack keeps the tasks order in several ways:
1. You can use ‘depends on’ link between issues to keep the order you need.
2. You can keep custom order in the backlog by dragging your tasks around.
3.You can also keep the order on the Agile board.

Q: In the Agile boards, how can I sort work in the backlog in the order that I want the work done?
A: You can sort the tasks in the backlog by dragging them around. The order will be kept on the Agile board and on the Issues list.

Q: How would I create a report which shows me current state (time estimated/time spent) of each project in the current sprint?
A: We’ll add this type of  Time Report to YouTrack Harmony, thanks!

Q: In the Agile board, sometimes it shows me the remaining time in the header, sometimes not. What are the conditions, that the remaining times are shown?
A: You need to enable Time Tracking for the projects added to the Agile board.

Q: Is it possible to add custom fields to a project, not a ticket? We use project leader and project owner and would like to store them in the project.
A: It’s not possible, but there is a workaround: creating a meta project with issues = roles in the project.  Please contact us for the details.

Q: Is it possible to show the priority & the estimated time for the tasks in the backlog?
A: On the issues list only. Here is the feature request, please vote.

Q: Is it possible to show the estimated time and the spent time in the structured ticket view?
A: Nope, it’s not possible at the moment. Here is the feature request, please vote and comment.

Q: Hmm, not working with JDK 1.8.
A:  JDK 1.8 is supported starting from YouTrack 5.1.3. Please check the Supported Environments for more details.

About the Presenter:

Dmitri NesterukDmitri Nesteruk is a developer, speaker, podcaster and a technical evangelist for JetBrains. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C#, F# and C++ programming as well high-performance computing using technologies such as CUDA. Dmitiri has been a C# MVP since 2009.

Thanks everyone who joined us, hope you enjoyed the show an learned something new.  Follow us on Twitter to get the latest news about the upcoming webinars and events!

Posted in how-to, tips, webinar | 2 Comments

YouTrack 5.2.1 Is Available

We’re glad to let you know that YouTrack 5.2.1 is released! Please welcome this minor upgrade, contains some important bug fixes and not only.

In YouTrack 5.2.1 we’ve added:

For more details, please review the full list of the release notes.

Download YouTrack 5.2.1 now and start using the latest updates.

Please note, that the v.5.2.1 contains an important refactoring, that optimizes the DB. The upgrade might take a little bit longer for large DBs, approximately, an extra 20 min for 100,000 issues.

If you are using YouTrack InCloud, your  site will be updated to the latest v.5.2.1 on Monday, June 2, 2014, according to our Maintenance calendar.

Keep tracking your projects with pleasure!

JetBrains YouTrack Team

Posted in release | Tagged | 4 Comments

YouTrack Harmony Roadmap

Today we would like to share our vision for the next major version code-named Harmony we’ve been working on this year.

Reports Dashboard

YouTrack Harmony is dedicated to reports that will address many issues relevant to managers and development teams alike. Reports will help you stay on top of all kinds of activities you track, and will extend the YouTrack project management functionality.

With YouTrack Harmony we will introduce a Reports Dashboard that can be configured on the user level and shared across the team or the whole company, based on the role permissions.

Please welcome the YouTrack Harmony Dashboard!

So, what kinds of reports can you add to the dashboard?

dashboard

At the moment we have around 20 different reports on our list. As we add more, we especially welcome your feedback to help us decide what to add.

Generally we divide reports into two main types: timeline reports and snapshot reports. Timeline reports show how data change over time, while snapshot reports give you data for the current moment, a certain time period, or a certain point in time.

Reports with Timeline

  • Burndown chart—an existing Burndown chart used by Scrum teams to track their progress within a sprint. In addition to the standard ideal Burndown and Remaining effort, we enriched this report with Spent time and Overdue effort if you have time tracking enabled for your Agile project.

  • Issue Reporting / Fixing Rate—this report shows the reported vs. resolved issues over the timeline. For example, you can see that 30 issues were reported yesterday and 20 were resolved, and you see how this ratio changes over time.

  • Issue Verifying / Reopening Rate—the same as reporting/fixing rate, showing the ratio of verified vs. reopened issues over time. This report gives you an idea of the quality of code delivered by your developers.

  • Resolution Time Report—shows the average time it takes for an issue to get resolved, and how this time varies.

  • Average Issue Age Report—gives you an idea of how quickly issues get fixed.

  • Abandoned Issues—this report gives you the list of issues that have stayed unresolved longer than a certain period of time.

  • Issues assigned/resolved to/by a user—this shows the number of issues assigned to /resolved by a user within a time period.

  • Cumulative Flow—an existing report used by Kanban teams showing the distribution of tasks on the Kanban board per States.

  • Issues by Priority—shows Unresolved issues distribution by Priority.

Snapshot Reports

  • Matrix report—an existing report that gives you the matrix of issues’ values based on the search request, two parameters. Always shows data up to date. For example, it shows the number of unresolved issues assigned to each team member by priority.

  • Time-tracking report—the existing report. Shows the  spent time vs. estimation for a certain set of issues and time period. Can be grouped by user or by issues, with or without work items with the type of work done.

  • Issues Per Developer/QA—reflects issues distribution per user for the last X days.

  • Issues Per Project—shows issues distribution per project for the last X days. Allows you to get an overall idea of what’s going on in different projects.

  • States Distribution—shows the distribution of issues states grouped by Project, Assignee or Priority field for the last X days.

  • Issue Verifying/Reopening Rate for last X days—shows the rate of verified/reopened issues for the last X days.

  • Pie Chart Report—represents the distribution of values of any enumeration or date field.

In the future we plan to provide an API for all this so you could add your  own custom reports as necessary.

Alternative Geeky UI

We are developers, and we think and create as developers, which may explain why YouTrack is somewhat of a ‘geeky’ tracker. Thinking about keeping balance and providing comfortable user experience for different roles, such as the development team, your customers and non-technical users, we decided to introduce the ability to use Alternative UIs.

In YouTrack Harmony we will offer you an Alternative Geeky UI, created specifically for the development team: developers, QAs, support engineers, and administrators. YouTrack Geeky UI is controlled by the keyboard only and follows the concept of minimalism, saving you time and optimizing the UX. Of course you’ll be able to switch between the UIs at any time. Let’s take a look at the key Geeky pages:

1. New Issue

Create+Issue

2. Issues List (with search box and individual issue preview)

List_Preview2

3. Command window on the Issues List:

List_Command

Alternative Geeky UI is the first step to providing multiple UIs for different roles and even to your own custom UIs.

More Features

1. Added the ability to use AND in search queries: we keep extending our powerful search language. This time we added the ability to search for several values within a single issue field or attribute as well as the ability to use parentheses in the search queries, combining several search expressions. For example:

  • search for multiple tags: tag important and tag documentation
  • combine several conditions: (Affected versions: 5.1 or Priority: Critical) and Fix versions: 5.2  
  • full text search: summary: customer and summary: report

2. Shortcuts Customization: YouTrack Harmony goes even more customizable. Now you can customize the list of YouTrack shortcuts for both Issues List and Agile Board. This version allows customization on the server level, and we plan to later implement it on the user level as well.

3. Multiple Drafts: Currently YouTrack keeps your unreported issue in a single draft. Now you’ll be able to create and manage as many drafts as you need!

Drafts1

4. Better integration with GitHub: now you can link your issues along with the commands to the pull request description. The changes will be applied when the pull request is approved.

We really want your feedback! Please leave your comments and let us know what you think about our plans.

We are planning to open YouTrack Harmony EAP very soon. So keep abreast of our news, for example by following @youtrack on Twitter!

Track and manage your projects with pleasure! 

Posted in news, release | Tagged , , , | 60 Comments

Live Webinar: Making YouTrack Follow Your Process, June 4th

Join us Wednesday, June 4th, 14:00 GMT (10:00 – 11:00 EDT) for a free webinar, Making YouTrack Follow Your Process with Dmitri Nesteruk.

Every company and every business has its own operational rules, and this affects everything including issue tracking. The way issues are assigned, analyzed and triage is unique, which is why the flexibility of an issue tracker is essential in bringing value to each part of the organization.

In this webinar, we shall see the ways YouTrack allows the issue tracking process to be customized so as to follow a defined process. We shall discuss the ways in process automation is supported out of the box as well as the ways in which users can define their own, custom process scenarios

Space is limited, please register now.

About the Presenter:

Dmitri NesterukDmitri Nesteruk is a developer, speaker, podcaster and a technical evangelist for JetBrains. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C#, F# and C++ programming as well high-performance computing using technologies such as CUDA. Dmitiri has been a C# MVP since 2009.
Posted in webinar | Tagged , , | Leave a comment

Helpdeskers, Support Multiple Customers in a Single YouTrack Thread

Starting with v5.1, YouTrack can be used as a helpdesk without having to create accounts for your customers (the setup process is described here). Well, we’ve just released YouTrack 5.2 which enhances this functionality by allowing you to support multiple helpdesk customers in a single email thread!

Use case
We want to support our helpdesk customers by email using YouTrack. Customers shouldn’t have to log into YouTrack, and our support engineers shouldn’t need to check their support mailbox. Our customers should receive all the notifications with the engineers’ comments, and the engineers should get all the customers’ replies as comments in YouTrack. If customers include additional recipients in ‘To’ and ‘CC’ fields, all those recipients should become participants of the corresponding conversation, get notifications and be able to add comments by replying to them (or to the original reporter).

Here’s a simple example:

  1. Valery, a customer, emails the help desk, CC’ing two other customers.

img_1

2. Thom, a support engineer, replies by posting a comment in YouTrack.

img_3_2

 

 

 

 

3. Valery and the other two customers on CC receive notifications of this.

img_41_last

4. Customer John replies to the notification, adding Valery in ‘CC’. The answer is added as an issue comment, and customer Johnny receives a notification of the John’s comment. Valery is excluded from the notification list, as she has already received the email.

img_5_2

Note how none of these customers had to create user accounts in YouTrack, meaning that this process doesn’t affect your license limitations at all. Isn’t that cool?

If you’re ready to try this out, let’s delve a little deeper into the configuration process.

Step-by-step configuration

Basically, the configuration process includes the following steps:

  1. Configure email notifications.
  2. Configure a help desk project.
  3. Attach a workflow.
  4. Configure mailbox integration.
  5. Resolve specific problems (if applicable).

Configuring email notifications

First of all, we need to make sure that email notifications are enabled and configured correctly on our server.

If you are using YouTrack InCloud edition and have NOT changed the default settings, you can skip this step and move on to the second step. In this case we have already enabled and configured sending email notifications for you.

If you are using YouTrack InCloud edition and you have changed the default settings, or if you are using YouTrack Standalone edition, you need to make sure that sending email notifications is enabled and working properly.

  1. Open Administration > Settings, and scroll down to the ‘Email’ section.
  2. Select the ‘Email’ check-box to enable sending email notifications.
  3. Provide SMTP server configuration and test the connection.

Important note about using Google mail:
If you are using Google mail server for sending email notifications, please make sure that the email address you use for the notifications is the same address you use for the helpdesk notifications. Google does not allow substituting sender’s email addresses. Thus, the per-project address you provide for a helpdesk project will not work if differs from the system-wide email notifications address.

When sending notifications is enabled and configured, you are ready to proceed to the next step.

Creating and configuring your helpdesk project

Create a new project, which you will use for the helpdesk:

  1. Open Administration > Projects and click Create new project link.
  2. Set the project’s name (‘Help Desk’), ID, and select a project lead.
  3. Assign an email address for the Help Desk project. Please pay attention to this step: To keep conversation with our users in YouTrack, we need a separate, unique email address for our project, so our customers get notifications from and reply to this particular email address. Typically this would be your support/feedback email address.

New Help Desk project

4. Configure issue fields for the Help Desk project: add assignees, remove unrelated default fields, configure related fields. In our case, we decided to leave only four fields: Type, Priority, Assignee and State (we renamed it to ‘Request State’).

Attaching a workflow

There are two possible use cases that we can address:

A. You are configuring helpdesk support in YouTrack for the first time.
OR
B. You have already configured NotifyUnregisteredUsers workflow in YouTrack 5.1.

A. You are configuring helpdesk support in YouTrack for the first time.
In this case all you need to do is to attach a new workflow:

  1. Open Administration > Projects page, open your Help Desk project and navigate to the Workflow tab.
  2. Click the Attach Workflow link and select ‘jetbrains-youtrack-notifyMultipleUnregisteredUsers’.
  3. Make sure to apply the two suggested quick-fixes. You need to apply them both, otherwise notifications will NOT be sent!
  4. Click Save.

attaching workflow

 

 

 

 

 

 

 

 

 

 

B. You have already configured the NotifyUnregisteredUsers workflow in YouTrack 5.1.

Note: If you like how your existing workflow works and don’t need to support multiple email addresses in ‘To’ and ‘CC’ fields, you can just leave everything as is. The old workflow will continue working. Still, the new version is compatible with the old one and also contains a prettier notification template. Give it a try!
Note: If you already have a running Mailbox Integration rule, make sure to delete your rule to prevent fetching emails while you are setting up the new workflow. You should change it anyway, as described in the next section.

  1. First, detach the previous version of the workflow. Select Administration > Projects, click the name of your Help Desk project, and in the Workflow tab click ‘Detach’ for the ‘jetbrains-youtrack-notifyUnregisteredUsers’ workflow.
  2. Rename the additional fields you have in your project according to the requirements of the new workflow: Open the Fields tab of your project, rename ‘Customer email’ to ‘All related emails’, and rename ‘Last comment author’ to ‘Last message related emails’. To do that, just click the field’s name and enter the new name.
  3. Attach the new workflow: Open the Workflow tab, click the ‘Attach workflow’ link and select ‘jetbrains-youtrack-notifyMultipleUnregisteredUsers’ (tiny hint: check the word ‘Multiple’ in its name!).

attaching workflow1

Configuring mailbox integration

1. Go to Administration > Mailbox Integration.
Add the mailbox for your project’s email (the one you provided as Project ‘from’ email while creating the Help Desk project). In our case we used ‘youtrack.demo.helpdesk@gmail.com’.

2. Add a mail processing rule: click the Add Rule link and set up the following parameters:
On the Main tab select project (Help Desk), mailbox (the one we’ve just created), and choose a rule maintainer.

3. Switch to the Filter tab, click the Folder drop-down list and select the folder from which we will fetch the emails. We used INBOX for our IMAP account.

4. In the Reporter tab, select the option ‘Always set as reporter’ and select a user who will be the reporter of all issues created from collected emails. (This is what guarantees that YouTrack will not create a user account for each customer who sends you a request.)

5. In the Postprocessing tab, provide the following command for two fields, ‘on issue created’ and ‘on comment added’:

Last message related emails ${from} ${to} ${cc}

(Feel free to copy & paste it from here without the leading spaces.) This command is used to temporarily store all the related emails on every message fetched. The fetching workflow will process this data, store some emails in ‘All related emails’ field, send some notifications and clean this field. So you will probably never see anything in the ‘Last message related emails’ field in your issues.

mail rule

Congratulations! You are done with the basic configuration and should be good to go with your help desk project. Still, we thought of a few tips to help you resolve specific problems (if applicable, of course).

Some tips for specific use cases

You have several aliases for your support email

Actually, this is our team’s case: you can contact us at youtrack-feedback@jetbrains.com or youtrack-incloud-support@jetbrains.com, and all these requests end up in one Gmail mailbox. As you can set up only one email in a project’s ‘From’ field, any additional emails should be processed via an additional workflow.

The solution is to create the following rule and attach it to your help desk project:

rule Remove additional feedback emails from All related emails
when All related emails.changed {
All related emails = All related emails.replace(
"email@test.com", "");
}

Repeat the ‘All related emails = All related emails.replace(“email@test.com”, “”);’ line in the rule as many times as needed, changing the email address as appropriate.

If you have any troubles with writing workflows, please don’t hesitate to contact our support team at youtrack-feedback@jetbrains.com or youtrack-incloud-support@jetbrains.com.

You want your customers to receive a confirmation message on issue creation

We prefer to minimize the number of notifications unregistered customers receive from YouTrack. That is why we do not notify them about creating issues from their messages.

However, if you do want to implement this type of behavior, simply add the following lines in the rule ‘Collect related emails on issue creation’ of the workflow ‘jetbrains-youtrack-notifyMultipleUnregisteredUsers’ workflow (right before the ‘Last message related emails=null‘ line):


var reporterEmail = Last message related emails.split(
" ",preserveAllTokens).first
sendMail(reporterEmail, “Your subject”, “Your email body”)

Summary

The idea of this version of the workflow is to support multiple users in a single thread so that they don’t even need to know about YouTrack (unless they enjoy reading small-font grey text at the bottom of their incoming emails). This updated workflow supports much more complicated cases than the previous one. The original customer can add more To and/or CC recipients at any moment of the conversation, and each of them, once added, becomes a participant of the issue.

We hope this blog post has already inspired you to try YouTrack as a helpdesk! All you need to do is Get YouTrack 5.2 and start using it as helpdesk right away.

If you already use YouTrack stand-alone, simply upgrade to the latest version 5.2 to enjoy all the fresh goodies. If you prefer to use YouTrack InCloud, we’ll do the upgrade for you, according to our Maintenance Calendar.

Get YouTrack 5.2 and helpdesk with pleasure!

Posted in features, how-to, release, tips | Tagged , , | 16 Comments

Cross-project Agile Boards in YouTrack: The Best Recipes

Today we would like to tell you about cross-project Agile boards and monitoring your work progress in several projects through a sprint or any other iteration.

General use case
My team works on two projects simultaneously, and I want to monitor the progress for both projects on the same board.

One answer that springs to mind is, “Create a cross-project board. What could be more obvious?” True, but to make it work smoothly and fit your specific process, you need to configure the board appropriately, and that might be not so obvious. We’ve prepared three recipes to cover three common cases, so you decide which one suits you best.

Recipes: Three Ways to Cook Cross-project Agile Boards

Basically, creating a cross-project Agile board is easy. You click the Create button, select projects, add a search query to filter the cards on the board if needed, and it’s done. But with a cross-project board you want to see different projects with unique sets of issue fields and their values on the same board. Configuring that is the tricky part.

Creating a Cross-project Agile Board

Creating a Cross-project Agile Board

First of all, we need to define which of the fields should the projects have in common for a board to work.

On an Agile board you view features and their tasks during a period of time: sprints for Scrum-like processes, and continuous flow of work for Kanban-like processes. If you follow a Scrum-like process, you need to create a sprint, while for a Kanban-like process you can leave the ‘sprint’ unscheduled. Sprints in YouTrack are defined by a field of the type ‘version.’ Thus, the first essential ingredient is the ‘version’ field.

By default, sprints are defined by the ‘Fix version’ field. If you haven’t changed the system defaults, the ‘Fix version’ field is auto-attached to every project in YouTrack. The field is the same but with a unique value bundle for each project (as, of course, you rarely use the same version for different projects). However, a sprint on the Agile board is a particular version value. Thus, to view tasks from different projects on one board, these tasks should be scheduled on versions with the same name. So even if your projects don’t share the same bundle of version values, YouTrack would try to match their values from the different bundles.

So, matching version value is the key ingredient for cross-project boards.

Of course, there are other fields that define different entities of the board (like color-coding, or a saved search to use as the backlog, or estimation, etc.) but they are out of the scope of this post. Sprints are essential.

Now, let’s list the recipes.

Recipe One: Clear and Simple

The first recipe is obvious: the projects on your board have one common version field (generally, Fix version) and share one bundle of versions. Plain and simple. In this case you can use all the advantages of the Agile board in YouTrack: smooth creating and planning sprints by dragging tasks from the backlog to the board, moving tasks across the board columns, monitoring the progress on the Burndown chart and Progress bar, etc.

Cross-project board with shared 'Fix version' field

Cross-project board with shared ‘Fix version’ field

However, this recipe with same actual versions is not always applicable in real life. We assume that many of our clients would prefer to keep ‘Fix versions’ bundle unique for each project. This brings us to the second recipe.

Recipe Two A:  Matching Version Name

Let’s assume that you keep different bundles for ‘Fix version’ field values in project A and project B. You need to add the same value for the ‘Fix version’ field to both project. If you choose this version value as a sprint on the board, YouTrack would watch all the tasks assigned to this version from project A and project B and display them on the cross-project board. In addition, when you create a new sprint from the cross-project board, YouTrack would add the created sprint name to the both projects ‘Fix version’ bundles. We’d say this is the most balanced recipe, since you get to keep both unique versions in projects and get the advantages of the full-featured Agile board.

Creating a Sprint for a Virtual Version

Creating a sprint for a cross-project board

Recipe Two B: Virtual Version

Here is one more option for those, who prefer to keep different ‘Fix version’ field bundles: you can create and attach to all projects on the board a version field, which will be used only to define sprints on the board. Thus, you will see all the needed tasks on the board, but sprints will become a virtual version, used only for monitoring progress on the cross-project Agile board.

Planning a sprint

Planning a sprint

Recipe Three: Unscheduled Versions

The third available option is ‘unscheduled’ versions. You can use it if your team follows Kanban principles, or when one project on the board does not have a version field at all.

Let’s say you have projects A and B, and project A has the ‘Fix version’ field while project B doesn’t. Then, to monitor both of these projects on the same board, set ‘Fix version’ as the sprint defining field, and then on the board select ‘Unscheduled’ sprint. You will see all the tasks from the project A with Fix version = Unscheduled and all tasks from project B, which will be considered unscheduled as well.

Unscheduled sprint

Unscheduled sprint

Actually, you can get the same result with Recipe Two, when you do not actually need sprints (for example, if you want to get overall view of the amount of tasks in your projects). In this case you just need to leave the common ‘bogus’ version field from the second recipe empty, unscheduled.

In case of a Kanban Agile cross-project board with a continuous flow of work, you can monitor the state of your projects using the Cumulative flow diagram and the Progress bar.

Well, that would be all about configuring cross-project boards for today. However, there are still a couple of tips and rules for you concerning a cross-project board:

  • When you configure a cross-project board, you can choose a field to be used which belongs to at least one project.
  • When projects on the board have different states bundles, choose one and YouTrack will try to match the values from all projects. For example, suppose you select to show only states from project A on the board. But if project B has a matching state value (let’s say ‘Done’), the issues in ‘Done’ state from project B will get to the board as well.
  • You can mix swimlanes and tasks from different projects on the board. That is, you can add tasks from project A to a swimlane which is a feature in project B.
  • Use ‘project-based’ color-coding to distinguish tasks from different projects on the board.
  • You can use Estimation on a cross-project board, if at least one project has a field of the proper type (period or integer). In this case, all the tasks from the project without estimation field will be calculated as zero.

We hope that you will find these tips useful for your Agile practice.  If you already use YouTrack, the time is just right to ‘cook’ your first cross-project Agile board. If you still haven’t tried it yet, get YouTrack now and apply one of our top recipes!

We look forward to your feedback, thoughts and suggestions.

Practice Agile with pleasure,
YouTrack Team

Posted in how-to, tips | Tagged , , , , | 3 Comments

YouTrack 5.1.2 Is Available

YouTrack 5.1.2 is released! This minor version includes important bug fix, which solves the problem you might have experienced upgrading from 5.1 to 5.1.1 using the exe file.

Get the latest YouTrack 5.1.2 right now or check the full list of release notes for more details.

Just to remind, if you are using YouTrack InCloud, your instance will be updated to the 5.1.2 version on Monday, March 24, according to our Maintenance Calendar.

JetBrains YouTrack Team

 

Posted in release | Tagged | Leave a comment

YouTrack 5.1.1 Is Out

Please welcome a fresh update for your favorite Agile issue and project tracker – YouTrack 5.1.1. This minor version brings a number of important bug fixes and cute little goodies for the recently released YouTrack 5.1.

The most important things you need to know about YouTrack 5.1.1 are:

1. A number of fixes for the mailbox integration, including processing emails with attachments, inline images and reply emails, checking a mailbox automatically etc.

2. JT-23695: a small improvement of our help desk support: an ability to download attachments for the unregistered users. Your external customers will now receive the email notification which contains a link to view/download attachment even if the customer doesn’t have access to your YouTrack issue, originally created from his/her email.

3. JT-22115: improved email filtering: user account is not created for a sender of filtered email, means that a new user account wont ever be created for spam or auto-reply email.

4. JT-23708: Agile board improvement: now you choose a sprint to move unresolved tasks from when creating a new sprint.

5. Multiple fixes and enhancements for our custom workflow.

Please take a look at the full list of YouTrack 5.1.1 release notes for more details. Get YouTrack 5.1.1 now and to enjoy your tracking process even more! By the way, if you are using YouTrack InCloud, your instance is already upgraded to the latest version, according to our Maintenance Calendar.

Keep tracking with pleasure!

 

Posted in release | Tagged , | Leave a comment

Multi-Level Agile Boards or How We Support Epics

We get quite a few questions from our customers which can be summed up as “Does YouTrack support multi-level agile boards, and do you have epics?” The short answer is “Yes.” For the long answer, please read on.

What is it all about?
Though there are no clear-cut rules in Agile for using the terms epics, user stories, features, and tasks, we understand epics as complex user stories divided into smaller and simple user stories, which are then split into particular tasks for developers. Another distinguishing feature of epics is their duration: they are usually complex, time-consuming, and in development for several sprints. Sometimes an epic may include user stories from different projects.

The question we need to answer is how we can effectively monitor both overall progress of implementing an epic, and plan and monitor particular tasks, on a daily basis. The former is more of a manager’s task while the latter should be tuned to each development team’s workflow.

What we suggest

In terms of YouTrack epics, features, tasks are an issue types.

In YouTrack Agile Board, you can see three levels of hierarchy: swimlanes, tasks, and their subtasks. However, at the third level, subtasks are displayed as a list of linked issues in the description of the parent task, in detailed view mode. That is, subtasks are not shown as separate cards on the board.

Swimlanes and tasks are associated by the parent->subtask link type. So in our case of multi-hierarchy,  epics and user stories (features) should be linked in the same way: all user stories included into an epic should be linked as subtasks to the corresponding parent epic issue. On the second level of hierarchy, all the tasks included into a user story (feature) should be also linked as subtasks to the parent user story issue.

To visually support multi-level hierarchy: epics->user stories->tasks we suggest using two boards—one for managers to monitor epics and user stories, and one for developers to view user stories and tasks. Here’s how you can do that:

  1. Add a new issue type ‘Epic’ for all projects the board will be associated with.
  2. Enable Time tracking for these projects. This way YouTrack will automatically calculate estimates and spent time in features and epics. The trick is to use the same Estimation and Spent time fields for all the projects on the board.
  3. Create a board for epics and set Swimlanes defined by issue of ‘Epic’ type. Epics will then occupy the highest level on the manager’s board.

    Epics Board Settings

    Epics Board Settings

  4. Select the appropriate Estimation field. It should be the same field we use for the Time Tracking.
  5. Your epics board will look something like this:
    Agile board with epics

    Agile board with epics

    As you see, it’s pretty easy to monitor the overall development progress with such a board. Epics are shown as swimlanes with the cards of user stories or features in development. If you enable the detailed view (click the down-arrow icon next to the view mode switches, and select ‘With description’ mode), you will see feature descriptions on cards as well as lists of these feature tasks.
    For the sprint in general, all the estimates and spent time are calculates automatically, due to enabled Time Tracking. You can see the circle charts for the sprint progress and for each column on the board.
    In addition to easy monitoring, planning is also made easy. Create new features on the board,
    or add them from the backlog (even with all their tasks and subtasks, you can just drag them to the board).

  6. Create another board for the development team. Use the same project(s), with the same Estimation field, but make swimlanes defined by issue of ‘Feature’ type. That’s it!
    Settings for development board

    Settings for development board

    The development team board will look something like this:

    Board for developers team

    Board for developers team

    You don’t see epics here, but it’s not essential for the developer team in their routine. What is essential is that all standard options for planning and monitoring team’s work as designed, while providing data for the overall monitoring.
    As long as we have Time Tracking enabled and we use the same estimations and spent time fields in all projects involved, the estimates and spent time are summed up for the features and are automatically added to the indices on the manager’s board, with epics.

YouTrack aims to provide you with all the means to practice Agile methodologies. We hope this post gave you some useful tips on how to make your daily routine more effective and easy keeping your eyes on the target and monitoring the progress.

Your comments are very welcome below.

Keep tracking with pleasure!
~ YouTrack Team

Posted in features, how-to, tips | Tagged , | 16 Comments