Baking Boards – Episode 5: CLion & AppCode Kanban Board

In this episode of Baking Boards, two of our Quality Assurance Engineers show you how the CLion and AppCode teams use their agile boards to follow a Kanban-inspired methodology.

Preparation

1. Create your board.
Start with the Kanban board template.
1-create
2. Add your projects.
You can add multiple projects, but on these boards, each team only manages issues that are assigned to one project. The CLion and AppCode teams have separate projects, and each project has its own board.
2-projects
For the Backlog option, choose Create new. You can set this up later.
Just click the Create Board button to continue with the setup.

3. Rename your sprint.
Our teams works in a continuous flow that is represented by a single, unscheduled sprint. To make this more obvious, they renamed the default sprint.
3-sprints

Follow these instructions:

  • Open the sprint drop-down list.
  • Click the Edit icon next to the First sprint.
  • Rename the sprint. We changed the name to Current.
  • Leave the sprint as unscheduled and apply your changes.

4. Set sprint options.
For a Kanban board, you would normally add all new issues to the board when they are submitted in the project. These teams use the backlog to prioritize issues and manually add the issues to the board.

However, they use the Automatically add new issues to Current sprints option in order to transfer the issues between the CLion and AppCode boards. When an issue moves between the CLion and AppCode projects (which happens quite often), unresolved issues are assigned to the current sprint in the new project automatically. This ensures that the issue appears in the same stage of development on the Kanban board for the new project.

5. Define columns.
Each team identifies columns with the values that are stored in the CIDR Kanban State field.

5-columns
This field is attached to the CLion project and the AppCode project, so they use it to define the columns for both boards.
The values in this field represent the stages in their development process. They use the stages Analyse, Develop, Review, Ready to test, Test, Merge, and Done.
Merge is a special stage where a task is ready but not yet published in the release branch. When the task is merged to the release branch, it moves to the Done column.

6. Set WIP limits.
These teams limit the work in progress for every column except Done.
6-wip
The WIP limits are tuned according to the number of team members who work on each stage and the number of tasks they are comfortable working on in parallel. When cards in a column exceed the WIP limit, this indicates that there is a bottleneck in this stage of development.

7. Define swimlanes.
Here, the teams also use a dedicated custom field, CIDR Kanban track, to separate tasks into different streams. This field stores two values: Priority and General.
Priority tasks go on the top, and should be taken first.
7-swimlanes

8. Configure cards.
The teams use the swimlanes to indicate which issues need the most attention, but they also use the values in the Severity field to highlight cards on the board. This helps us see if there are any issues in the General swimlane that need to be moved to the Priority track.
8-cards
9. Pick a chart.
They don’t work with the chart on these agile boards – the WIP limits help them to identify bottlenecks. The default chart option for a Kanban board is Cumulative flow, so it’s already set up if you want to use it.

10. Build the backlog.
Each of these projects use a saved search that represents the incoming queue of issues.
Each saved search sorts issues in a custom order. They use the custom order in the issues list to prioritize the queue.
This search query simply shows any issue that is unresolved in either project.
10-backlog

Serving Suggestion

Prioritizing issues in the queue is an important part of the process for both teams. The teams organize the queue during planning sessions and revisit the priority on a regular basis. Planning sessions occur after every major release. The teams makes a preliminary agreement on the priority for each task and who will take it.

The queue is updated when new critical issues or regressions appear, or whenever the teams just feel that the order needs to change.

Developers also have their own lists of things to do. The queue is simply a guideline. When developers choose their next task, they either look into the backlog for an issue in the queue or check their personal list.

On any Kanban board, tasks eventually start to pile up in the Done column. When these teams publish an EAP or release version of their product, they remove all of the issues that are included in the release from the board. The fastest way to clean up the Done column is to search for all of the resolved issues that were included in the latest release, for example, in: CPP version: {CLion 2017.1.1} State: Fixed and update them with a command. For example, the command to remove issues from the CLion board is remove Board CLion Kanban.

Secret Sauce

The CLion and AppCode teams use several workflow rules that automatically update values in issues that are managed on the board. The following workflows are triggered by events on the board:

1. When a user moves an issue to the board, the card is assigned to the current user. This workflow also assigns a card to the QA Engineer who moves it to the Test column. The assignee is not updated when cards move between other columns — these assignments are set manually.

2. When an issue is added to the board, the value in the CIDR Kanban Track field is set to General (if the field was empty). This workflow fires when a developer adds an issue to the board with a command or by setting a value of the CIDR Kanban State field in the issue itself.
This ensures that the issue is added to the correct swimlane. If the value in the CIDR Kanban Track field is empty, the card appears in the swimlane for uncategorized cards, which is not where it belongs.

3. When a card is moved from one column to another, changes are synchronized with the value that is stored in the State field. The CIDR Kanban State field stores values as enumerated types, not states. If the value for the State field is not synchronized with changes on the board, the issues are never moved to a state that is considered to be resolved.
This workflow sets the value for the State when the following changes are applied to an issue:

  • When a card moves to the Done column, the state is set to Fixed. The issue is then considered to be resolved. If the card is currently assigned to the Priority swimlane, it moves to General.
  • When a card is added to the board (meaning the CIDR Kanban State field is set to any value other than Done), the state is set to In Progress.
  • If an issue is removed from the board (meaning the CIDR Kanban State field is set to an empty value) and an issue has the In Progress state, the state is set to Open. In this case, the workflow also removes the issue from the current sprint and sets the CIDR Kanban Track field to an empty value.

4. When a card moves to the Test column, the no testing tag is removed from the issue.
The team uses the no testing tag to flag trivial fixes. The developer and reviewer can agree that an issue doesn’t require testing and add the tag. However, if QA disagrees and decides it should be tested, the tag is removed automatically. When QA agrees to pass the issue without testing, the tag remains as an indicator that the fix was not tested manually.

Here is the workflow code:

Kanban WF_1
Kanban WF_2

5. When an issue moves to the Done column, the user is prompted to set a value for the Fix versions field. This workflow ensures that only tasks that are ready for release are moved to the Done column.
Kanban WF_6
Note that this change isn’t actually triggered when the value for the CIDR Kanban Field changes. Instead, it is triggered by the workflow that synchronizes changes in this field with the value for the State field. This behavior is managed by the third workflow in this list.

Cook’s Note

As you can see, these teams follow a hybrid agile methodology. They call it ‘Kanban-inspired’. However, it works well for them, which again proves the main concept of any agile methodology: there are no strict rules to follow. Being agile means being flexible and ready to continuously tune your process.

If you are new to agile, and want to try a Kanban approach, we recommend that you start with a traditional Kanban practice. You can follow the setup that is described in our Kanban tutorial and tune it as you move forward.

Good luck with your Kanban transformation!

Posted in how-to, newsletter, tips | Tagged , , , , | Leave a comment

Baking Boards – Episode 4: YouTrack Scrum

In this episode of Baking Boards, we show you how to build and use a Scrum board for agile software development. This is the same board that is used by the team who built the agile board in YouTrack!

Preparation

1. Create your board.
We built this board using the Scrum board template.
1a_create board

When you create the board:

  • Select the projects that you want to manage on the board. On this board, we manage issues in the YouTrack and YouTrack Backlog projects.
  • For the Backlog option, choose Create new. We’ll customize the backlog later.

1b_new board
2. Create a sprint.
We assign each sprint a number as the sprint name and set the schedule for two weeks.
Most sprints start on a Monday and end on the following Friday.

2_new sprint
3. Set sprint options.
We pull user stories from the backlog, so we don’t use any options that add issues to the board automatically.

3_sprint options
4. Define columns.
Columns are identified by values from the State field. We have separate columns for Open, In Progress, To be discussed (merged), and Fixed.
There’s an additional state in our projects, but we don’t add it as a column on the board. When an issue moves from Fixed to Verified, it disappears from the board, but is still assigned to the sprint.

4_define columns

5. Define swimlanes.
Most of the swimlanes are identified by issues that are assigned the User story value in the Type field. From time to time, we add a special swimlane for reducing technical debt, so we add issues that are assigned this type as well.
We show the swimlane for uncategorized cards at the top of the board.

5_define swimlanes

6. Configure cards.
When we add a card to the board, the default value for the Type field is Task.
The Color Scheme is based on the set of values for the Priority field.
We also enabled the option to show colors for other custom fields.

6_configure cards

7. Build the backlog.
We create user stories in a dedicated project for backlog issues. The saved search for the backlog uses a custom sort order. We review and prioritize issues in the backlog when we plan each sprint.

7_build backlog

This search query:

  • Shows only issues that belong to our project for backlog issues (YouTrack Backlog, YTB for short)
  • Shows only issues that are unresolved (#Unresolved)
  • Excludes issues that are already assigned to a sprint on the board (has: -{Board YouTrack}

Note: We don’t configure the chart option on this board. Our approach to Scrum includes a few unconventional practices that reduce the effectiveness of the burndown as a reporting tool.
We don’t estimate tasks.
We continuously add new issues to the board during the sprint.
We split issues that were created during the planning into smaller tasks.
Our focus is simply to finish as many user stories as possible before the end of the sprint. To track our progress, all we have to do is look at the number of unresolved swimlanes on the board.

note_no-chart

Posted in how-to, newsletter, tips | Tagged , , , | Leave a comment

YouTrack 2017.2 (build 32799) bug fix is here

A fresh bug fix for YouTrack 2017.2 is out (build 32799).

This update brings fixes and improvements for reports, agile board, and a number of usability and performance fixes. For more details, please refer to the Release Notes.

Download YouTrack 2017.2 (build 32799) and enjoy the latest version today.

If you use YouTrack 2017.2 InCloud, your instance will be upgraded according to our Maintenance Calendar.

Posted in newsletter | Tagged , | Leave a comment

Baking Boards – Episode 3: YouTrack & Hub Product Marketing

In this episode of Baking Boards, our Product Marketing Managers show you how they manage marketing-related activities in 20 different projects on an agile board.

Preparation

1. Create your board.
Start with the Scrum board template.
1-create

2. Add your projects

  • First, make sure your projects all use the custom field that you want to use to identify columns on the board. It’s best to use the default State field. They don’t have to use the same set of value for this field, but if they don’t use the same field, you won’t be able to manage these projects on the board.

2-projects

  • Add all of the projects that you want to manage on the board. We manage issues from 20 different projects on this board – so can you!
  • For the Backlog option, choose Create new. You’ll have plenty of time to customize this query later.

3. Create your first sprint.
This board uses sprints that correspond to each calendar month. Here we’ve set up a sprint for April 2017.
3-sprints

4. Set sprint options.
We either pull issues from the backlog or add issues directly to the board. To do the same, leave the option to Manually assign issues to sprints enabled.
4-sprint-options

5. Define columns.
Columns are identified by values from the State field, which is used in all of the projects that we manage on this board. However, many of these projects use a custom set of values for this field.
To configure your columns like we do, click the Add column control and select all of the values that you want to see on the board.
5a-add-columns
When you’re done, use the Merge with control to combine similar states.
5b-merge-columns

6. Define swimlanes.
Most of the swimlanes on our board are identified by issues in our own project. These are assigned the Epic value in the Type field.
Here again, we run into problems with issues in other projects that don’t use the same set of values for a custom field. To use issues from other projects as swimlanes, we added issues that are assigned the Feature value to our configuration.
6-swimlanes
We show the swimlane for uncategorized cards at the bottom of the board.

7. Configure cards.
We create a lot of issues directly on the board. When we add a card to the board, the default value for the Type field is Task.
The Color Scheme is based on the set of values for the Priority field.
We also enabled the option to show colors for other custom fields.
7-cards
We don’t estimate all of our tasks, but when we do, we show the estimations on the board. We use the Estimated time field to store estimations in our project, but other projects use other fields — assuming they estimate their tasks at all.

8. Pick a chart.
For this board, we use the Burndown chart. We didn’t include the chart in the demo, but since we switched to monthly sprints, we found it helps us track our progress.
8-chart
The Query setting filters out parent tasks, so we can track our progress for just the subtasks.

9. Build the backlog.
We use the backlog to prioritize issues in our project. The saved search sorts issues in a custom order.
9-backlog
We use the following search criteria to define the backlog:
9b-saved-search
This search query:

  • Shows only issues that belong to our project (Marketing)
  • Filters issues in the project to show only specific subsystems (Subsystem: {YouTrack marketing}, {Hub marketing})
  • Shows only issues that are unresolved (#Unresolved)
  • Excludes issues that are already assigned to a sprint on the board (has: -{Board YouTrack Marketing}

Serving Suggestion

As you work with this board, keep an eye on the header. Here, you can find a link to issues that no longer match the settings that define columns or swimlanes.
serving-suggestion
When you manage issues that belong to other projects, you’ll often run into project managers who add or rename values in the custom field that you use to identify columns on the board. When issues are assigned these new values, they can mysteriously disappear from your board. Click the link in the header to show the list of issues that are no longer visible on your board and update your settings, if necessary.

Posted in how-to, newsletter, tips | Tagged , , , | Leave a comment

Baking Boards – Episode 2: JetBrains Design Team

In this episode of Baking Boards, we show you the agile board that the design team cooked up to manage issues in their project.

Preparation

  1. Create your board.
    We built this board using the Custom board template.

1a_create

When you create the board:

  • Select the projects that you want to manage on the board. All of the issues that we manage on this board belong to the same project.
  • For the Backlog option, choose Create new. We won’t do anything with it, but you need a backlog to create the board.

1b_create

2. Define columns.

With the custom board template, you have to define your columns first. On our board, columns are identified by values from the State field. We merge the Submitted, Open, and Reopened states in the first column. The second merged column shows issues that have the states Incomplete, or To be discussed. We then have dedicated columns for the states In Progress, Wait for Reply, and Fixed.

2_columns

3. Create a sprint.

Now that your board is configured correctly, you can add your first sprint. This board uses sprints that correspond to the seasons on the calendar. We set the sprint name to the season and year and schedule each sprint for three months.

3_sprint

4. Set sprint options.

We use the Add new issues to sprint option and select the current sprint.
When we add the next sprint to the board, we update this option to add issues to the new sprint.

4_sprint options

 

 

 

 

 

 

5. Define swimlanes.

Here, we identify swimlanes for each value in the Assignee field. This creates a separate swimlane for each member of the team.
We show the swimlane for uncategorized cards at the top of the board. New issues that are added to the board automatically appear in this swimlane.

5_swimlanes

6. Configure cards.

We don’t have the option to set the default issue type for new cards. That’s because we define swimlanes by assignee. Which is fine — we use the Type field to indicate whether the design request is for an icon, t-shirt, banner, and so on.
The Color Scheme is based on the set of values for the Priority field.

We use the Show colors for other custom fields option to show color indicators for the Priority field, but we don’t really need it. The first custom field in our project is Due Date, so we work against the deadline.

6_cards

There are a few features on the board that we don’t use at all:

  • Backlog — with the option to add new issues to the sprint enabled, we don’t keep a backlog. New issues appear on the board automatically and are assigned to a designer shortly after they are reported.
    If you have unresolved issues in an existing project that you want to migrate to the board, create a saved search that contains these issues and use this saved search as a backlog. Once you’ve moved all of the issues from the backlog to the board, you can collapse the backlog and forget about it.
  • Charts — we don’t work with charts on the board. If you’re looking to build a board that’s similar to this one, you can pick whichever chart suits your style.

Secret Sauce

As you may have noticed in the screencast, our design team has two team leads. They review all cards that are added to the board automatically and assign each issue to one of our designers.
What you don’t see is the workflow that is attached to the Design & Artwork project. This workflow blocks anyone other than these two team leads from changing the value in the Assignee field.

This means the team can make their board visible to other teams at JetBrains, but they have full control over who takes each assignment.

Here’s the rule:

design workflow rule

The workflow allows any member of the design-artwork-assignee-updaters group to set the value of the Assignee warning. If the team leads need someone to assign issues in their absence, they just add them to the group.

If anybody else tries to assign an issue in the project, an error message displays the names of the people they can contact to get the issue assigned to a designer.

Posted in how-to, newsletter, tips | Tagged , , | Leave a comment

YouTrack 2017.2 is Released!

Please welcome YouTrack 2017.2!

800x500_blog_YT_2017_2_

YouTrack 2017.2 redesigns the profile page, adds the ability to change the owner of an agile board, and introduces experimental features and other enhancements.

New Features

  • User profile
  • Board owner
  • Current Sprint

Experimental features

  • Workflows in JavaScript
  • Activity stream

Enhancements

  • Dashboard improvements
  • Simplified board commands

Sounds good? Get YouTrack 2017.2, register a new InCloud instance or download a standalone version today.

User profile

YouTrack 2017.2 introduces a redesigned user profile. The updated interface lets you manage your general settings, notifications, tags and saved searches in one place. If you use YouTrack Standalone and Hub as an external service, you can access your profile in the connected profiles block directly from general tab.

User profile1

The second tab lets you view and manage your personal list of tags and saved searches.

Userprofile2

On the third tab, you can manage your personal notification settings, including notifications that are sent by the TeamCity integration.
User_profile3

Changing the board owner

You can now change the owner of an agile board in the Board Settings panel. Simply click the name of the current owner and then choose a new owner from the drop-down list. This feature helps you manage your agile boards and adapt to organizational changes.
Board_owner

Current sprint

You can assign issues to the ongoing sprint by using the current sprint command. Reference the current sprint in search queries and commands. You can also create reports that track your current efforts automatically if you reference the current sprint in the search query.
Current_sprint_new

The name of the current sprint is shown in bold in the sprints drop-down list.

Experimental features

In the recently published roadmap, we mentioned a new approach to YouTrack releases. Starting with YouTrack 2017.2, you can enable experimental features for your InCloud instance or Standalone installation. If you are an administrator, enable the features you want to try on the Feature Configuration page, which you can find on the Global settings page. You can enable the features system-wide or for specific groups. 2017.2 introduces two experimental features: workflows in JavaScript and Activity Stream.

Feature configuration page

Workflows in JavaScript

In YouTrack 2017.2 you can experiment with our built-in web-based workflow editor. This new feature lets you write a workflow from scratch right in YouTrack. You can now write workflows in JavaScript instead of the domain-specific language used in the previous workflow editor. You can also write a workflow in any IDE that supports JavaScript, pack it into a ZIP file and import it into YouTrack. The new editor supports custom scripts, which lets you better organize and structure your code. You can define your own functions and objects and use them in other rules and workflows.
Workflow

To try the new editor, enable it on the Feature Configuration page and check the updated documentation.

Activity stream

YouTrack 2017.2 introduces the first version of Activity stream. This functionality replaces the tab interface in issue views for comments, history, linked issues, similar issues, time tracking, and VCS changes. These components are merged into a single stream that you can filter to display specific types of activities. In the current version of Activity stream, you can add work item and comments. You can also apply filters to display either work items or comments separately.

Activity_stream

Other improvements

Dashboard improvements

In YouTrack 2017.2 you can customize the title for any widget. This helps assign meaningful titles and better distinguish between widgets that use similar queries.

Dashboard_new

Simplified board commands

YouTrack 2017.2 also makes board commands better. You can now add and remove issues from the current sprint without specifying a sprint name. For example, use the command Add Board name to add an issue on the current sprint of the board.

Board_command

Give YouTrack 2017.2 a try! Download it today to enjoy all the features! Your feedback is highly appreciated, so please share it with us in the comment section below.
For more details about the release, check the Release Notes.

If you are using a cloud-based version, your instance will be upgraded to the latest version automatically according to our Maintenance Calendar.

Posted in news, newsletter, release | 2 Comments

Baking Boards – Episode 1: YouTrack & Hub Documentation

Welcome to the Baking Boards vlog series! This series is devoted to showing you how we at JetBrains configure and use Agile boards in YouTrack.

Different teams use boards in different ways. You’ll see examples from Product Development, Design, Marketing, Technical Writing, and even a personal board. Each episode shows you how one of our teams manages a project on an agile board that supports their process. We also include a recipe to follow if you want to “bake” a board just like it.

Let’s cook!

In the first episode of Baking Boards, we show you how our technical writers cooked (that is, configured) their agile board to manage documentation tasks for YouTrack and Hub.

Preparation

1. Create your board.
We built this board using the Scrum board template.

1_scrum-template
When you create the board:

  • Select the projects that you want to manage on the board. All of the issues that we manage on this board belong to the same project.
  • For the Backlog option, choose Create new. We’ll customize the backlog later.

2_new-scrum-board

2. Create a sprint.

This board uses sprints that correspond to major releases in YouTrack and Hub, however, we only assign each sprint a name.

All sprints are unscheduled.

3_edit-sprint

3. Set sprint options.
We pull all of our issues from the backlog, so we don’t use any options that add issues to the board automatically.

4_sprint-options
4. Define columns.
Columns are identified by values from the State field. We have separate columns for Open, Reopened (merged), In Progress, In Review, Ready, and Published.

5_columns

5. Define swimlanes.
Swimlanes are identified by issues that are assigned the Epic value in the Type field.
We show the swimlane for uncategorized cards at the bottom of the board.

6_swimlanes

6. Configure cards.
When we add a card to the board, the default value for the Type field is Task.
The Color Scheme is based on the set of values for the Priority field.
We also enabled the option to show colors for other custom fields.

7_cards

7. Pick a chart.
We didn’t show our chart in the demo, but for this board, we use the Cumulative flow diagram.

8_chart

8. Build the backlog.
We use the backlog to filter out issues that we don’t want to manage on this board. Our backlog uses the following saved search:

9_backlog

This search query:

  • Shows only issues that belong to our project (Ring Docs)
  • Excludes issues from specific subsystems (Subsystem: -Wording, -Screencasts)
  • Shows only issues that are unresolved (#Unresolved)
  • Excludes issues that are already assigned to a sprint on the board (has: -{Board Ring Docs}

Enjoy! Bon appetit!

Posted in how-to, newsletter, tips | Tagged , | Leave a comment

Tune Your Agile Board with YouTrack Tweaks Extension

When you work with issues on your Agile Board, it’s important to configure it the way you prefer. Sometimes you don’t have enough permissions to edit the settings, or you simply want to use more functionality on your board.
Today we’ll tell you about YouTrack Tweaks, a Chrome extension which provides per-user YouTrack customization.

What’s in there?
The extension lets you customize the view of the cards on your Agile Board and enable desktop notifications. Since the extension was released just recently, more features are coming soon.

Agile board cards tweak
You can choose the custom fields that you want to show on the cards on your Agile Board, including a project name. These tweaks let you see more useful information on the card using a small view mode on the board, which is very useful for multi-project boards.

YT tweeks blog

The extension also lets you set up colors for custom fields if you don’t have enough permissions in YouTrack. Simply choose the field that you want to apply color to and click the “Auto-generated colors” button.

YT tweaks

Agile Board desktop notification
You can also enable desktop notifications for your Agile Board. Set the conditions and get the notifications for new issues right away. For example, to get desktop notifications for newly created issues with a bug type on your board, set “Type=Bug”. You will get these notifications even if you work in another tab. Click the notification popup to open the issue. (However, note that the tab with the Agile Board must stay opened in your Chrome browser.)

Yt tweaks2

Two view settings modes are available: expert and simple. The expert mode lets you limit the usage of any tweak by specifying a YouTrack instance URL, Agile Board name or sprint name. You can also change the message or an icon for the notification popup.

Since this is a Chrome extension, all the settings are synchronized in the cloud. That is why if you use the same Gmail account, you won’t lose your configuration settings when you open your board from another device.

Get the extension today and enjoy your tweaked Agile experience!

Please share your feedback in the comment section below. If you have any suggestions or want to report a bug, please use YouTrack Tweaks issue tracker.

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

Security issue with local storage in YouTrack Workflow Editor

As you may already know, a security vulnerability was found in the YouTrack Workflow Editor. Here is a detailed overview of what happened.

What happened
On March 7, 2017, we discovered a security issue in the YouTrack Workflow Editor. When using your YouTrack credentials or JetBrains Account credentials to submit an exception report from inside the Workflow Editor (anonymous reports would not be affected by this), or authorise the Workflow Editor to connect to your YouTrack instance, the supplied credentials would be stored in the user directory in unencrypted format. While this does not pose an imminent security risk as the user folder is accessible only by the specific user, those that would be able to access this file could see the credentials exposed.

What actions we have taken
Latest version of YouTrack Workflow Editor resolves this issue. It doesn’t store user credentials in the configuration folder any longer. This version will delete the file containing unencrypted data on first execution. From there on it will prompt for credentials on every connection.

What actions you should take
Please update your installation of YouTrack Workflow Editor using the instructions and launch the application.
If you believe that someone may have accessed your local home folder and potentially seen your credentials, we’d recommend changing these.

We are very sorry for any inconvenience that you might have experienced. If you need any further assistance, please contact our Support Engineers.

The Drive to Develop
YouTrack Team

Posted in events, newsletter | Tagged , | 4 Comments

YouTrack 2017 Roadmap

Hi everyone!

Today we are going to share our vision for YouTrack development in 2017.
Last year was pretty productive. We fully reworked the Agile Board and released it in YouTrack 7.0. This year, we plan to continue making YouTrack better.

You might have noticed that we recently switched to a new release scheme, for example, YouTrack 2017.1. Our primary goal is to deliver useful features as soon as they are ready, so we plan to release more often. If you are a YouTrack InCloud customer, your instance is automatically upgraded according to our Maintenance calendar. And if you use YouTrack Standalone, you can follow our blog and Twitter feed to get the latest builds.

We also want to try a new approach — to enable experimental features for venturesome users who want try them first. At this point, EAP won’t exist anymore, so you will be able try new features right in your instance. This approach means that you won’t have to install an unstable EAP build and risk your data to try new features. Also, many users who tested new features in our sandbox instance found it difficult to test new functionality without real data. We also hope this helps us to fine-tune the functionality before the feature is officially released. You feedback is highly appreciated, as always.

Let’s have a look at the features we plan to develop in 2017.

Workflows

As you know, the MPS-based workflow editor has been around for a while. We decided to retire it and implement a built-in web-based workflow editor. The new editor will support JavaScript instead of custom DSL, which simplifies the process of writing and customizing workflows. This new feature lets you write a workflow from scratch right in YouTrack. You can also write a workflow in any IDE that supports JavaScript (for example, WebStorm), pack it to a zip file and upload it to YouTrack. Attach the workflow to your projects and you’re ready to go.

Here is a list of the most popular workflow-related feature requests:

JT-17984 — Implement a built-in web-based workflow editor
JT-18128 — Provide operations on the period field in workflow
JT-10337 — Implement an ability to require a comment/tag
JT-13856 — Allow to create and add shared tag in workflow

We don’t want to over-promise, but we hope to knock them all out of the park.

Issues List and Full Page View

Now, when the new Agile Board looks so fresh and bright, the issues list and full page view issue pale by comparison. They need a little polishing, a fresh look and a better user experience.

Changes are coming to almost all of the elements in full page view: the toolbar, summary and description, linked issues, image editor, custom fields, comments section, attachments, voters and watchers.

Full_screen2

We plan to replace the tabbed UI (comments, linked issues and so on) with an activity stream. With this new functionality, you will be able to filter the activity stream to show specific types of activity. This includes the option to display only VCS changes, comments, or work items. We plan to remove the Similar Issues tab and replace it with a link that shows these items in the issues list.

activity

We’re not just redesigning the page, but are also improving the functionality, so we plan to add some new features to the full page view, such as:

JT-23673 — Formating issue descriptions as a checklist
JT-22752 — Adding reactions to comments with emoji
JT-11189 — Downloading attachments as a ZIP archive
JT-21112 — Supporting Markdown syntax
JT-5163  — Sorting comments from newest to oldest

Many users are anxiously waiting for the following minor update. Currently, the option to copy the issue ID and summary to the clipboard is located just to the right of the issue ID. In the redesigned page, this icon will be moved to the left and you will be able to copy either the issue ID or ID and summary from the UI.

copy ID

As for the issue list, we don’t have any detailed drafts, but the general idea is to make improvements to the sidebar, enhance preview modes, and apply some general changes to make it look marvelous.

User Profile

Very soon, you will see a new and improved user profile. The updated interface lets you manage your general settings, notifications, plus tags and saved searches. On the new General tab, you will be able to change your personal information, view connected profiles, manage your time zone and date format. We consolidated all of the notification settings, including notifications that are sent by the TeamCity integration. We added a new tab that lets you view and manage your personal list of tags and saved searches. Here, you will be able to view all tags and saved searches that are shared with you and update your subscriptions.

Current Sprint

This feature is among the most wanted in YouTrack. The fix is in and we have released it recently. With this feature, you can filter for issues that are assigned to the current sprint when you create reports, search for issues and use commands on the board. You can also use current sprint feature to assign issues to the ongoing sprint instead of using the sprint name.

Screen Shot 2017-03-13 at 19.17.59

YouTrack Mobile

We continue working on YouTrack Mobile and plan to make the following improvements in 2017:

YTM-234 — Agile Board enhancements
YTM-202 — Push notifications implementation
YTM-232 — Comments draft support
YTM-128 — Votes and Stars support
YTM-114 — Multiple YouTrack instances support

By the way, YouTrack mobile is an open source project, so you are very welcome to participate. The source code is available under the JetBrains Repository on GitHub.

Other enhancements

One month ago, we published the 10 most wanted features in YouTrack to our blog. We have already fixed some of them, and will continue working on the others during this year. We are also keep improving the current functionality for Agile Board and Reports. For example, we will add an ability to change the Board Owner on the Agile Board, and will make some improvements to Kanban board, custom fields, and cards on the board.

We really appreciate your feedback, so please share your thoughts about our roadmap in the comments below. You are also welcome to vote for existing features, or to create new feature requests. To get the latest updates, subscribe to our blog and follow us on Twitter.

Posted in features, news, newsletter | Tagged | 13 Comments