Our company has multiple engineering teams (squads). Each team includes frontend developers, backend developers and QAs. They work on the tasks for multiple projects in each sprint. Since they practice scrum methodology and want to build each team's velocity and use it for planning, they have created a JIRA Project for each team and a board in each team's project to manage their work. Is this the best practice in using JIRA to plan, manage, and track the work for projects?
With this setup, when the team works on multiple projects at the same time and multiple teams work on a project, and the product manager or/and the project manager for each project want to have the visibility of the overall project in one place, they would create a separate JIRA project to store all the epic tickets for the project, and then link the stories from each team to the relevant epics. For instance, Project X is worked on by Team A, Team B, and Team C. Team A, Team B, and Team C manage their work for this project in their own/respective JIRA projects and board so that they can include the stories/tasks/defects of Project X in their scrum grooming, sprint planning, and sprints. The backlogs related to Project X is prioritized against other projects that Team A (project Y), Team B (project Z), and Team C (project O) also are working on. What is the best practice of using JIRA to manage a project in this organization structure?