Updated: May 15
Backlog refinement is an activity that should happen regularly. The objective is to have enough user stories refined for the team to work for the next sprint. Thus it should happen before the Sprint Planning event. Ideally, you should have at least two Sprint worth of User Stories ready in case the team runs out of work if the PO is out for a short period. I recommend that you hold at least one session per week (you might need more). Attendees should include the full Scrum team (SM, PO, and Developers) as well as any other subject matter experts (as needed).