What to do if the team cannot finish all the items before the sprint
What to do if the team is unable to finish the items before the sprint, is the sprint extended ?
no, the Sprint ends when the timebox expires. Unfinished Sprint Backlog Items go back to the Product Backlog and can be addressed in the following Sprint.
That's better than extending the Sprint because
- the team can get better in estimating
- of reduced complexity due to the consistency of the Scrum Events (no need to reschedule meetings etc.)
- maybe a Sprint Backlog Item turns out to be big enough for 10 Sprints - so by extending the Sprint you wouldn't work agile any more
what is the recommendation from scrum, continue the sprint as the dev understand what they are capable within the given time frame and move the remaining to product back log
Suppose you extended the Sprint, how much can you afford to extend it ?
You can extend but then you lose much of the accountability and opportunity for improvement. if you consistently modify sprint times you lose the ability to write stories effectively, manage the backlog, estimate effort and lose personal accountability. The timebox exists for accountability and to help each role learn and develop. if sprint lengths vary it becomes very difficult to measure velocity. it's better to reintroduce unfinished items to the backlog and give the team another chance to select their work. it's a good learning experience.
The beauty of Scrum is the focus on people and their behavior. The team selects the work instead of being assigned the work. This is huge! Plan driven methodologies failed due to a lack of buy-in from team members. The team knows upfront the deadline. If they don't hit their milestones use it to revisit how the work was selected and estimated. Communicate and train! If you don't, missed sprint deadlines might become commonplace.
The Scrum Guide is pretty clear on this: you don't extend sprints. At the end of a sprint, if there is incomplete work: "All incomplete Product Backlog Items are re-estimated and put back on the Product Backlog." This does not have to mean that the sprint was unsuccessful, as per the Scrum Guide: "If the Development Team determines it has too much or too little work, it may renegotiate the selected Product Backlog items with the Product Owner." and also during a sprint: "Scope may be clarified and re-negotiated between the Product Owner and Development Team as more is learned."
Having to reschedule Sprint Review meetings alone would keep me from extending a sprint time-box as it may be difficult to get the appropriate stakeholders on the new meeting (this may not be a problem for extremely small companies but for a company of any size, necessary stakeholders may have a variety of commitments to other meetings/projects/issues etc.).
The only time I would change the sprint time-box would be if it turned out to not match the needs of the product. For example, if the scrum team chose a one month sprint time-box, and this did not allow enhancements/features into the product marketplace fast enough to keep up with competing products/companies, there is probably good reason to change the time-box. But this should be a one-time decision and not something that varies from sprint-to-sprint.
That means anything extension is out of topic sir