Best way to manage cross-team sprints in Jira with task dependencies?

I’m trying to set up agile sprints in Jira but running into issues with multiple teams working on the same feature. Our workflow typically involves UI/UX team, backend developers, frontend developers, and testing team with dependencies between them.

Right now I’m using the standard Jira setup where we have Stories as main items and Tasks as sub-items. But here’s my problem - different teams need to work on the same feature across different sprints due to dependencies.

For example, if I create:

  • Story: Build login page
    • Task: UI team creates mockups
    • Task: Backend team builds API
    • Task: Frontend team implements interface
    • Task: QA team runs tests

I can’t assign individual tasks to different sprints, only the main story. So if UI team works in Sprint 1 and Backend team works in Sprint 2, the whole story stays open for multiple sprints. This messes up our burndown charts and makes planning difficult.

I’m thinking about restructuring everything like this:

  • Epic: Build login page
    • Story: Create login mockups (UI team)
    • Story: Develop login API (Backend team)
    • Story: Code login interface (Frontend team)
    • Story: Test login functionality (QA team)

This way each story can be assigned to different sprints. But it feels strange to create an epic for every small feature. Is this the right approach or is there a better way to handle this?