As project managers, we want to be on top of our projects, we like to have quick access to high level summaries, and when needed, get into the granular details of a project. We like that processes are followed as defined, and that there is a clear “handshake” between tasks assigned to people working on the project. Effective project managers use certain managerial practices to keep track of projects, such as designing and establishing workflows. A workflow is a set of concatenated steps that help users visualize projects and/or tasks. These steps not only give direction to employees, but give managers and the rest of the team insight about the conditions and progress of their projects. Such insights become valuable when decisions are to be made. Workflows are necessary to create clarity, visibility, and traceability of projects and their related tasks. To accomplish this level of control and visibility a project manager can utilize a number of different software applications. Traditionally, project managers have used Gantt chart based tools like Microsoft Project to capture all the objectives/ tasks and then assign tasks to people as project progresses. This takes lot of execution time from a project manager even for things where there are well defined rules to assign tasks, notifications within team, etc. Good project management applications would allow managers to receive real-time updates of projects and tasks. Project managers, meet JIRA! In JIRA, users are able to update the status of projects and tasks on the fly; additionally managers have the ability to see all users assigned to a particular project and which tasks of that project each user is assigned too. JIRA brings a level of project visibility to your team that allows you to quickly and easily assess productivity, keep track of deadlines/targets, and make informed decisions. At Addteq, we use Atlassian‘s JIRA extensively throughout all aspects of our business. We choose JIRA over other issue tracking tools mainly because of its ease of use and flexibility when it comes to customizing it to match the unique workflows of our different departments.  The JIRA workflow editor, helps users customize their own workflow. Lets take a quick look at the JIRA workflow editor in comparison to another popular issue tracking tool.

JIRA and Bugzilla: Customizing Workflows

One of popular Issue tracking tool which has capabilities in comparison to JIRA is Mozilla’s Bugzilla. Below is a screenshot  of the JIRA workflow editor in comparison to Bugzilla’s. In JIRA, users have the ability to create multiple custom workflows based on specific project issues; additionally, JIRA allows administrators to configure transition screens, conditions and post-functions. This level of customization is unavailable in Bugzilla. Within Bugzilla, administrators are only able to customize the global workflow that applies to all projects in the system. Linking workflow statuses in Bugzilla have to be done by selecting a cell from a transitioning table, this makes it difficult for someone to visualize the changes they’re making to their workflow.

JiraBugzilla.png

Screen shot comparison of  JIRA and Bugzilla workflow editors
Customizing workflows in JIRA is easy

Anybody can easily understand the basic default workflow presented in the JIRA workflow editor. However, most project managers are looking to create their own workflow, and the default JIRA workflow may not fit exactly within their needs. Some JIRA administrators prefer to copy and then modify the basic workflow and expand it until their needs and requirements are met; others, prefer to create a new workflow from scratch. Here at Addteq we have chosen the latter. Users may think that creating a workflow is easy, and yes it is.  However, creating workflows can become a messy and time consuming process if at first, a workflow diagram is not conceptualized either on paper or using some other diagram tool (Gliffy and Creatly are two great diagramming tools that can be used with Atlassian’s Confluence). Secondly, it is important that the workflow designer keeps in mind the design of the transition screens. A transition screen is essentially a form or page that users will interact with as they move an issue ticket from one status to another. Designing intuitive transition screens at this step will not only help the workflow designer to better understand the workflow process but will also prevent end user confusion when using the tool. Lastly, having already drawn out the workflow steps and established the transitions screens, the workflow designer can easily follow these blueprints and implement it into JIRA. .

DemoCustomWorkflow.png

Customized JIRA workflow

Conditions and post-functions in workflow transitions

A workflow by itself may not function optimally without first setting some conditions and/or a series of extra actions during a workflow transition. Firstly, let’s talk about the conditions. Administrators establish conditions to determine under what circumstances an issue ticket will move from one status to another. For example, a parent issue ticket may not be allowed to move forward until all of its open sub-tasks are resolved. There are many different kinds of conditions admins can establish for the transition of issue tickets. Admins can also set automatic activities  to occur following a particular transition of an issue ticket; we call these post-functions. With a post-function you can have ticket information updated automatically when certain action occurs instead of having them manual edited. The opposite of conditions, post functions allow admins to establish what circumstances will occur once a ticket has been transitioned from one status to another.

Transition.png

Transitional Conditions and Post-functions

Example use of Post-Function

Continuous Integration:

 When an assigned developer finishes a task, they commit their works to a revision control system (Git, SVN, Mercurial, etc … ) and transition the issue ticket to another status; meanwhile, there is an automated action which JIRA triggers with a Continuous Integration System (CIS), like Atlassian Bamboo, in order to run a designed project plan. This action is made in a transition post-function that requires an http request function which contains the CIS IP address, the designed project plan and a administrative login of the system (username + password).

HTTP_Request.png

HTTP Request Connection for Continuous Integration
Workflow Customization Example:

 

Project manager approval workflow in software development  : 

One example of a custom JIRA workflow is to develop a new project in which end users of an application can create new issue tickets (new feature or bug or improvement) in JIRA for your developers to see. After creating a the new issue, project managers can approve, reject or link the issue to another one. If the issue is approved, this issue is assigned to the development team, where some of its members work on the issue. After completing the development task, the code is committed to a version control and the issue is assigned to the Configuration Management team, who will build the solution. If the solution build fails, it will be sent back to the developers for further development; if the build is successful it is sent to a series of test environments to determine whether the solution meets the project requirements. After a successful test, the issue is sent to project managers in order review and close the completed project process.

IRIS.png

Project Manager’s Approval Workflow

Automated sub-task according to project versions:

 In this example, one of our customers required that its project workflow contained a post-function that when a bug ticket is submitted JIRA will automatically create subtasks according to the list of affected versions. Out of the box, JIRA is unable to automatically create subtasks, however, by writing a Groovy script we are able to perform such an action. This coding solution consists of retrieving the list of affected versions given from a issue task; then it checks each version that is not archived, in order to execute a subprocess of creating a subtask until all affected versions are accounted for. Inside of the subprocess, the code starts creating a new issue task, following on its information updates and the single version assignment, and finally to link the subtask to its parent issue ticket.

AutomatedSubtask.png

Automated Sub-task Creation

In JIRA, administrators, project managers and users are able to create custom workflows for your specific needs thanks to JIRA workflow editor. In our experience providing JIRA workflow implementation services, be it agile software development projects, marketing campaign projects, FDA quality processes, content management collaborations – JIRA custom workflows are powerful to address specific needs of project / Industry. JIRA gives users more flexibility than other issue tracking software in terms of customizing workflows, setting transitional conditions, post-functions and screens. JIRA administrators are able to set the automated activities (like creating sub-tasks automatically)  by coding a Groovy (or any programming language) script. These automated actions enhance the project policies by eliminating human error from the equation.

Streamline your team’s workflow with JIRA. At Addteq, we can create workflow environments for teams of any scope and size. With our knowledge of Atlassian tools and workflows, we can suggest the perfect combination of plugins and tools to satisfy your business requirements. Contact us to set up a free consultation!