Sole Survivor: How Fidelity Investments reduced Jira customizations by 99% | Team '23 | Atlassian

Atlassian
25 Apr 202321:47

Summary

TLDRThe speaker from Fidelity shares their journey of consolidating a sprawling Jira instance with thousands of projects and customizations. They detail the process of reducing workflow statuses from 1418 to 12 and custom fields from 2008 to under 100, enhancing performance and usability. The talk covers strategies for managing pushback, leveraging tools like Project Track and Script Runner, and the importance of templates and archiving old projects. It concludes with the satisfaction of a cleaner, more efficient system and the positive feedback from initially resistant users.

Takeaways

  • πŸ•’ The speaker recounts the transition from using multiple tools like RTC, Rally, and Jira to a standardized enterprise instance of Jira in 2009.
  • πŸ”§ There was a significant issue with over-customization in Jira, leading to performance issues and inconsistencies in how teams worked.
  • πŸ“Š The company had an extensive list of custom fields and workflow statuses, which were reduced for better standardization and performance.
  • πŸ‘₯ The process involved consolidating numerous Jira administrators into a smaller, more knowledgeable team to manage the enterprise instance effectively.
  • πŸ› οΈ The importance of balancing team autonomy with enterprise control was emphasized to ensure consistent processes and standards.
  • πŸ” The reduction in custom fields and workflow statuses improved reporting, analytics, and administration, making the system more manageable.
  • πŸ”— The need for integration with other tools like Jira Align and custom tools was a driving factor for streamlining Jira's configuration.
  • πŸ“‰ The company faced pushback from teams resistant to change, but eventually, these teams acknowledged the benefits of the streamlined process.
  • πŸ“ The script discusses strategies for reducing custom fields, such as analyzing usage, consolidating similar fields, and removing unused or cloned fields.
  • πŸ“‰ The company successfully reduced the number of workflow statuses, custom fields, screens, and issue types to create a more streamlined and efficient system.
  • 🌐 The push towards cloud migration was another reason to declutter the Jira instance, aiming to avoid carrying unnecessary legacy configurations into the new environment.

Q & A

  • What was the primary reason for adopting Jira at Fidelity in 2009?

    -In 2009, Fidelity needed a tool to manage work in a consistent way across the organization as various teams were using different tools like Rally and Jira. Jira quickly became the preferred choice due to its flexibility and the need for an enterprise instance that everyone could use in a similar manner.

  • Why did Fidelity end up with numerous Jira Administrators and extensive customizations?

    -Fidelity had a lot of people wanting to use Jira, but with a very small team to manage it. This led to the creation of many Jira Administrators across the enterprise who didn't have all the necessary knowledge, resulting in extensive and inconsistent customizations.

  • How did the overuse of custom fields impact the company's reporting and data consistency?

    -The overuse of custom fields, with some being misspelled and others capturing the same data in different formats, made it difficult to report on data or maintain a consistent process across the company, as people were using different fields for the same data.

  • What were the main reasons for standardizing Jira at Fidelity?

    -Standardizing Jira was important for improving performance, simplifying reporting and analytics, easing administration, enabling easier integration with other tools, ensuring a consistent process for associates, and enhancing usability by reducing the overwhelming number of fields on screens.

  • How did Fidelity reduce the number of custom fields from 2008 to under 100?

    -Fidelity started by identifying and removing fields with low usage, similar names, and fields that were no longer on any screens. They also addressed fields with the same value and those that were cloned unnecessarily. The process involved analysis, engagement with power users and admins, and the use of tools like Script Runner.

  • What was the strategy for consolidating the 1418 workflow statuses into a more manageable number?

    -Fidelity streamlined the workflow statuses by standardizing the core statuses and allowing individual projects to select additional statuses they needed. This was achieved with the help of an app called Project Track, which enabled project-level configurations that could influence workflow conditions.

  • How did Fidelity address the issue of having 3685 screens reduced to 154?

    -The reduction in screens was part of the ongoing effort to tidy up and standardize the Jira instance. While the script does not provide specific details on this reduction, it implies that a thorough review and consolidation of screens were conducted to ensure they were necessary and not duplicates or obsolete.

  • What was the initial resistance Fidelity faced when trying to standardize Jira, and how was it overcome?

    -Initially, there was pushback from teams who felt that standardization would stifle their unique processes and needs. However, after the standardization was implemented and its benefits became apparent, such as improved performance and easier workflows, the previously resistant teams acknowledged the improvements and admitted that the changes were necessary.

  • How did Fidelity ensure that the standardization process was well-communicated and understood by all stakeholders?

    -Fidelity used various methods to communicate the changes, including engaging with power users and admins, creating generic fields for miscellaneous data, adding banners on Jira to direct users to a Confluence page with detailed documentation, and renaming or disabling fields that were being decommissioned.

  • What lessons did Fidelity learn during their Jira standardization journey?

    -Fidelity learned the importance of starting with low-hanging fruit, limiting the number of Jira admins, putting guard rails in place to prevent new customizations, creating templates for new projects, archiving old projects, and using listeners to clear custom fields on cloning. They also discovered the satisfaction in deleting unnecessary configurations and the value of using apps like Project Track, Script Runner, and JXL.

Outlines

00:00

πŸ”„ Transition to Agile and Jira Implementation

The speaker begins by setting the scene in 2009, discussing the shift towards agile methodologies and the need for a unified tool to manage work processes. Initially, Rational Team Concert (RTC) was used, but it lacked a consistent enterprise process. The adoption of Jira became prevalent due to its preference among the team. However, the rapid growth led to a decentralized approach with numerous Jira Administrators, resulting in extensive customizations and inconsistencies in usage. The speaker highlights the challenges of managing custom fields and workflow statuses, emphasizing the need for standardization to improve performance, reporting, and integration with other tools.

05:02

πŸ›  Streamlining Jira with Standardization Efforts

Caroline from Ireland, working for Fidelity, shares her experience in managing a large-scale Jira instance with thousands of projects and users. The narrative focuses on the consolidation process, which included reducing the number of workflow statuses, custom fields, workflows, screens, issue types, and other configurations. Despite initial resistance, the standardization led to improved performance, easier reporting, and better data management. The speaker details the strategies employed to reduce the number of custom fields and the importance of engaging with power users and administrators to facilitate the transition.

10:02

🌐 Consolidating Workflows and Custom Fields

The speaker delves into the specifics of how they managed to consolidate thousands of workflows into one standard workflow for all projects, using an app called Project Track to capture project-level configurations that could influence workflow conditions. They also discuss the challenges of dealing with custom fields, including cloning issues and fields with default values that bloat the system's index. Strategies for identifying and eliminating unnecessary fields are outlined, such as analyzing usage, consolidating similar fields, and removing unused or cloned fields.

15:03

πŸ“ˆ Implementing Project Property Customizations

The speaker explains how they achieved a unified workflow across 5,000 projects by leveraging the Project Track app, which enabled project-specific configurations. This approach allowed for a core set of workflow statuses with additional project-specific statuses selected by each team. The integration with Jira Align and other tools required careful management of epic linking and story points. The use of conditions within the workflow to adapt to project configurations is highlighted, showcasing a flexible yet standardized process.

20:03

πŸ—‘οΈ Lessons Learned from Jira Consolidation

The speaker reflects on the lessons learned during the Jira consolidation process, emphasizing the importance of starting with low-hanging fruit and limiting the number of administrators. They discuss the creation of elevated user groups to reduce the need for admins while retaining functionality. The implementation of guardrails to prevent the creation of new customizations is also covered. The speaker shares insights on the use of templates for new projects to prevent the proliferation of unique configurations and the process of archiving old projects to free up system resources.

πŸš€ Final Reflections and Satisfaction from Cleanup

In the concluding paragraph, the speaker expresses the satisfaction derived from the cleanup efforts, particularly the reduction in system complexity and the positive feedback from users who initially resisted the changes. They highlight the use of apps like Project Track, Script Runner, and JXL in facilitating the cleanup process and invite questions or connections on LinkedIn for further discussion.

Mindmap

Keywords

πŸ’‘Agile

Agile is a methodology for project management and product development that emphasizes flexibility, collaboration, and customer satisfaction. In the context of the video, Agile is the approach that prompted the need for a tool to manage work processes, leading to the adoption of various tools like RTC, Rally, and Jira.

πŸ’‘Jira

Jira is a popular project management tool used by software development teams for issue tracking, agile project management, and bug tracking. The video discusses the standardization of Jira across an enterprise to ensure consistency in work processes and to address issues arising from over-customization.

πŸ’‘Custom Fields

Custom Fields in Jira refer to user-defined fields that capture additional information relevant to the project or task at hand. The script describes an overabundance of custom fields, which led to inconsistencies and inefficiencies, and the subsequent effort to consolidate them for better performance and usability.

πŸ’‘Workflow Statuses

Workflow Statuses are stages in a project's lifecycle defined within Jira's workflow. The video mentions the consolidation of numerous workflow statuses to a standard set, which was crucial for simplifying Jira's usage and improving reporting capabilities.

πŸ’‘Performance

In the context of the video, performance refers to the operational efficiency of the Jira instance. It discusses how excessive customizations can negatively impact performance, and how standardization can enhance it by reducing the load on the system's index and database.

πŸ’‘Reporting and Analytics

Reporting and Analytics involve the collection and interpretation of data to inform decision-making. The script emphasizes the need for standardized processes to facilitate easier reporting and analytics, as inconsistent data capture through custom fields made this challenging.

πŸ’‘Integration

Integration in this context refers to the ability of Jira to work with other tools and systems. The video describes difficulties in integrating Jira with other tools due to extensive customizations, highlighting the need for a streamlined and standardized setup to enable seamless integration.

πŸ’‘Usability

Usability is the ease of use and the effectiveness with which a tool can be employed. The script discusses how an overwhelming number of fields and customizations can decrease usability, as it becomes difficult for users to navigate and interact with the system efficiently.

πŸ’‘Consolidation

Consolidation in the video refers to the process of reducing the number of items, such as custom fields, workflow statuses, and issue types, to a standard set to improve consistency, performance, and manageability within the Jira instance.

πŸ’‘Archiving Projects

Archiving Projects is the process of moving old or inactive projects into a state where they are no longer accessible for regular use but are preserved for historical or compliance reasons. The script discusses the strategy of archiving projects that have not been used for a certain period to declutter the Jira instance and simplify management.

πŸ’‘Pushback

Pushback in the video refers to resistance or objections from users and administrators to the changes being implemented, such as the reduction of customizations. It illustrates the challenges in driving standardization and the eventual acceptance once the benefits of the changes become apparent.

Highlights

Transition from using multiple tools to a unified Jira instance for consistency in work processes.

Challenge of managing a large number of Jira administrators with varying levels of knowledge.

Significant reduction of custom fields from 2008 to under 100 for better performance and consistency.

Consolidation of workflow statuses from 1418 to 12 for streamlined reporting and analytics.

Importance of balancing team autonomy with enterprise standards for effective Jira administration.

Performance issues caused by excessive customizations and the benefits of standardization.

Difficulties in system administration due to numerous customizations slowing down the Jira interface.

Integration challenges with other tools due to heavy customization.

The need for a consistent process for associates moving between teams within Jira projects.

Usability issues with an overwhelming number of fields on Jira screens.

The impracticality of exporting data with 2008 custom fields.

Migration plans to Jira Cloud without carrying over unnecessary legacy configurations.

Strategies for reducing custom field count by analyzing usage and consolidating similar fields.

Use of Script Runner to assist in copying custom field values during consolidation.

Implementation of Project Track app to manage project-level configurations for a unified workflow.

Overcoming pushback from teams by demonstrating improved performance and usability post-consolidation.

Approach to gradually reduce the number of Jira administrators to streamline administration.

Creation of elevated user group for performing certain admin tasks without full admin privileges.

Establishment of strict guidelines for new customizations to prevent further bloat.

Use of templates for new projects to prevent the creation of new workflows and screens.

Mandatory archival of unused projects to free up system resources and simplify configurations.

Utilization of listeners to clear custom fields during cloning to prevent unnecessary data propagation.

Introduction of apps like JXL for in-depth data analysis within Jira, enhancing the cleanup process.

Sense of satisfaction derived from successfully reducing Jira's complexity and improving its performance.

Transcripts

play00:00

foreign

play00:01

[Music]

play00:22

good afternoon

play00:24

we're going to rewind the clock back to

play00:26

2009. this is about the time when

play00:29

infidelity everybody started doing agile

play00:33

and we needed some sort of a tool to

play00:36

manage our work at the time we used RTC

play00:39

rational team concert don't know if any

play00:41

of you heard of it

play00:42

and it did it did the job okay but we

play00:46

didn't really have a good enterprise

play00:48

process for how everybody would do their

play00:50

work the same way so some people started

play00:53

using rally and then people started

play00:55

using jira and we had all different

play00:57

tools and nobody was doing anything a

play00:59

consistent way

play01:00

very quickly it became obvious that jira

play01:04

seemed to be the preference that people

play01:05

had so we needed to pull together a team

play01:08

make sure that we had an Enterprise

play01:10

instance of jira that everybody could

play01:12

use and use it in a similar way

play01:14

the problem was there was a lot of

play01:16

people who wanted to use jira and we had

play01:18

a very small team so this resulted in us

play01:21

having lots of jira Administrators all

play01:24

around our Enterprise who didn't maybe

play01:27

have all of the knowledge they needed to

play01:29

have as how best to administer jira and

play01:32

this resulted in a lot of customizations

play01:35

and I mean a lot of customizations I see

play01:39

some of you nodding so you obviously can

play01:40

empathize with this situation

play01:42

so let's take a look at um some of our

play01:45

custom fields so you can see on here

play01:48

some custom fields that are related to

play01:51

Applications so we had 15 20 maybe 30

play01:56

custom Fields trying to capture either

play01:58

an application ID an application name

play02:01

some of them were free texts some of

play02:03

them were single select drop downs some

play02:05

of them highlighted in red were even

play02:07

spelled wrong and how were we ever

play02:10

supposed to report on our data or have

play02:13

any sort of a consistent process when

play02:15

people were using different fields for

play02:18

the same data so in this instance we

play02:21

were able to get all of these fields

play02:22

down to two one free text and one single

play02:25

select drop down everyone could continue

play02:26

to work the way they wanted to work but

play02:28

we had a more consistent process

play02:31

but why do we care all we've heard about

play02:34

in all of our Keynotes is we need to let

play02:36

teams work the way they want to work and

play02:38

they need to do their own thing they

play02:40

need to have their own processes

play02:43

but we also need some sort of control to

play02:45

make sure we've got standards in place

play02:47

so getting the balance between these is

play02:49

really important so the first reason we

play02:51

care is performance if you've got a

play02:53

really big instance of jira and you've

play02:55

got thousands of customizations it will

play02:57

impact your performance so by

play02:59

standardizing you can improve your

play03:00

performance

play03:01

if you want to do reporting or get

play03:03

analytics if you have everybody using

play03:06

similar workflow statuses that's going

play03:08

to be much easier we had nearly 1500

play03:11

workflow statuses now I don't know how

play03:13

many different variations of to-do and

play03:15

progress done you can have but we had

play03:17

1418 of them

play03:19

Administration so any of you here who

play03:22

are jira administrators know that if

play03:24

you've got a lot of customizations it's

play03:26

really really difficult to keep your

play03:28

system in sync and keep everything up to

play03:31

scratch our custom Fields page used to

play03:34

take 10 minutes to load this is before

play03:37

it was paginated I know it's paginated

play03:39

now but it took 10 minutes this was

play03:41

before you even went in and configured

play03:42

any context

play03:44

we want to integrate with other tools so

play03:47

we have jira align we also have some of

play03:49

our own homegrown tools that we take

play03:51

jira data out of it was almost

play03:54

impossible to integrate with some of

play03:56

these tools with the amount of

play03:57

customizations that we had

play04:00

we want to have a consistent process for

play04:03

our Associates if somebody is working on

play04:05

a jira project and they move to a new

play04:07

team it shouldn't feel like they have to

play04:09

learn it all from scratch they should be

play04:10

able to have a new to your project and

play04:12

know exactly how to work it

play04:14

so that comes down to usability as well

play04:17

if you've got a screen that has 79

play04:19

fields on it how usable is that for the

play04:22

person who's actually doing the work

play04:23

they're overwhelmed with the amount of

play04:25

fields that are on the screen

play04:28

exports

play04:30

2008 custom Fields is what we had at the

play04:32

peak every time somebody wanted to

play04:34

export from jira they got a spreadsheet

play04:37

with 2008 columns in it plus system

play04:39

Fields so let's say 2025 and all of that

play04:43

data was in there all of these columns

play04:45

despite the fact that they didn't use

play04:47

the fields

play04:48

and lastly we want to get to the Cloud

play04:51

we're hearing about all the really cool

play04:53

things that lastly and have in cloud and

play04:54

we want to get there but we're not

play04:56

bringing almost 15 years of Legacy

play04:59

configuration and data with us that we

play05:01

know is not going to be needed in the

play05:03

future

play05:05

so I'm Caroline uh you might have

play05:07

guessed I'm from Ireland I work for

play05:09

Fidelity and I have been working on a

play05:12

jira application for about the last five

play05:14

years we have a geodata center instance

play05:17

we have 5 000 projects or maybe just shy

play05:20

of that and about 30 000 users so that

play05:23

shows you the size of the setup that we

play05:25

have

play05:26

what did we consolidate so we've talked

play05:29

about some of these already fourteen

play05:31

hundred for 1418 workflow statuses now

play05:34

we have 12. we had 2008 custom fields we

play05:39

have a hundred and three we're going to

play05:40

get to under 100 that has always been

play05:42

our Target

play05:43

workflows I'll talk about this later we

play05:46

had over 2 000 we have one workflow now

play05:49

everybody uses the same workflow

play05:52

screens

play05:54

3685 screens and now we have 154.

play05:58

there's work to do here because we're

play05:59

still working on custom Fields but we

play06:01

will tidy these up further issue types

play06:05

466 versions of Epic story task book and

play06:09

subtask how is that possible we had

play06:12

issue types called watermelon pineapple

play06:16

orange and grape

play06:18

now somebody could explain that to me I

play06:21

would really appreciate it we don't have

play06:22

them anymore we now have 14 issue types

play06:25

and roles everything else all of the

play06:28

other schemes notifications permission

play06:30

schemes everything was Consolidated down

play06:33

into less of what we had

play06:36

people don't like this we got a lot of

play06:38

pushback why are you trying to control

play06:40

us this is working the way it is why are

play06:43

you forcing us to change we're different

play06:45

we need something different our leaders

play06:48

don't want this we need to report up

play06:51

different information than you think

play06:53

that we need to do this works for us we

play06:56

don't have time for this you can't force

play06:58

us to do this I'm sure you've all heard

play07:00

all of these things when you when you

play07:02

get pushed back what we've found is

play07:05

after doing all this work all of these

play07:08

people who are pushing back are now

play07:09

coming to us and saying you were right

play07:12

we didn't understand it's so much easier

play07:14

now the performance is so much better

play07:16

we've got better data sorry for being

play07:19

such a pain is what we get

play07:22

so I'm going to talk a little bit about

play07:23

custom Fields this is probably the

play07:25

biggest one that impacts performance

play07:26

because all of the custom field data is

play07:29

loaded into your leucine index which is

play07:31

load your boards and your search so

play07:33

reducing the size of your index has a

play07:34

significant impact on performance so we

play07:37

started off with custom fields that had

play07:39

low usage so we did a lot of got a lot

play07:42

of data from the database you can only

play07:44

export a thousand rows at a time from

play07:45

GRS so it's difficult to get the data

play07:47

from the UI so there are custom fields

play07:50

that existed that were used on older

play07:52

projects that those projects didn't even

play07:53

exist anymore so they didn't have any

play07:56

usage so we went and looked for it there

play07:57

was nothing there they were easy we

play07:59

could get rid of those very quickly

play08:01

Fields with similar names talked about

play08:02

that already with our application if

play08:04

there were Fields with similar names

play08:05

they were obviously trying to capture

play08:07

the same data so we Consolidated those

play08:10

we looked at fields that were the same

play08:12

type so if we had check boxes we looked

play08:14

at all checkbox Fields if we had

play08:15

multi-select drop down we looked at all

play08:17

of them are there any of these that we

play08:19

can consolidate together

play08:21

if they weren't on a screen why do we

play08:23

have them if they're not on a screen if

play08:25

nobody can see it there's no point

play08:26

having it get rid of it

play08:29

we looked at fields that had all the

play08:31

same value so it was actually amazing

play08:33

how many fields all had the same value

play08:35

it's like what is this giving you if

play08:37

every value was the exact same why do

play08:39

you need this field it's never different

play08:41

you never put in a different value

play08:43

cloning was a big problem for us so with

play08:47

all these custom Fields every time you

play08:49

clone a story or an epic the data gets

play08:51

cloned from the previous story or epic

play08:54

and people seem to be like serial

play08:56

cloners that we have things have cloned

play08:58

for the last 10 years

play09:00

fields that were on the screen 10 years

play09:02

ago are no longer on their screen but

play09:03

the value keeps getting cloned so it

play09:05

looks like the field is being used but

play09:07

it's not being used so that was

play09:09

something that we really had to look at

play09:11

in a recent updated jira we got really

play09:14

good information on the custom field

play09:15

screen to see the recently used so

play09:17

that's another data point we use if

play09:19

they're used a lot but they haven't been

play09:20

used in a year maybe this is a field we

play09:23

don't need anymore and one of the

play09:24

biggest things that we targeted was

play09:26

custom Fields with default values so if

play09:28

you have a default value and you have

play09:30

all 5000 projects and the context isn't

play09:33

set up correctly every single issue in

play09:35

every single project gets that default

play09:36

value and this is all in your index and

play09:38

it's all in your database

play09:40

so how did we do it so there's a lot of

play09:43

analysis that you need to do if you're

play09:45

removing or consolidating a custom field

play09:47

because you have to find out if it's

play09:49

being used is it really being used or is

play09:51

it just being cloned and who's using it

play09:53

so once we determine which fields we

play09:56

were going to work on we would engage

play09:58

with the power users and the admins to

play10:00

make sure that they knew we were doing

play10:02

this so once they were informed they

play10:04

could talk to their teams

play10:06

we created some generic or miscellaneous

play10:08

fields that where people had a specific

play10:11

need we'd say to them okay we've created

play10:13

a field called more info or data and you

play10:17

can put whatever you want in there it's

play10:18

you know you can use it how you want on

play10:20

your team but we don't need we didn't

play10:22

need specific fields for every single

play10:24

project who wanted to do their own thing

play10:26

we use script Runner a lot so we copied

play10:29

all the custom field values when we were

play10:31

consolidating from one to another we

play10:33

could not have done this without that

play10:35

ability in script Runner to copy from

play10:36

one to the other

play10:38

then we started trying to make sure that

play10:41

the customer knew this was happening so

play10:43

if we were removing a custom field we

play10:45

added a description to say this is going

play10:47

to be decommissioned and if it was a

play10:49

drop down we disabled all the values in

play10:51

the drop down and just put one value in

play10:53

that said to be decommissioned so they

play10:55

knew they couldn't use it their existing

play10:57

data was still there but they couldn't

play10:58

use it going forward

play11:00

and in some cases we actually renamed

play11:02

the field and put do not use at the end

play11:04

of the field so this people will come to

play11:06

us and go why does this field say do not

play11:07

use

play11:09

then we'd remove them from the screen so

play11:11

removing from the screen is very low

play11:12

risk because it doesn't delete any data

play11:14

data's still there it's just not on the

play11:16

screen that's when people would come out

play11:18

of the woodwork and go where's my field

play11:19

gone so then we could have a

play11:21

conversation with them then we'd remove

play11:23

it from the search so again it's still

play11:25

there but if they're trying to type it

play11:27

into jql they can't because it's not in

play11:29

the search

play11:31

we added a banner on jira to a

play11:33

Confluence page so everything we were

play11:35

doing was documented on this Confluence

play11:37

page so anyone who wanted more

play11:39

information could click on the banner

play11:40

and go see what we were doing and

play11:41

confluence and lastly we delete the

play11:44

field

play11:45

we always coordinated our deletes with a

play11:48

refresh from our production environment

play11:50

to our non-production environment so

play11:52

when we deleted fields we didn't delete

play11:54

them QA and then production we deleted

play11:56

them in production and kept them in QA

play11:58

so QA acted as a backup for us just in

play12:01

case now thankfully we rarely had to use

play12:03

it but we just had it as an extra backup

play12:05

just in case

play12:08

so that's cost of fears and let's talk

play12:10

about projects I'm sure a lot of you are

play12:12

interested to to know how we could

play12:13

possibly get 5000 projects onto one

play12:15

workflow this has been a dream of mine

play12:19

and all of my team for a very very long

play12:21

time but how can you ever get everybody

play12:24

to agree on one workflow that the same

play12:26

process is going to work and it goes

play12:29

against everything we've heard today

play12:30

that we need to let teams work the way

play12:32

they want to

play12:33

in jira you could have a certain amount

play12:35

of properties at a project level so you

play12:37

can have a name a key an avatar a type a

play12:40

project lead a category a description

play12:42

but it's very limiting you can't have

play12:44

very much there so if you need to

play12:45

categorize your projects differently and

play12:48

have something at a project level you

play12:49

can't really do that so we spent a lot

play12:52

of time looking for a Plugin or an app

play12:54

that would give us some sort of project

play12:56

property information so we could capture

play12:59

data at a project level that we could

play13:02

then use in a different way

play13:04

so we had a few different plugins that

play13:06

we found and then we did our due

play13:08

diligence and then they weren't going to

play13:09

be a runner and my head was telling me

play13:12

this is not the right thing to do this

play13:14

you know this this vendor isn't replying

play13:15

to any of our emails so what's going to

play13:17

happen if something goes wrong but my

play13:18

heart was telling me I really want to

play13:20

get this in because I really want to go

play13:21

with the next step of my plan and then

play13:24

we came across an app called project

play13:27

track and I know project tracker here

play13:29

today they're here and they're at a

play13:30

stand over there and this has just

play13:32

changed everything for us so what

play13:34

project track allowed us to do was to

play13:37

specify configurations at a project

play13:39

level and we can then access this data

play13:42

and use these configurations in post

play13:44

functions or in workflow conditions to

play13:47

do something different depending on

play13:48

what's selected for a particular project

play13:51

so we have one workflow that has 12

play13:53

workflow statuses everybody gets to do

play13:56

in progress done and canceled everyone

play13:58

gets that there's no choice and after

play14:00

that each individual project can go in

play14:03

and select which additional statuses

play14:05

they want on their project so in this

play14:07

case testing review and ready are the

play14:10

statuses that this team wants to use on

play14:13

top of the out of the box ones in the in

play14:16

the back end of the workflow we have

play14:17

conditions set up that look at this

play14:19

field and say you know if testing is

play14:21

true show show this transition otherwise

play14:23

don't so it shows and hides the

play14:25

transitions based on what's configured

play14:27

in here

play14:29

then we took it a step further to add

play14:30

additional logic because I said we have

play14:33

some Integrations one of our

play14:34

Integrations is jira line if we have

play14:36

teams that are integrated into jira line

play14:38

they need to put an epic link on their

play14:40

stories if they don't have an epic for

play14:42

their stories our data doesn't roll up

play14:44

into jira line and we we've got black

play14:46

spots so they have to have an epic link

play14:48

so if jira line is set to yes once a

play14:51

story and only a story we don't care if

play14:53

it's a bug or a task only stories once

play14:56

it moves into Annie in progress or done

play14:58

status they have to put in an epic link

play15:00

similarly if they pick scrum they have

play15:03

to put in story points once it goes into

play15:05

an in-progress or a dawn status if it's

play15:07

kanban they don't have to and the last

play15:09

thing we did was we put in an option for

play15:12

making certain Fields required so this

play15:14

is going to help us get rid of a lot of

play15:16

the field configurations that we have

play15:17

today so if a particular particular

play15:20

project wants to make acceptance

play15:22

criteria required they can do that if

play15:24

another project wants to make a

play15:26

different field required they can do

play15:27

that too but it's all done project by

play15:29

project and every team can customize it

play15:32

how they want to themselves

play15:36

so I could talk probably all day about

play15:38

all of the different things that we

play15:40

Consolidated but were short time and

play15:42

these are really our two most important

play15:44

ones workflows and custom fields we

play15:46

learned a lot of lessons as well when we

play15:48

were doing this work this has been a

play15:49

long journey for us and we made a few

play15:51

mistakes not too many thankfully but we

play15:53

did learn lots of lessons so the first

play15:55

one is to start with your low hanging

play15:57

fruit I mean go into your system there's

play15:59

things in there already that have a

play16:01

delete link beside it if delete is there

play16:02

delete it get rid of it before somebody

play16:04

starts using it again so delete what you

play16:06

can already that has no impact start

play16:08

with that low hanging fruit and then

play16:10

start with things that are used less

play16:12

that's always going to be easier to

play16:14

consolidate or remove limit the number

play16:16

of admins in your jira instance we had

play16:20

about 200 admins now we have 50 it's

play16:23

still way too many the idea is to get to

play16:25

none apart from our Enterprise team but

play16:28

what we did was we created a group of

play16:30

elevated users and this allows people

play16:33

who used to be admins to do a lot of

play16:35

what they could do in the past but they

play16:38

can't go in and do the main

play16:39

configuration so we've put them on every

play16:41

board so they can fix people's boards we

play16:43

have a self-service tool that we built

play16:45

for creating projects so they can still

play16:47

create projects through the self-service

play16:48

tool so this elevated access group has

play16:51

given people about 90 of what they could

play16:53

do but they can't create new custom

play16:54

fields that they can't create new

play16:56

workflows

play16:57

you need to put guard rails in place so

play16:59

limiting the admins is one thing but the

play17:01

admins that you have need to understand

play17:03

that certain things they shouldn't be

play17:05

doing so very early on when we start

play17:08

this process we said no new custom

play17:10

Fields no new workflows no new issue

play17:12

types unless you come to us we have to

play17:13

approve anything new like that you can

play17:15

reuse anything that exists but know that

play17:18

we are going to continue to consolidate

play17:20

so be careful you don't move on to

play17:21

something that's not being used a lot

play17:23

because that's likely going to go

play17:24

that'll be our low-hanging fruit

play17:27

we created templates for new projects so

play17:31

one of the biggest problems we had was

play17:33

admins going in going you know create

play17:35

project and selecting

play17:38

um scrum or kanban and when you do this

play17:40

it creates a new workflow a new workflow

play17:42

scheme and you screen a new screen

play17:43

scheme it creates all these

play17:45

customizations that are unique to that

play17:47

project

play17:48

those worn-off workflows then put gave a

play17:51

back door where people could add

play17:53

statuses to their boards non-admins

play17:55

could add stasis to their board on the

play17:57

software simplified workflows and they

play17:59

were the ones creating the 1418 statuses

play18:02

at least half of them because they were

play18:04

able to do it on the UI it kind of had

play18:06

this like back door and create statuses

play18:08

so by having templates and everyone has

play18:11

to create a project from a template it

play18:13

doesn't create new workflows and new

play18:14

screens it reuses existing ones every

play18:17

time so nobody is allowed to create a

play18:19

project by clicking you know new scrum

play18:21

or new kanban they have to use the link

play18:23

at the bottom that says create using a

play18:24

shared configuration and then pick one

play18:26

of these templates so they're not

play18:28

creating new customizations

play18:30

archiving your old project so this is

play18:33

really important and jira has built-in

play18:35

archival which is fantastic it didn't

play18:38

have it when we started this with the

play18:40

built-in archival you need to make sure

play18:42

that you migrate people off the schemes

play18:44

that they're on first because you can't

play18:45

remove them even if the Project's

play18:47

archived so if you've got a standard

play18:49

Enterprise workflow or an Enterprise

play18:50

screen move them onto that stuff first

play18:53

and then it'll start to free up some of

play18:55

those schemes that you you want to be

play18:57

able to get rid of in our case we

play18:59

started off looking at projects after

play19:01

two years of no usage you're going to be

play19:04

archived mandatory archival that's it it

play19:06

was before jira had archival so what we

play19:08

actually do is we take a snapshot of the

play19:11

database and store it in an S3 bucket

play19:13

for long-term storage for order purposes

play19:16

but once a project is archived it is not

play19:18

coming back into jira it's not coming

play19:20

back it's gone that's it you know you we

play19:23

can get to export the data out to you

play19:24

into a CSV but it's not coming back into

play19:26

jira we started with two years then we

play19:29

went to 18 months then we went to 12

play19:31

months and we landed at six months so at

play19:33

the start all that pushback I'm going to

play19:35

need the project I need to go back to my

play19:37

old stories and see what was in them no

play19:39

you don't like you don't need to go back

play19:40

to something two years old and we now

play19:42

realize they don't even need to go back

play19:43

to something that's six months old so

play19:45

getting rid of those old projects starts

play19:47

to Orphan all these configurations to

play19:49

make it easier to actually remove them

play19:52

listeners were really helpful to us for

play19:54

the cloning problem so we created

play19:57

listeners that cleared custom fields on

play19:59

on cloning so that those fields that we

play20:01

were trying to get rid of that we didn't

play20:03

know were they really being used or were

play20:05

they just being used because of cloning

play20:06

you having listeners clear those out

play20:08

really helped us to to look at that data

play20:10

in a different way

play20:13

there's a lot of apps that we use to try

play20:15

and help us along the process I

play20:17

mentioned project track already in terms

play20:20

of our our workflow I also talked a bit

play20:22

about script runner for copying the data

play20:24

from one to the other there's a new app

play20:27

that we got recently called jxl that has

play20:29

been really really good for us where it

play20:31

like overlays Excel on top of jira I

play20:34

wish we had it about four years ago when

play20:36

we were in the middle of all our custom

play20:37

field cleanup but it allows us to like

play20:39

sum up the data and summarize the data

play20:41

and get all that Excel functionality to

play20:44

do the analysis within jira itself

play20:46

instead of having to export it outside

play20:48

of GRS so if you haven't seen any of

play20:50

these apps go take a look at them

play20:52

project track jxl and script Runner have

play20:54

been brilliant for us

play20:56

and lastly there's great satisfaction in

play20:59

this work I love deleting things like

play21:02

the thrill I get when I go in and hit

play21:04

that delete button and see the numbers

play21:06

come down and my Confluence page that

play21:08

shows the percentages that we have we

play21:10

have cleaned up so there is good

play21:12

satisfaction and especially when those

play21:13

people who push back come back and say

play21:16

you were right this is way better we

play21:18

should have done this way sooner so it's

play21:20

hard but it's worth it and there's great

play21:22

satisfaction so hopefully this can give

play21:25

you all a little bit of a taste of what

play21:27

it's like to clean up your deer instance

play21:28

and if you've got any questions I'll be

play21:31

around afterwards or you can connect

play21:32

with me on LinkedIn I'm happy to answer

play21:35

any of your questions thank you

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Jira OptimizationAgile ManagementCustom FieldsWorkflow EfficiencyEnterprise ToolsProject ConsolidationIT AdministrationPerformance ImprovementUser ExperienceData Standardization