SE Notes
Complete guide to the Scrum framework including roles, events, artifacts, and implementation practices.
Scrum is the most widely adopted Agile framework for managing complex software development projects. Created by Ken Schwaber and Jeff Sutherland in the early 1990s, Scrum provides a lightweight yet powerful structure for teams to deliver working software incrementally through fixed-length iterations called sprints. Its elegance lies in its simplicity — Scrum defines just three roles, five events, and three artifacts, yet this minimal framework enables teams to tackle enormously complex problems.
The Three Pillars of Scrum
Scrum is founded on empirical process control theory, which asserts that knowledge comes from experience and decisions should be based on what is observed. Three pillars support this:
Transparency: All aspects of the process must be visible to those responsible for the outcome. The product backlog, sprint backlog, and increment are transparent artifacts that everyone can inspect. Hidden work, undisclosed technical debt, and secret side projects violate transparency.
Inspection: Scrum practitioners frequently inspect artifacts and progress toward the sprint goal to detect variances. The five Scrum events (sprint planning, daily scrum, sprint review, retrospective, and the sprint itself) provide structured opportunities for inspection.
Adaptation: When inspection reveals that aspects of the process deviate from acceptable limits, adjustments must be made promptly. Scrum provides formal opportunities for adaptation at every event.
Scrum Roles
Product Owner
The Product Owner is the single person responsible for maximizing the value of the product. They own the Product Backlog, ensuring it is ordered by business value, clearly expressed, and visible to all stakeholders. The Product Owner makes priority decisions — what to build next and what to defer.
In practice, a Product Owner for a banking application might decide that the new fraud detection feature takes priority over UI improvements because fraud losses exceed the revenue impact of poor user experience. They communicate this reasoning to the team and stakeholders.
Scrum Master
The Scrum Master serves as the team's coach, facilitator, and impediment remover. They ensure the team understands and follows Scrum practices, facilitate events, and protect the team from external interruptions. A Scrum Master is not a project manager — they do not assign tasks or make technical decisions.
When a developer reports that they are blocked waiting for access credentials from the infrastructure team, the Scrum Master escalates, follows up, and removes that impediment so the developer can return to productive work.
Development Team
The Development Team consists of professionals who deliver the potentially releasable product increment at the end of each sprint. Teams are cross-functional (containing all skills needed to deliver) and self-organizing (they decide how to accomplish work without being directed by others). Optimal team size is three to nine members.
Scrum Events
The Sprint
The sprint is the heartbeat of Scrum — a time-boxed period (typically two to four weeks) during which a potentially releasable product increment is created. Sprints have consistent duration throughout the project, and a new sprint starts immediately after the previous one concludes.
During a sprint, no changes that endanger the sprint goal are made, quality standards do not decrease, and scope may be clarified and renegotiated between the Product Owner and Development Team as more is learned.
Sprint Planning
Sprint planning initiates the sprint by defining what will be delivered and how it will be achieved. The entire Scrum team collaborates to select Product Backlog items for the sprint and create a plan for delivering them. This meeting is time-boxed to eight hours for a one-month sprint.
The team considers their velocity (historical capacity), any team member absences, and the complexity of selected items. They decompose selected backlog items into tasks, typically no larger than one day of work.
Daily Scrum
The daily scrum is a fifteen-minute time-boxed event where the Development Team synchronizes activities and creates a plan for the next twenty-four hours. Each team member typically addresses: What did I complete yesterday? What will I work on today? Are there any impediments blocking my progress?
This is not a status meeting for management — it is the team's self-organization mechanism. The Scrum Master ensures the meeting happens and stays within time limits but does not run it.
Sprint Review
At the end of each sprint, the team demonstrates the completed increment to stakeholders and gathers feedback. This is an informal working session where the Product Owner explains what was completed and what was not, the team demonstrates working software, and stakeholders provide input that may influence subsequent backlog priorities.
Sprint Retrospective
The retrospective occurs after the sprint review and before the next sprint planning. The team reflects on the past sprint regarding people, relationships, process, and tools. They identify what went well, what could improve, and create an actionable plan for improvements to implement in the next sprint.
Scrum Artifacts
Product Backlog
An ordered list of everything known to be needed in the product. It is the single source of requirements and is never complete — it evolves as the product and its environment evolve. Items near the top are refined, well-understood, and sized. Items further down are larger and less detailed.
Sprint Backlog
The set of Product Backlog items selected for the sprint, plus the plan for delivering them. It is owned entirely by the Development Team and represents a forecast of what work the team believes they can accomplish.
Product Increment
The sum of all Product Backlog items completed during the current sprint and all previous sprints. The increment must be in a usable condition and meet the team's Definition of Done — a shared understanding of what "complete" means (coded, tested, documented, deployable).
Real-World Scrum Example
A five-person team building a project management tool runs two-week sprints. In sprint seven, they plan to deliver: user notification preferences, email integration for task assignments, and a dashboard widget showing overdue items. During the sprint, they discover the email integration is more complex than estimated. In the daily scrum, they raise this, and the Product Owner agrees to move the dashboard widget to the next sprint while the team focuses on delivering solid email integration.
At the sprint review, stakeholders see the working notification system and provide feedback that they also need Slack integration. The Product Owner adds this to the backlog and priorities it for a future sprint. In the retrospective, the team identifies that their estimates for integration work are consistently too low and decides to add a spike (research task) before estimating similar work in the future.
Interview Q&A
Q: What is the role of a Scrum Master? A: The Scrum Master serves as a servant-leader for the team, coaching them in Scrum practices, facilitating events, removing impediments, and shielding the team from external distractions. They do not manage the team or make technical decisions but ensure the Scrum process works effectively.
Q: What happens if a sprint goal cannot be met? A: The Development Team collaborates with the Product Owner to negotiate scope. Non-essential items may be removed from the sprint. The sprint is never extended — the team delivers what they can within the time-box and carries incomplete items back to the Product Backlog for reprioritization.
Q: How does Scrum handle changing requirements? A: Requirements can change between sprints through Product Backlog refinement and reprioritization. Within a sprint, the scope is protected to maintain focus, but the Product Owner can cancel a sprint entirely if the sprint goal becomes obsolete due to dramatic changes in business direction.
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Scrum Framework.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Software Engineering topic.
Search Terms
software-engineering, software engineering, software, engineering, agile, and, devops, scrum
Related Software Engineering Topics