[PUP-5776] Master Theme: Working with Themes and Epics in the Puppet Project Created: 2016/01/29  Updated: 2020/06/05  Resolved: 2020/06/05

Status: Closed
Project: Puppet
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Story Priority: Normal
Reporter: Henrik Lindberg Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relates to PUP-5775 Theme: Performance - performance acro... Closed
is supported by PUP-1787 Theme: Modularity - improve Puppet's ... Closed
is supported by PUP-5762 Theme: Validation - multiple roles wa... Closed
is supported by PUP-5765 Theme: Testability - features for tes... Closed
is supported by PUP-5852 Theme: TechDebt - Deprecations, Remov... Closed
is supported by PUP-5869 Theme: Model - features related to mo... Closed
is supported by PUP-5886 Theme: Language Closed
is supported by PUP-6309 Theme: Native Puppet Closed
Team: Coremunity


As a user of Jira focusing on the PUP project, I want to know about existing Epics, and how they should be applied. When we make released I want to know what needs to be done to ensure we have the relevant Epics defined.

I expect the PUP folks to update this story with links to the available Themes. And that this description is updated with an overall description of how Themes and Epics work.


A Theme represents an activity that stretched over many releases; e.g. "Performance". We use an Epic to describe such themes. They are always named with a prefix of "Theme:". An example is PUP-5775 "Theme: Performance" Epic.

For each release series, there is an Epic that contains the tickets that directly implements something in that theme. Other tickets may also support that Epic. As an example PUP-5773 "4.x Performance" is an Epic that supports "Theme: Performance".

(This construct is used since Jira does not support the notion of Theme).


Release series epics are named Nx <name_of_theme> e.g. "4.x Performance". Such themes are created lazily when there is going to be work on that theme for a release series.


If there is a need to create an Epic that is closed with a specific release, it should be given a concrete version name e.g. "4.4 Performance", and this ticket should support "4.x Performace". which in turn supports "Theme: Performance".
The decision to use a release specific epic is based on how many tickets there are in total for the release, and for the release series. If there are too many tickets it becomes hard to find and navigate. Hence the option to use version specific epic.


  • Always use the Epic name as the start of the Summay or risk not finding the ticket when linking with "supports"
  • Assign thematic themes to all scrum teams that the theme is relevant for
  • Never place a multi team Epic in a sprint (if you must keep track of work on the Epic itself - defining it etc. use separate tasks). A Jira project administrator will otherwise be pushed one level down in dante's inferno for every such breaking of this rule).

Generated at Sat Sep 26 15:15:10 PDT 2020 using Jira 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049.