Scrum is a process used for agile software development. With scrum, projects progress via a series of iterations called sprints. Each sprint is typically 2-4 weeks long and sprint planning is essential. Scrum is ideally suited for projects with rapidly changing or highly emergent requirements.
Characteristics of Scrum
- 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 is a simple framework which consists of 3 roles, 4 ceremonies and 3 artifacts.
o Defines the features of the product
o Decide on release date and content
o Responsible for the profitability of the product
o Prioritize features according to market share value
o Accept or reject work results
o Represents management to the project.
o Responsible for enacting scrum values and practices.
o Ensure the team is fully functional and productive.
o Enable close cooperation across all roles and functions.
o Shield the team from external interferences.
Consists of 5-9 cross functional full-time members. That is there are programmers, testers, UI designers.
Team selects items from the product backlog and create the sprint backlog. And the tasks are identified and estimated.
Conducts at the end of the sprint to demonstrate the functionality added during the sprint to the product owner or any users or other stakeholders.
Whole team participate this meeting including the scrum master and the product owner and discuss on the team commitment, problems identified, velocity and suggest improvements to the next sprint.
Stand-up daily meeting time boxed for not more than 15 minutes with the team members to share what they worked on prior day and will work on today. This synchronize the work of the team.
A list of all desired work on the project which is prioritized by the product owner.
A list of tasks the team need to perform in order to deliver the functionality they committed to deliver during the sprint. This is created by the team members at the sprint planning meeting.
Show the amount of work remaining either in a scrum sprint or a release. This is a very effective tool for determining at a glance whether a sprint or release is on schedule to have all planned work finished by desired date.