Introducing Box configuration templates - Box types!

You can now save your favorite Box configuration as templates and use the Inheritance mode of popular features like Card Views, Quick Filters, Security, and more, to manage your Boxes more efficiently!

Click the links to learn more about Box types and other new features.

The task structure or hierarchy within a Box can be generated automatically by the App. You can set the 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 the 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:


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.


Different tools offer different ways to automate the 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.

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. Links which are already in-use by the App (go to Dependency configuration to check the link mapping),  can not be used as structure builders.

For example, the WBS - DEMO Box has a project with three task 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:

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 


Trello Structure builders

When you connect external tools, you will see an additional section with Structure builders specific to that tool. In 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' structure builders:

As a result, task are organized just as on the Trello board:

Resetting the structure (WBS)

To assure that you always achieve the same hierarchy, start building it from scratch. You can reset the hierarchy when all the structure builders are deactivated. The "Reset" toggle button will appear next to the "Save" button in the top-right corner.


Automated structure building - how does the algorithm work?

 Click here to expand...

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 tasks 

  • 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.
Please note, that the final result of the automatically built task structure based on the active structure builders can be different depending on the structure at the moment of the full-sync.

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 tabel below:

#1 Tasks in the scope:

Task

Jira project

Fix Versions

Epic link

Project Ana.na.na.
Version 1.0Ana.na.
Version 2.0Ana.na.
Epic-1A-na.
Epic-2A1.0na.
Story-1A1.0Epic-1
Story-2A-Epic-1
Story-3A-Epic-2
Story-4A1.0Epic-2
Story-5A2.0Epic-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

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