Important Security Problem concerning Issue Visibility

Bug description
On Friday June 30th at 9:45 am CEST we were notified of a potential security problem in YouTrack that affects issue visibility in certain cases. Specifically, when the visibility of the issue was set by a workflow, it was possible that certain users that were not part of the group could access the issue during a search request. This issue only affected YouTrack version 2017.2.33634 and later.
We have already resolved the issue and a new download is available. All InCloud instances have been applied with the hotfix.

What actions you should take
If you are running YouTrack Standalone and have YouTrack version 2017.2.33634 or later Installed, please upgrade by downloading the latest version.

If for some reason you cannot upgrade to the latest version, there is a workaround that can be performed:
1. Locate all the workflows that set groups.
2. Find any line that sets the group in the following way:

issue.permittedGroup = someGroup

3. Replace the line with:

issue.applyCommand(“visible to “ + someGroup.name)

where someGroup is the name of your group.

4. Fix any existing issues by applying the command:

visible to someGroup
to them (you can do this by selecting them and doing a batch update).

If you need any further assistance, please contact our Support Engineers or simply respond to this email.

We sincerely apologise for the incident and rest assured we’re already putting in additional steps to prevent this in the future.

Posted in news, newsletter | Leave a comment

Updated Storage Limits

Great news!
We have extended the storage limits for specific commercial plans.

banner_storage_05
YouTrack InCloud commercial plans have been around for awhile. We thought this would be a good time to update some of them. The main idea behind subscription plans has not changed. Each plan supports a set number of users and is allocated a fixed amount of storage. However, we have decided to extend the storage for some of the plans.

Which plans are affected?

The 25 users plan with 10 GB is extended to 15 GB.
The 50 users plan with 15 GB is extended to 20 GB.
The 100 users plan with 20 GB is extended to 25 GB.

If you use any of these plans, your current storage limits have already been automatically updated.

Please visit the YouTrack Pricing page for more details. We hope that the extended storage will improve your issue tracking experience and will help you to share more files with your team.

Sincerely yours,
The YouTrack team

Posted in news, newsletter | Tagged , | 1 Comment

Baking Boards — Episode 7: Version-based Boards

In this episode of Baking Boards, we show you how two very different teams at JetBrains use agile boards that synchronize sprints with the fix version of the product in development.

Preparation

1. Create your board.
Start with the Version-based board template.
1-create

2. Add your project.
When you link sprints to fix versions, you’re normally dealing with a single project. To work properly, this project should already use a field with the name Fix version or Fix versions. You can also manage multiple projects on a version-based board, as long as all of the projects use the same set of values for the Fix version or Fix versions field.
2a-projects

If you already have a saved search for backlog issues, leave the Backlog option set to Use existing and select it in the Saved Search drop-down list.
2b-projects

Otherwise, choose Create new, then click the Create Board button.
When you create the board, the option to link sprints to the Fix version or Fix versions field is enabled automatically. All of the values that are currently stored in this field are added to the board as sprints.
3. (Optional) Apply a filter.
With the Link sprints to custom field option, you can use a search query to filter the cards on the board.
3-filter
Use this filter to show only issues that are assigned to a specific subsystem or include a special tag.

4. Set up your columns.
You’ll notice right away that your board has configuration errors. To fix it, switch to the Columns and Rows tab and choose a field to identify your columns. The most common configuration is to use the State field.
4-columns

5. Define swimlanes.
Most software development teams use the issue type to organize their work into features or user stories. You can use these issues to define swimlanes on the board and manage their subtasks as cards. Select the Issues option, choose the Type field, and add the issue type you use for parent tasks in your project.
5-swimlanes

6. Configure cards.
If you plan to create issues directly on the board, it saves you time to set a default value for the Type field. Switch to the Card tab and set the default value for the Type field to Task.

7. Pick a chart.
If you want to track your progress, pick the chart that mirrors how you manage your workload. If you follow a scrum methodology, use the Burndown chart. For Kanban, use Cumulative flow.

Secret Sauce

The dotMemory team uses several workflows to manage issues in their project as they work with their agile board.

One of the main reasons they use workflows is because they use an enumerated field named Phase (not a state-type field) to identify the columns on the board. These workflows synchronize changes that are applied when a card moves between columns and the values that are stored in the State field.

The reason that they use Phase instead of State to identify columns on the board is that the Phase field is private. Only members of the dotMemory team have permission to update private fields in their project. Even though members of other development teams can view and update these issues, only members of the dotMemory team can change the value of the field that defines their position on the agile board.

Their workflow synchronizes the values for the Phase and State fields and automates other board-related activity when changes are applied to issues. The values for these two fields are shown in the following diagram:

6-secret-sauce

The first rule in this workflow is a state-machine rule that regulates changes between the values for the Phase field. The transitions that are allowed for this field are represented by the arrows between each value on the left side of the following diagram.
7-secret-sauce

This state-machine rule also sets the value in the State field based on the value that is set for the Phase field. These changes are represented by the arrows from the values for the Phase field to the values for the State field. For example, when the value for the Phase field changes from Testing to Development (because the issue did not pass the test phase), the value for the State field is set to Reopened.
Here’s the code for the state-machine rule:
agile-board-phases

An on-change rule changes the value in the Phase field if a user updates the value of the State field. These changes are represented by the arrows from the values for the State field to the values for the Phase field in the following diagram:
8-secret-sauce

Here’s the code for this rule:
set-phase-depending-on-issue-state
The remaining rules add and remove issues from the board as needed.
– The first rule adds issues to the board when an issue is reported and is assigned a fix version. As long as the fix version is not set to the Backlog, the value for the Phase field is set to To do.
add-issue-to-agile-board-if-needed

– The second rule clears the value for the Phase field when the fix version is set to the Backlog.
fix-version-backlog

– The third rule clears the value for the Phase field when the value for the State field is set to any value that resolves the issue but does not involve fixing the problem. This action removes the issue from the board. Because the sprints are linked to fix versions, the fix version is removed as well. These states are shown in red in the following diagram:
9-secret-sauce

 

 

 

 

 

 

 

 

 

 

 

Here’s the code for this rule:
remove-issue-from-board-on-condition

Want to try this board configuration for your project? Get YouTrack and bake your board with pleasure!

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

Baking Boards – Episode 6: A Product Marketing Manager’s Personal Board

In this episode of Baking Boards, Andrey Cheptsov, the Product Marketing Manager for IntelliJ IDEA, shows you the personal board he uses to track all of the activity that is related to the promotion of this IDE.

Preparation

1. Create your board.
For easy configuration, use the Custom board template.
1-create
When you create the board:
– Select the projects that you want to manage on the board. You can track issues in any project that you have the permission to view issues.
1b-projects
-For the Backlog option, choose Create new. You won’t use it, but you need a backlog to create the board.

2. Define columns.
With the custom board template, you have to define your columns first.
2a-columns
Switch to the Columns and Rows tab to set them up.
Andrey’s board uses values from the State field. He added all of the values in each project that that are not considered resolved. Basically, any state that isn’t Fixed or Done.
With this setup, issues are removed from the board as soon as they are resolved.
First, use the Add column drop-down to add each unresolved state to the board.
2b-columns-before
Then, use the Merge with drop-down to merge all of these values into a single column.
2c-columns-after

3. Define swimlanes.
As shown in the demo, Andrey defines swimlanes using a special value for the Type field his project. He assigns issues the Meta Issue type and only uses this type for swimlane issues.
First, you need to add a special value like this to the Type field in one of the projects that you manage on the board.
Then, configure your board to identify swimlanes by Issues from the Type field, then use the Add value drop-down to add the special value to the board configuration.
3-swimlanes

That’s all there is to it! There are a lot of other settings that you can play around with to personalize your personal board, but they’re not used in this setup. Here are a few settings you can safely ignore:

  • Sprints — this board uses a single, unscheduled sprint. Issues are assigned manually to this sprint. Andrey adds cards to the board by linking issues as subtasks to issues that define swimlanes on the board.
  • Backlog — the backlog isn’t used at all, as each team prioritizes their issues differently.
  • Cards — with this setup, you rarely add issues to the board, so you don’t need to set default values for the issue type.
  • Charts — the chart options are not relevant to the board.

Secret Sauce

Andrey uses the YouTrack Tweaks extension for Chrome to enhance the visual appearance of the board. With this extension, he can:

  • Choose which custom fields are displayed on all cards.
  • Display values for custom fields with the card size set to S.
  • Hide the board footer.
  • Collapse swimlane titles to one line.
  • Switch to a color scheme that is similar to the Darcula theme in IntelliJ IDEA.

To achieve this look, he has enabled and configured the default Agile board card fields module and the Agile board layout module.
Here’s how you can do the same:

  1. Access the extension in the chrome web store.
  2. Add the extension to Chrome. For detailed instructions, see the doc.
  3. Enable and configure the modules that you want to apply to the board.

Here are the modules that Andrey enabled on his board, with instructions for configuring each module:

Default cards tweak
This is the Agile board card fields module that is enabled by default when you install the extension in Chrome.
auto-generated-colors

 

 

 

 

 

 

 

 

  1. Set the Prepend issue summary with issue id (S size only) to Yes.
    This shows the issue ID, even with the card size set to S.
  2. Use the Fields settings to add the fields you want to show on each card. Andrey added the Due Date, Start date, State, and Assignee fields.

Agile board layout
This module modifies the look and feel of the board. You can use the default configuration for this module.
color-fix
1. The Darcula mode option is Enabled.
2. The One line swimlane title option is Enabled.
3. The Sticky header is Visible.
4. The Sticky footer is Hidden.

When you’ve finished configuring the extension, your board should look something like this:
darcula

If you look carefully, you’ll see that these teams use different color schemes for the State field in their projects. Don’t worry — there’s a fix for that as well!
1. Open the settings for the Default cards tweak module.
2. Click the Edit button for the State field setting.
3. Change the Use field colors option to Auto-generated colors.
ss-board-layout

4. Click the Save and apply button.

Now, each value in the State field is assigned a unique color, no matter which project the issue belongs to.
ss-card-fields

 

 

 

 

 

 

 

 

Ready to try this board for your tasks? Get YouTrack and bake your board with pleasure!

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

YouTrack 2017.2 bug fix is here (build 33063)

Please welcome a fresh bug fix for YouTrack 2017.2 (build 33063).

This update brings a number of fixes and improvements for the Agile Board, among those are:

JT-41378 – Board is spontaneously reloaded from time to time.
JT-41387 – Can’t edit a sprint.

The update also brings usability and performance fixes. For more details, please refer to the Release Notes.

Download YouTrack 2017.2.33063 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 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