Scrum Methodology is an agile process that allows us to focus on delivering the highest business value in the shortest time. It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month). The business sets the priorities. The teams are self-manage to determine the best way to deliver the highest priority features. Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance for iteration.
Characteristics of Scrum Methodology:
- Self-organizing teams
- Product progresses in a series of month-long “sprints”
- Requirements are captured as items in a list of “product backlog”
- No specific engineering practices prescribed
- Uses generative rules to create an agile environment for delivering projects
Scrum projects make progress in a series called ‘Sprints’. It is analogous to XP iterations. Target duration for a sprint is one month +/- a week. But a constant duration of sprint leads to rhythm. Project is designed, coded and tested during the sprint. No changes are allowed when the sprint is already in progress.
- Roles: Product Owner, Scrum Master, Team
- Ceremonies: Sprint Planning, Sprint Review, Sprint Retrospective & Daily Scrum Meeting
- Artifacts: Product Backlog, Sprint Backlog, and Burn down Chart.
Role of Product Owner in Scrum Methodology:
- Define the features of the product.
- Decide on release date and content.
- Be responsible for the profitability of the product (ROI)
- Prioritize features according to market value.
- Adjust features and priority every iteration, as needed.
- Accept or reject work results.
Role of Scrum Master:
- Represents management to the project.
- Responsible for enacting Scrum values and practices.
- Removes impediments.
- Ensure that the team is fully functional and productive.
- Enable close cooperation across all roles and functions.
- Shield the team from external interference.
- Typically consists of 5-10 people and Cross-functional
- It may contain QA, Programmers, UI Designers, etc.
- Members should be full-time
- May be exceptions (e.g. System Admin, etc)
- Teams are self-organizing
- Ideally, no titles but rarely a possibility for the members.
- Membership can change only between sprints.
- A sprint is a month-long iteration, during which is incremented a product functionality.
- No outside influence can interfere with the Scrum team during the Sprint.
- Each Sprint begins with the Daily Scrum Meeting.