Single Jira project for multiple Scrum teams
We're going to develop a Java web application (frontend + backend's microservices) using several Scrum development teams. One team is resposible for the core product modules (microservices). Some other teams are responsible for some other modules (microservices). And yet another team is responsible for development of the frontend.
All the design and the specifications are kept in Confluence.
Is it a good idea to create a single project in Jira and configure it so that each team sees only its tasks? Or is it more convenient to create different projects in Jira for each team?
What are pros and cons of each approach?
I've found that Jira projects best equate to products. This enables better use of the functionality around Releases, Components, and test case management (if you integrate that with your Jira instance through a plugin).
In your case, you need to decide if your web application is a product or if the different microservices are each a product. I prefer to have the customer-facing entity be the product, regardless of its architecture, but I can see advantages to both. This depends more on how you want to track and control revisions to the system - I personally favor versioning the system as a whole, so I would want to uprev the system every time any microservice changed and would want to use Jira to track those system level versions.
With the one-project approach, you can create separate boards for each team yet leverage the overall Product Backlog in a way that would support scaled frameworks such as LeSS and Nexus and take advantage of some of the built-in Jira functionality.