Scrum is an agile way to manage a project, usually software development. Agile software development with Scrum is a collection of different methodologies, work techniques and roles. Scrum is more a framework for managing a process, which leaves the project and development process itself flexible. Compared to outdated methods like waterfall, it is not necessary to plan the project months in advance before even having a full understanding of the final product. Instead projects progress via a series of sprints and iterations.
The 3x3 policy is the most simply way to get a full understanding of Scrum:
- Product Backlog – prioritized list of all requirements
- Sprint Backlog – list of task that has to be done to fulfil a work package
- Release Plane – forecast of product release
- Product Owner – ideas and economical responsibility for the product/client
- Scrum Master – monitoring the team and development process
- Team – semi-autonomous and self-organized, no hierarchies
- Sprint Planning – planning of a work cycle
- Daily Scrum – daily briefing during each day of a sprint
- Retrospective – review of a sprint
Planning, coordination and organization are the main tasks of software development. The sprint planning is one of the ceremonies used in Scrum to establish well working communication flows. Sprints are time boxed 1 to4 weeks. Before each start of a sprint there is a planning meeting where team members figure out how many items from the product backlog they can commit to, and then create a sprint backlog
The product backlog is a list of all things that needs to be done within the project. It replaces the product specification sheet. Each entry in the product backlog must have some customer value and are often written as user stories. They are also prioritized and ordered according to added value, costs and risks. That product backlog can be changed throughout the whole project. If needed, new requirements are added and existing requirements may be modified, defined in more detail or even deleted. Requirements are no longer frozen early on. Instead the final set of requirements within the Scrum Product Backlog is also developed iteratively
For the sprint backlog the entries from the product backlog are split into tasks and estimated time in hours is determined.
During each Scrum sprint, team members are expected to update the sprint backlog as new information is available, but minimally once per day. Once each day, the estimated work remaining in the sprint is calculated and graphed by the Scrum Master. Moreover a Daily Scrum Briefing is used to be informed about the current status of the project. The stand-up shouldn’t take longer than 15 minutes. During that time, team members share what they have worked on the prior day, what they will work on that day, and identify problems. At the end of each sprint a there is a retrospective. Problems of the previous sprint are identified and discussed how they can be improved. After each successful sprint, the next one is planned and implemented.
At the end of the development process, the product should be finalized according to the product release plan, which includes a list of defined milestones of the product delivery as well as the strategical and functional product release and delivery.