Addteq recently had the opportunity to help the Enterprise Architecture team of a leading multinational investment bank create and configure a cross-team Jira project to replace several older projects. This new project provided their teams with a single, centralized point of collaboration which streamlined their work processes and made reporting effortless. Replacing the older projects meant more than providing a fresh start; data from the older projects needed to be moved safely, and the ability to create new tickets from emails needed to be retained. As work progressed, we took a more flexible and iterative approach to be responsive to user feedback and adaptive to changing requirements.
The Situation
The customer needed a single project that the entire Enterprise Architecture team could use to accept requests and automatically delegate tasks to the appropriate team members based on the Line of Business associated with the request. This project would replace several other projects, each representing different types of work and whose work processes were different. This new project would provide a project center for the entire Enterprise Architecture team, ensuring all work followed a single, universal approach. This project’s most critical aspect was ensuring a set of individuals, EA Assignees, were associated with each work item. The customer needed delegation and reporting tools to ensure everyone knew what they needed to do and when to do it. They also provided stakeholders and team leads with the reporting tools they needed at their fingertips.
EA Assignees were individuals that served in particular roles, such as Enterprise Architect and Domain Administrator. All work in the project was associated with either a Line of Business (LOB) or a Project Division, each of which had its own EA Assignment set. Jira should delegate work to the appropriate EA Assignee at various points over a ticket’s life. Business logic also needed to be built into the process to ensure only EA Assignees could perform specific actions. The customer also required an at-a-glance view of the day-to-day operations for each EA Assignee type. Given these assignments’ criticality, a governance team needed to be informed if any of the assignment values were missing.
For reporting purposes, the EA team also wanted Jira to display the aggregated time their tickets spent in a particular status. This information needed to be stored within custom fields for display in Jira and serve as reporting criteria. Tickets also had to be categorized based on multi-level cascading fields.
The Jira Administration team was offshore and had minimal overlap in business hours with the EA team. Therefore, to prevent implementation delays, the EA team should be able to administer the project, including making changes to field values and changing EA Assignees.
Building a Solution
Addteq worked with the Enterprise Architecture team to understand their challenges and goals and build a brand new Jira project configured to accept requests, either manually created or via email.
- Upon issue creation, a post-function would reference a lookup table, looking up either the Project Division or LOB value and retrieving a series of user names corresponding to EA Assignments. These values were used to populate particular user picker fields within the new issue.
- If a ticket was created with missing EA Assignments, an email would be sent to a particular group, prompting them to take corrective action.
- Business logic was implemented through a series of workflow conditions, validators, and post-functions which delegated tasks to the appropriate EA Assignees, ensured that action could only be taken by the right individuals, and validated data as users performed work.
- Using specialized custom fields, Jira displayed the aggregated time tickets spent in a particular status:
- Time spent at the current status
- Time spent at each status
- Time spent with each Assignee
- Several multi-level cascading fields were created for categorization and reporting.
- Addteq and the customer collaboratively developed a detailed plan for migrating issues from the existing projects to the new project, and we carefully moved tickets in stages.
- Many of the fields in use by the existing projects had been configured to be used by those projects only. Special care had to be taken to ensure all data was retained and remained visible when moving to the new project.
- Several other differences between projects, such as workflow states and field requirements, prevented the migration of issues between projects in a single action. We created a series of precise queries that allowed us to migrate discrete batches of tickets to work through this.
- When passing through one of several points in the workflow, Jira would create a subtask containing a link to a CSAT (customer satisfaction) survey. Conditional logic was added to prevent Jira from making more than one subtask over a ticket’s life.
- Using EA Assignments and aggregated time data, we created a series of dashboards that provided leadership and stakeholders at-a-glance views of project status by role.
The Enterprise Architecture team extensively used Elements Connect, a plugin that allows you to create fields that retrieve information from external data sources.
For this particular project, there were three primary uses:
- The existing projects contained two tabs entirely composed of Elements Connect fields. This information needed to be retained. As a result, the tabs were recreated in the new project and were updated for compatibility.
- The subject line of the emails used to create issues automatically contained an internal project ID used by Elements Connect to populate other fields, one of which (Project Division) was then used to set EA Assignments.
- A new data source, reachable and editable by the Enterprise Architecture team members, was created to house values for particular categorization fields. These values were used to create and configure a set of dependent select list fields that collectively formed multi-level cascading select fields.
- Jira handled EA Assignment using Lookup Manager, a plugin that allows conditional handling of issues through lookup tables and post functions.
- Issues that were manually created contained Line of Business (LOB) values. However, the issues created by email included Project Division values, an Elements Connect field dependent on the internal project ID.
- Addteq created lookup tables, mapping Project Division and LOB values to EA Assignment values.
- Creating the lookup table for Project Division was a challenge, as Project Division was an Elements Connect field – therefore, the lookup table’s values needed to adhere to Elements Connect syntax.
- A series of Lookup Manager post-functions were used to set the EA Assignments based on either the Project Division value or LOB.
- The EA team could modify the lookup tables as needed without assistance from the offshore Jira Administrative team.
JSU Automation Suite, one of the most well-known and best-selling code and maintenance-free Jira workflow customization apps, was used to supplement Jira’s native workflow capabilities to implement specific business logic:
- Set assignee by copying particular user values to the assignee field at specific transition points.
- Create workflow conditions and validators to ensure data consistency and enforce granular permissions beyond the scope of standard project permission schemes.
- Conditionally create customer satisfaction survey subtasks on transition.
Time in Status Field, previously a free plugin, allows you to display aggregated time in a custom field and ticket panel. Of the many benefits this plugin provides, the primary use case is the ability to create a custom field that shows the time spent in one or more selected statuses, answering questions like “How long has this issue been open? How long has it been worked on? How long did the issue wait for a response?” Addteq leveraged this plugin to display the following information in Jira issues, filters, and dashboards:
- Aggregated time spent at current Status
- Aggregated time spent at each non-closed status
- Aggregated time spent with each Assignee
Additionally, this plugin’s time-based JQL functions provided by this plugin allowed us to build many sets of filters that provided data for dashboards, reports, subscriptions, and more.
Scriptrunner is probably the most well-known Jira plugin, providing nearly unlimited automation capabilities across Jira. In this solution, Scriptrunner was used to conditionally send emails on issue creation when one or more of the EA Assignment fields was empty. We used it because it was already present in Jira and satisfied this requirement without purchasing an additional tool.
The Win
The iterative approach to developing a solution gave stakeholders ample time to explore and understand the solution. It also provided Addteq with additional feedback and opportunities for collaboration, resulting in a solution that Addteq tailored to fit their needs. As a result, many teams’ work throughout the customer’s organization was centralized and streamlined, saving time and effort while preventing confusion over multiple projects and ultimately helping teams regain their focus. Within the first week of the official launch, the EA team created dozens of new issues and multiple positive feedback reports. Users stating the streamlined workflow and detailed dashboards kept the team on track and made obtaining status updates effortless. Not only was the Enterprise Architecture team thrilled with the solution we provided, but they were also brainstorming possible routes of expansion before the official launch.