Scrum is an iterative and incremental agile software development method for managing software projects and product or application development. For many developers in software industry, the agile methodology is nothing new. Most folks know that agile was a direct response to the dominant project management paradigm, waterfall and borrows many principles from lean manufacturing. Waterfall model is good but it has a high risk of failure since it commences the testing only at the end of the cycle. (Wiston W. Royce). Scrum is the one component of the Agile development methodology on a daily meeting to discuss progress. Scrum is unique because it introduced the idea of empirical process control. In Scrum, projects are divided into succinct work cadences, known as sprints, which are typically one week, two weeks, or three weeks in duration. At the end of each sprint, stakeholders and team members meet to assess the progress of a project and plan its next steps. This allows a project’s direction to be adjusted or reoriented based on completed work, not speculation or predictions.
There are some important values in Agile Manifesto:
- Individuals and interactions
- Working software
- Customer collaboration
- Responding to change
Scrum has three fundamental roles:
- Product Owner: Product owner is responsible for communicating the vision of the product to the development team. He or she must also represent the customer’s interests through requirements and prioritization.
- Scrum Master: The Scrum master acts as a manager between the product owner and the team. The Scrum master does not manage the team. Instead, he or she works to remove any impediments that are obstructing the team from achieving its sprint goals.
- Team Member: The team is responsible for completing work. Ideally, teams consist of cross-functional members. For software projects, a typical team includes a mix of software engineers, architects, programmers, etc.
There are the artifacts in Scrum:
- Product backlog: A prioritized list of high-level requirements.
- Sprint backlog: A prioritized list of tasks to be completed during the sprint.
There are some ceremonies in Scrum:
- Daily Stand Up Meeting: Short meeting, discussing progress and what to do at that day.
- Sprint Planning: Planning from start about interaction, collaboration, etc.
- Sprint Review: Reviewing the progress from start.
- Sprint Retrospective: Retrospection by the team to self-review progress.
There are some benefits in using Scrum:
- Maximizing the product value
- Stay competitive (innovation)
- Market condition has changes
- Regulation has changes
- Higher job satisfaction
Scrum has a timeline:
| Planning (8 hours) | Development (Daily Scrum) | Review (4 hours) | Reflection (3 hours) |