Hi Atlassian Admin family!
My organization has been using Jira since 2010 and while there has been some general governance in the past, it hasn't been comprehensive or rigidly applied. I convinced my company that putting someone into the "Product Owner" role for our internal tools so that we treat our users like customers and work to ensure our tools are meeting the needs of our teams...and that person is me! Now comes the hard part...moving their cheese.
Currently there's not great consistency in how my org decides when a new Jira project is needed. Some parts have one project per team irrespective to the product they're supporting, some parts have one project per product that multiple teams work out of, while some parts spin up a new project for every new scope of work they decide to take on. I know that factors which play into this decision should consider permission schemas/access, Release versions (I'd love for this nomenclature to be cleaned up), Components, and screen/field configurations. Based on these factors, it *seems* to me that building the projects around the products they support is the best match...but we are relatively immature in our cloud service products and shared services/components between products seems to mess that model up a bit. What are your experiences with project structure and do you have to fit both desktop applications and cloud service SaaS products in that model? Because I'm working to obtain funding for Salto, a requirement for me is to keep our project count as low as reasonable.
We used to use Groups to assign work items to teams/boards, however this became burdensome since only Site admins can modify groups and any time there was a restructure and a team needed to be created/removed it forced the Site Admin to engage. To remove this requirement (and to better integrate with Portfolio/Advanced Roadmaps) we decided to move to the new(ish) Team field. While the benefits are definitely valuable in how it ties Teams to home pages and allows teams to manage their own membership, there have been complications as the field still has some support issues. We have worked around some of them (like Two-Dimensional Filter Statistics and Pie Charts not working...we bought the Reports - Charts and Graphs add-on to supplement), however now we have the complication that we are trying to aggregate useful data to this assignment but the fact that *anyone* can create a team makes that data less reliable. What's your experience with building boards that may span projects but centered around some team identifier?
My organization has purchased licenses to Jellyfish to derive more useful data analytics from our engineering group, and since it uses Jira as a data source for it's metrics it is forcing our hand in aligning the way our engineering group operates. Historically we were primarily a desktop/installed application software company, and that led us to models that were based around builds that generate installation bundles. However as we mature into SaaS products this is forcing us to development patterns that include deploying services to intermediate environments, test environments, and production environments. What does this look like for you in regards to your ticket structure and statuses? Do you leverage subtasks for tracking these deployments or do you have a serial flow of statuses mapped to the activities? Or do you generate Deployment tickets and only track the story or bug fix to the posting of the service to the artifactory? It seems to me that subtasks might be the best fit for tracking these activities since some of them could be operating in parallel (functional testing in a QA environment while load testing is running) and you could block the Deploy to Production subtask with the other activities...however this seems like an administratively heavy load and I can picture teams complaining about the overhead.
Thank you for any advice or feedback you might have!
Definitely useful information! Thank you for sharing. For ITSM I can understand how this model could work...I think my concern is that the number of products we make and the number of "initiatives" that come up around those projects would lead to a lot of new projects and it wouldn't be very clear where the KTLO work would need to get assigned. I'll give this some consideration though, perhaps there's a way we could make it work!
So we have around 60 projects on our dev standard, with about a quarter of those being objective projects. Because everything is standardized, it's been a manageable amount so far.
The teams themselves are the one who create/manage their KTLO work, so this approach works for them. But if that work is managed more centrally I definitely see it being hard to replicate.
We do a variation on David's comment :)
We align our projects to releasable concepts - software stacks/codebases or devices - with the exception of our portfolio level projects (2). All the other projects are considered "engineering", the portfolio projects contain our programs and projects (which can cut across our products or align to one) using ticket types (we use a data model that focuses on scope at the ticket level and decorates those levels with standardized fields which capture additional data so we can report on different aspects of the scope and its delivery). Engineering projects house all the work that is KTLO as well as the Feature work, Feature work is laddered up to a Feature in the portfolio project. Boards are pulled to show all the work regardless of parentage. Advanced Roadmaps (AR) can be used to pull a delivery view.
We use the Teams field from AR. We haven't had a lot of the issues with Teams that others have, but our engineering org tends to be arranged into component teams and our Jira projects follow the technical systems pattern so we're not as beholden, we have team = tech system = jproject a lot of the time.
This one, we don't do well. We do all of the things you mentioned except for the environments as subtasks. You may get frustration with the subtasks since their parents are standardissuetypes and you tend to have a lot of those. If you do go subtask I would look at some automation to help ease the pain. If you're using automation, I'd look into the fix version field - you can have multiple values in this field so it can be an "add to existing" and generally speaking environments tend to indicate what type so they don't get crossed but some folks get prickly if anything but the prod designation is in there.
Recommended Learning For You
Level up your skills with Atlassian learning
Learning Path
Become an effective Jira admin
Manage global settings and shared configurations called schemes to achieve goals more quickly.
Streamline Jira administration with effective governance
Improve how you administer and maintain Jira and minimize clutter for users and administrators.
Learning Path
Become an effective Jira software project admin
Set up software projects and configure tools and agile boards to meet your team's needs.