Support for Atlassian Server Products (and apps like BigPicture) has ended in February 2024.

Are you planning a migration to Cloud? Make sure you don't lose your BigPicture data/configurations in the process. Check out this page for information on how to migrate BigPicture's data to Cloud. If you have any questions please email support@appfire.com

Task structure

Introduction

The task structure or hierarchy within a box can be generated automatically by BigPicture. You can set suitable rules to structure your tasks by activating respective structure builders.

The order of structure builders reflects the levels of the hierarchy, or in other words, the first structure builder determines the highest level within the structure.

Security and access

Only a user with a minimum Box admin security role can access and change the Box configuration.

To change the task structure configuration, go to Box configuration > Tasks > Task structure.

image-20240313-151552.png

Jira Structure builders

An Index corruption might result in a loss of structure on Jira server, if a user opens one of the Boxes and the synchronization is triggered.

While the structure algorithm is very advanced, some hierarchies are impossible to generate automatically. This is due to the limitation of Jira and because the App can not duplicate task in the hierarchy. Read more about Conflicting structure builders.

Custom vs templates

Different tools offer different ways to automate task structuring. Out of the box, Jira provides Task<->Sub-tasks hierarchy or Epic link-based hierarchy, but you can build a much more advanced hierarchy using the App.

Templates

There are three templates available:

  • Agile

  • Agile (multiple projects)

  • Release

Custom

When you modify the Advanced configuration, you automatically switch to custom settings. 

Structure Preview

On the right-hand side of the Advanced configuration, you can see the preview of the tree structure.

A warning appears on the right if the structure can't be generated because of conflicts.

Constraints:

  • Only built-in structure builders are visualized on the right.

  • Link-based structure builders can't be visualized on the right.

Types of structure builders

There are two types of structure builders - built-in and link-based. When you activate one of the built-in structure builders, a task representing a Sprint, Component, Version, Project will be automatically added in the task types box in the automated rules of the Scope definition page. The link-based structure builders use a Jira link to define the parent/child relation. Soft links that are marked in the App (go to dependency configuration to check the link mapping) can be used as structure builders.

Parent's movement in the structure does not replace custom Links by Epic Link. The Epic Link for the task is not changed.

For example, the WBS - DEMO Box has a project with three tasks in the Box scope with no hierarchy:

Let's enable the 'Project' structure builder:

As a result, a new task representing the project (WD - is the project key) was added to the list as a parent task:

Now, let's create an Epic and the WD-1 task to it:

The last step is to activate the 'Epic' structure builder:

The T1 task is now nested under the Epic parent task:

"Parent" structure builder - Jira Cloud only 

For Jira Cloud, 'Jira Advanced roadmaps' structure builder has been replaced with the Parent structure builder.

Atlassian introduced a unification of fields responsible for some parent-child relations (Epic link, sub-task, Jira (Advanced) Roadmaps). Parent Link is now handled by the same field (Parent). 

Only link-based structure builders have an "inverse" option. When a link-based structure builder is active an additional checkbox appears on the right in the "inverse" column. When you put a checkmark in the box, links of a selected type will be used in inverse to build a structure. 

In the example below, the task structure is based on "Blocks" links.

For tasks 1, 2, 3:

  • 1 blocks 2

  • 2 blocks 3 

When multiple link-based structure builders are active, you can select which link should be created (when you make changes in the task tree).

Task structure configuration example:

Result - when you reposition a task in a tree, a pop-up appears:

Move tasks manually

When manually repositioning a task in the task structuretask fields are updated to match structure buildersThe sync mechanism is responsible for mirroring the changes done by the user in the task structure in BigPicture in Jira issues. In other words, if the user indents, outdents or drags & drops tasks within the task structure, relevant changes in tasks' fields responsible for their position are done automatically. The fundamental prerequisite for the changes to be made is active Structure Builders.

Built-in

Built-in structure builders' values are applied to all nested tasks (regardless of the indentation level). In the example below, the 'epic link' has been used as a structure builder.

Link-based structure builders are applied only one level down (to a direct child of a task). 

Reset task structure (WBS)

Change structure builders

Adjust the structure builders and click "Save". The task structure is rebuilt accordingly. 

Clear manual indents

Clear the changes that were manually made to the task structure. 

The structure that was based on the structure builders is not affected. 

Trello structure builders

When you connect external tools, you will see an additional section with Structure builders specific to that tool. In the case of Trello, these include Boards, Lists, Checklists, and Checklist Items.

For example, let's generate a hierarchy resembling how data is presented on a Trello Board - task are organized into lists on the BigPicture Power-Up Public Roadmap:

To generate such a hierarchy, enable the ‘Boards' and 'Lists’.

As a result, tasks are organized just as on the Trello board.

Task edition blocked in Jira

When task editing is blocked in Jira, a task can be moved in the BigPicture WBS structure. Task position in WBS can be changed if it doesn't result in any changes in Jira.

Tasks can be moved:

  • Vertically (up or down in the tree structure)

  • Horizontal (indent level can be changed)

Exception:

If the automatic WBS rules are in place and a change of a task position would require a change of task fields, the indentation is blocked. 

Automated structure building - algorithm explained

Structure builders - basic rules

Below are some main points worth remembering when using structure builders:

  • The order in which the elements are listed corresponds to the order in which they will be nested (it defines the sequence of the parent finding loops).

  • The order of active builders can be changed - once you activate the elements you wish to use, you can drag them to a different spot on the list.

  • Once the structure builders are defined and the tasks loaded in the Box, the structure is preserved by the App until a change is forced to rebuild the structure (for example by manually moving the tasks or resetting the structure and implementing a new order of structure builders) - un-toggling elements will not undo changes previously saved and implemented.

  • Rearranging the structure builders does not mean that the remembered task structure is reorganized (the system always applies the rules to the existing state of things, so if you already have a structure in place it won't be overriden - rules will apply only wherever possible).

  • Tasks already in the scope of a Box may have different parents than those newly added (even though they have the same potential parents, like links or projects) as it depends on the structure builders' settings at the moment of adding a task. 

  • Tasks newly added to the scope of a Box follow the rules currently defined in the structure builders' settings.

  • It is important to pay attention to inverse option while using the 'Link based' structure builders to get the parent child relations represented correctly in the task structure.

  • The "Relates to" Link structure builder may be misleading as it is difficult to see the difference between inward and outward links.

When a full-sync is executed, the following steps regarding structure building are performed:

  1. The App adds all additional tasks (all tasks which are not Jira issues, Projects, Components, Versions, Agile Backlogs, Agile Sprints, in case of Trello, Boards, Lists, Checklists Checklist Items) to have all tasks in the scope (and as a consequence: all potential parent tasks in the scope).

  2. A App executes two following loops to build a proper task structure: 

    1. a loop for all active structure builders,

    2. a loop for all tasks in the scope.

  3. It means that: 

    1. At first, the App tries to find a parent task for every task consecutively based on the first active structure builder,

    2. Then it tries to find a parent task again for every task consecutively based on the second active structure builders etc. until all active structure builders are verified.

  4. The following rules are Applied by finding a parent task for a given task within a consecutive structure builder: 

    1. the App always respects an already built structure by indenting a task (if an indent of the task would be contradictory to its current parent tasks, then an indent is not executed so that a structure builder never overwrites the current task structure)

    2. an indented task is always moved with all its child tasks.

If you want to reorganise your task structure entirely after it was already built, follow the steps:

  1. switch of all structure builders,

  2. select "reset Work Breakdown Structure" option,

  3. click on "Save and sync".

After taking those steps, your scope will be flattened. Activate the new structure builders to build a respective task hierarchy again.


Illustrative example

The input data is presented in the table below:

#1 Tasks in the scope:

Task

Jira project

Fix Versions

Epic link

Task

Jira project

Fix Versions

Epic link

Project A

na.

na.

na.

Version 1.0

A

na.

na.

Version 2.0

A

na.

na.

Epic-1

A

-

na.

Epic-2

A

1.0

na.

Story-1

A

1.0

Epic-1

Story-2

A

-

Epic-1

Story-3

A

-

Epic-2

Story-4

A

1.0

Epic-2

Story-5

A

2.0

Epic-2

#2 Active structure builders:

  1. Project

  2. Version

  3. Epic

#3 The list of the tasks at the beginning of the WBS building is flat (no parent tasks).

Output data (automatically built structure):

1st level

2nd level

3rd level

4th level

Explanation of the task position in a structure

1st level

2nd level

3rd level

4th level

Explanation of the task position in a structure

Project A







the task does not have a parent resulting from active structure builders



Version 1.0





the parent is Project A, as:

  • "Project structure builder" condition is met





Epic-2



the parent is Version 1.0, as:

  • "Project structure builder" condition is met

  • "Version structure builder" condition is met







Story-3

The parent is Epic-2, as:

  • "Project structure builder" condition is met

  • "Epic structure builder" condition is met

  • "Version structure builder" condition is not applicable (Epic1 does not have a version specified)







Story-4

The parent is Epic-2, as:

  • "Project structure builder" condition is met

  • "Epic structure builder" condition is met

  • "Version structure builder" condition is met





Story-1



The parent is Version 1.0, as:

  • "Project structure builder" condition is met

  • "Version structure builder" condition is met

  • "Epic structure builder" condition is ignored ie. version structure builder has a higher priority and Epic builder would cause a conflict (Epic-1 is not included in Version 1.0)



Version 2.0





The parent is Project A, as:

  • "Project structure builder" condition is met





Story-5



The parent is Version 2.0, as:

  • "Project structure builder" condition is met

  • "Version structure builder" condition is met

  • "Epic structure builder" condition is ignored ie. version structure builder has a higher priority and Epic builder would cause a conflict (Epic-1 is not included in Version 2.0)



Epic-1





The parent is Project A, as:

  • "Project structure builder" condition is met

  • "Version structure builder" condition is not applicable (Epic-1 does not have any version specified)





Story-2



The parent is Project A, as:

  • "Project structure builder" condition is met

  • "Version structure builder" condition is not applicable (Epic-1 does not have any version specified)

  • "Epic structure builder" condition is met