Jul 06

Implementing Programs in Atlassian JIRA

JIRA has a clear-cut hierarchy. Your tasks can be aggregated in specific Projects, each with their own Versions and Components. With JIRA Software, Epic-Story structure is also introduced, and that’s about it.  But what if you were to try and implement Program management without changing the whole toolset?

Some people go wild and invent what we might call “fake naming”. That is, they treat the project as the Program, then Versions inside of it as projects, and so on. Essentially, the whole structure slides by 1 level to make room for the Program concept. The problem is, not only is this a nightmare to manage (all labels are wrong and all users need to take this into account), compatibility with any sort of plugins or reports is essentially gone for good.  The far better (and actually cheaper in the long run) solution is to grab a plugin that simply implements the Programs concept into JIRA, such as the BigPicture add-on by SoftwarePlant.

Programs form the most basic layer of the tool – with none, you will not be able to work, and in that sense they are de facto mandatory. Each Program can represent a JQL filter, meaning that it can put literally any number of your projects into it.


In production environments, you will most likely use the ability to import a filter or a single project. Start from scratch and sample data are mostly useful for evaluations, and testing things before production deployment. It is worth noting that since version 5.2.0, sample data concerns all modules of the sample Program (it used to be just the Gantt).

Protip: All questions akin to “How do I migrate/sync my data from XYZ to BigPicture” can be answered: you don’t need to. BigPicture is based on JIRA items (tasks, projects, and so on), therefore the question is only how to get them into JIRA. Once things are in Atlassian’s issue tracker, BigPicture will read and display them just fine on its own. Same goes for backuping.


One can filter the Program list by leader, status (new/started/closed), as well as the start and end date of each Program.


The buttons on the right-hand side (in the strangely named “Action” column – is this a movie?) lead to specific modules, which are just various representations of the data inside a given Program. The Gantt forms (rather obviously) a Gantt chart of all the tasks, Resources are used to assign tasks to users and track allocation, Risk management is self-explanatory, and Roadmap serves as the high-level module. We already covered these last week, so if you would like to read a bit more about the specific screens, click here.

Going back to Programs, each of them also has a gear icon leading to Program-specific settings. The ability to define permissions, view preferences, structure of tasks and resources used per-Program is extremely powerful.


What needs a separate mention here are 2 often overlooked, but unbelievably handy things about Programs in BigPicture.

  1. There is no limit to how many Programs you can have. This means that you can use the same data in 10 Programs at once, and just configure different view settings for each if so you desire.
  2. There is no limit in how many Programs a given object (task, project, Epic, subtask, etc.) can be. All of them are synchronized between each other, so you can go wild and re-use the same tasks in multiple Programs.

A common use case incorporating the above is a setup, in which teams have their own Programs, with low-level view and Edit permissions. The shareholders and team leaders have access to a separate Program, which pulls in the tasks of all teams – they have a higher-level view and view only or edit permissions. A separate admin has access to the technical setup of all of these. Obviously this is just an example.

Programs can be compared against each other either using the trick mentioned above (a separate Program based on a filter that pulls everything inside of it), either the basic comparison view on the program list. We will cover portfolio management in detail in the next installment of this series.


In the global configuration of BigPicture, you will find a “Program Configuration” tab. This is a common source of misconceptions – it’s not some crucial settings page that affects all your Programs. In fact, it concerns only a single, specific scenario – and that is the “New Program with new project” and lets you customize what kind of settings the new JIRA project underneath will have. If you do not use this option extensively, you can probably even disregard this setting area completely.


Last but not least, in the configuration of a Program you can delete it. This will delete only the “container” for the tasks inside, not the tasks themselves. Users are actually encouraged to go ahead and create as many Programs as they want, as not only is this harmless, but unneeded ones can be simply deleted later on.

About The Author

We're SoftwarePlant team. We're striving to make Jira, Trello, Google Calendar and 'you name it' task management software talk to each other, and at the speed of light. We will one day unite them all. When the dream comes true will you still need any 'uber-software', other than BigPicture, to manage projects?