My company is trying to use classic epics and user stories, where each is defined as a slice of user value. That user value includes UI, backend, etc, which means that multiple people will work on a story. (so having a single assignee for the story is not ideal, but ok) For that reason, we are utilizing sub-tasks to define the work for individual developers, testers, etc.
This way, when we plan a user story into a sprint, we know that the entire slice of user value is accounted for in the sprint.
During sprint planning, we are keeping an eye on allocation for team members as shown at the top of the backlog board. We'd like the team to be able to estimate their sub-tasks, and then when the user story is planned into the sprint we can see each team member's allocation updated. That way we can be sure to not over- plan anyone's time.
We have tried to do this with epics and stories, by making the epics be the slices of user value that can be accomplished within a sprint. But then the epics sidebar feature and other properties of epics are lost. We want the sidebar to have items that contain several "user value slice" items that show up in the backlog. Otherwise the epic winds up being misplaced in the hierarchy of issues.