Hi,
We are a team of mostly developers, but also have a QA team and a Design team. Recently we've been using Kanban in Jira, but have had problems with estimation and scheduling using this approach when the project(s) grew, so are looking into Scrum now.
When we previously used Scrum we never defined user stories, only epics and tasks to describe the requirements. Tasks could be either an engineering task or a design task. When a task was completed QA verified based on the defined requirements. The problem we had with this was that QA team were not accounted for during the estimation, so many times QA didn't have enough time to finish testing during the sprint. The design team was also working outside the sprint in their separate Kanban board.
We are now looking into making use of stories and acceptance criteria to more closely follow the scrum approach to allow us to work more smoothly together and plan work better. I've however been struggling finding the best practices for how to involve cross functional teams in the Jira Scrum approach and have some questions..
1. If we have a story, e.g. "As a first time user, I should be able to create an account so I can do X". This story could consist of:
- Acceptance criteria (be done before sprint start by PO and stakeholder(s) review)
- Design deliverables (design)
- Code implementation (eng)
- Functional testing (qa)
Since a story is expected to finish within one sprint, does that mean all the above work needs to finish during the sprint? Previously, when we used "Tasks", we allowed for e.g. design task to be planned in one sprint and in the next one we could do implementation and testing.
Since design work usually involves research, iterations, etc it feels like it's better suitable for a separate workflow outside the engineering sprint. But this feels contradictory to best practices for stories where everything should be done inside the sprint.
2. If you plan for all functions to work on stories how do you handle lead/lag time? E.g. before design is ready what would frontend developers work on, or when design has been finished for the stories what do the design team do for the remainder of the sprint? Previously, when using tasks we would be able to plan work for the full sprint since there was no lead/lag time for the planned tasks since design work was done before tasks were planned in the engineering sprint.
3. Alternatively, the story could transformed into an epic, e.g. "As a first time user, I should be able to create an account so I can do X". This epic can then be broken down into multiple stories/tasks, and e.g. the UX/VD could be part of first sprint and the user stories implementing it part of 2nd sprint? But this feels like a work-around, since part of the story has technically already been completed in a previous sprint.
TLDR. I'm struggling to understand how stories and sprints can be used in cross-functional teams in an efficient way without introducing downtime for the different functions in the team.