"Scrum is a team of eight individuals in Rugby. Everyone in the pack acts together with everyone else to move the ball down the field in small incremental steps. Teams work as tight, integrated units with whole team focusing on a single goal."
"The relay race approach to product development may conflict with the goals of maximum speed and flexibility. Instead, a holistic or ‘rugby’ approach – where a team tries to go the distance as a unit, passing the ball back and forth – may better serve today’s competitive requirements.”-The New New Product Development Game” by Hirotaka Takeuchi and Ikujiro Nonaka.
Scrum belongs to the family of agile development processes. Agile processes represent a new, non-traditional way to build complex products and systems. Scrum is one of the original agile processes, originating in early 1990’s.
Scrum is an iterative, incremental process for developing any product or managing any work. It produces a potentially shippable set of functionality at the end of every iteration. It's attributes are:
- Scrum is an agile process to manage and control development work.
- Scrum is a wrapper for existing engineering practices.
- Scrum is a team-based approach to iteratively, incrementally develop systems and products when requirements are rapidly changing
- Scrum is a process that controls the chaos of conflicting interests and needs.
- Scrum is a way to improve communications and maximize co-operation.
- Scrum is a way to detect and cause the removal of anything that gets in the way of developing and delivering products.
- Scrum is a way to maximize productivity.
- Scrum is scalable from single projects to entire organizations. Scrum has controlled and organized development and implementation for multiple interrelated products and projects with over a thousand developers and implementers.
- Scrum is a way for everyone to feel good about their job, their contributions, and that they have done the very best they possibly could.
Waterfall methodology is fully defined, where as in Scrum only the first and last phases are defined. In Scrum, a sprint is treated as an empirical process.
Scrum can be implemented at the beginning of a project or in the middle of a project or product development effort that is in trouble. Scrum is a set of interrelated practices and rules that optimize the development environment, reduce organizational overhead, and closely synchronize market requirements with iterative prototyes. Based in modern process control theory, Scrum causes the best possible software to be constructed given the available resources, acceptable quality, and required release dates. Useful product functionality is delivered every thirty days as requirements, architecture, and design emerge, even when using unstable technologies.
A Sprint is a time-boxed period of time (quite often 30 sequential calendar days, or 20 working days) during which the Team works to turn the Product Backlog items it has selected into an increment of potentially shippable product functionality.
The iteration length of around a month is long enough to produce something of value and to production quality such that it is worth demonstrating to the Product Owner and stakeholders. Any longer and the Team will lose agility through the need for artefacts and documentation to support the development process.