What is Scrum?
The Agile Scrum Framework is an iterative and incremental approach to building software products. It is a lightweight software development framework that has become popular even in web3 projects. Scrum ensures rapid feedback and adaptation and makes it ideal for projects that are constantly changing or evolving. One of the main advantages of using Scrum is that it allows for flexibility and adaptability.
As new requirements or insights emerge, it is easy to make changes to the product roadmap without disrupting the overall development process. This helps ensure that projects stay on track and meet deadlines, even if there are unexpected obstacles along the way.
Scrum was developed by Jeff Sutherland and Ken Schwaber in the early 1990s as a way to manage complex software development projects. It was officially introduced in a paper by Sutherland in 1995 and has since become one of the most widely-used Agile methodologies. Scrum has continuously evolved since its introduction, with the Scrum Guide being updated in 2020 to reflect the latest best practices and understanding of the framework.
In the previous blog we looked at Introduction to 'Agile Project Management'. In this blog, let’s discuss the components of Scrum framework through the below topics.
What are Scrum Roles?
One of the key aspects of the Scrum framework is the use of specific roles. These roles help ensure that tasks are properly delegated and that everyone has a clear understanding of their responsibilities. The three roles in Scrum are:
1. Product Owner
The Product Owner is responsible for defining the product vision and ensuring that the team is working on the right features. They also act as a liaison between the team and stakeholders, and are responsible for ensuring that the product meets customer needs and deliver value.
2. Scrum Master
The Scrum Master is responsible for ensuring that the team follows the Scrum process and works effectively together. They also act as a coach and mentor for team members, helping them to build their skills and productivity. More details on the role of scrum master can be found here in this article Scrum Master Role in Web3 Projects and Who's not a Scrum Master.
3. Dev Team
The team consists of individuals who are responsible for developing and delivering the product. This includes designers, developers, testers, and other professionals who are necessary to complete the project. Scrum emphasizes cross functional and self-organizing teams.
What are Scrum Events?
There are four Scrum Events which are timeboxed to a certain duration: The Sprint Planning Meeting, the Daily Scrum Meeting, the Sprint Review Meeting, and the Sprint Retrospective.
1. Sprint Planning Meeting
The Sprint Planning Meeting is held at the beginning of a Sprint to discuss what tasks will be completed during the Sprint. The meeting is attended by the Scrum Master, team members, and stakeholders. Output of this meeting is the sprint backlog and sprint goal.
2. Daily Scrum Meeting
The Daily Scrum Meeting is a short meeting that is held every day for not more than 15 mins. The team checks on any blockers, what’s completed and what’s the plan for the day to achieve overall sprint goal. Attendees include the dev team and rest members are optional.
3. Sprint Review Meeting
The Sprint Review Meeting is held at the end of a Sprint to review what was accomplished during the Sprint and to determine whether the objectives were met. The meeting is attended by the Scrum Master, team members, and stakeholders.
4. Sprint Retrospective Meeting
The Sprint Retrospective Meeting is held at the end of a Sprint to reflect on lessons learned during the previous Sprint and identify ways to improve processes for future Sprints.
What are Scrum Artefacts?
There are three artefacts in the Scrum framework: the Product Backlog, the Sprint Backlog and the Increment.
The Product Backlog is a list of all product features and requirements that need to be implemented. It is constantly updated by the Product Owner as new ideas or changes to existing ideas are suggested.
The Sprint Backlog is a list of tasks that need to be completed in order to deliver the features and requirements in the Product Backlog. The Sprint Backlog is created during the Sprint Planning Meeting and is specific to the current Sprint.
The Increment is the final product that is delivered at the end of a Sprint. It includes all of the features that were completed during the Sprint and incremented to previously built features.
What is a Sprint? Sprint Flow Explained
In software development, a sprint is a set period of time, usually two to four weeks, during which a specific set of tasks or goals are accomplished. The sprint flow generally follows these steps:
Sprint planning: The team meets to plan the sprint, reviewing and selecting items from the product backlog to work on during the upcoming sprint.
Daily stand-up meetings: The team holds short, daily meetings to discuss progress and any obstacles that have arisen.
Development work: The team works on completing the tasks and goals set during the sprint planning meeting.
Sprint review: The team demos the work completed during the sprint to stakeholders and receives feedback.
Sprint retrospective: The team reflects on the sprint, discussing what went well and what can be improved for the next sprint.
Repeat: The team begins the next sprint, starting with sprint planning.
What is a Sprint Goal?
A sprint goal is a clear and concise statement that describes the overall objective of a sprint in Scrum. It is a shared understanding of what the team is trying to achieve within the sprint and serves as a guiding principle for the team during the sprint planning, development, and review. It is a short, specific and measurable outcome that the team commits to achieve during the sprint.
Definition of Ready and Definition of Done checklists
The Definition of Ready (DOR) checklist is a list of criteria that need to be met before a task can be added to the Sprint Backlog. The DOR checklist is used to ensure that tasks are ready to be worked on.
The Definition of Done (DOD) checklist is a list of criteria that need to be met before a task can be considered completed. The DOD checklist is used to ensure that tasks are completed properly and meet the customer's requirements.
More details on DoR and DoD can be found in this article: Definition of Done and Definition of Ready with Examples
What are Scrum Values?
Commitment: Team members are committed to completing the Sprint Goal.
Courage: Team members have the courage to do what is best for the team and the customer.
Focus: Team members focus on completing tasks that add value to the product.
Openness: Team members are open and honest with each other.
Respect: Team members show respect for each other and for the customer.
Why Scrum Values are important?
Scrum values are important because they provide a shared foundation for the team, guiding their behavior and interactions during the development process. By aligning on these values, team members can work together more effectively and efficiently to deliver high-quality software products. Here's how each of the values contributes to the success of a Scrum team:
Courage: Without courage, team members may not be willing to take on challenging tasks, speak up when something is not right, or make bold decisions. This can lead to stagnation and prevent the team from making progress.
Focus: By focusing on the most important tasks, team members can avoid distractions and stay on track to deliver value.
Openness: Openness allows team members to share information, admit mistakes, and accept feedback. This leads to better communication, more efficient problem-solving, and a culture of continuous improvement.
Respect: When team members respect one another, they are more likely to work collaboratively and appreciate the strengths and contributions of each team member. This leads to a more positive and productive team dynamic.
Commitment: Without commitment, team members may not be fully invested in the success of the project. This can lead to lack of progress and a lack of ownership over the final product.
By following these values, the team can work together more effectively and efficiently to deliver high-quality software products. Scrum values provide a framework for team members to align on, it helps to build trust, transparency, and collaboration within the team which leads to better results.
Advantages of using Scrum framework
Increased productivity: The Scrum framework enables teams to complete more work in a shorter period of time.
Increased creativity and innovation: By using the Scrum, teams are able to quickly adapt to changes and come up with new ideas.
Increased customer satisfaction: Scrum enables teams to quickly produce high-quality products that meet the customer's needs.
Improved team morale: Helps to improve team morale by providing clear goals and objectives.
Increased transparency: Promotes transparency by allowing team members to see what other team members are working on.
Easier to manage changes: Scrum framework makes it easier to manage changes by allowing teams to adapt quickly to new requirements.
Helps to build better products: Implementing Scrum helps teams to build better products by allowing them to rapidly test and adapt their ideas.
What techniques could the scrum master use for Program Success?
There are a number of techniques that the scrum master can use to help improve the effectiveness of the agile scrum team. Some of these include:
Coaching the team: The scrum master can coach the team on how to use the Scrum framework effectively. They can also help the team to overcome any challenges that they may face.
Facilitating effective meetings: The scrum master can facilitate meetings and help to ensure that they are productive and efficient.
Providing feedback: The scrum master can provide feedback to the team on their progress and help them to identify areas for improvement. This feedback can help the team to continue to improve their productivity and effectiveness.
Removing roadblocks: The scrum master is responsible for removing any roadblocks that may be preventing the team from meeting their deadlines or achieving their goals. This could involve working with other teams or individuals in order to resolve any issues and get the project back on track.
Effective conflict resolution: The scrum master is responsible for resolving any conflicts that may arise within the team. The scrum master may also need to get involved in discussions with other teams or individuals in order to resolve any issues that are preventing the project from moving forward.
Building Trust: The scrum master can build trust among the team by being honest and open with the team, and by being available to help resolve any conflicts that may arise. The scrum master should also be patient and understanding, and be willing to work with the team to help them meet their goals.
We looked at what is Scrum? and the many advantages of using the Agile Scrum framework for software development. It is a lightweight framework that can be easily adapted to meet the needs of any project, and it helps to build trust among team members. However, there are also some limitations to using scrum like scrum can be disruptive to established workflows, and it can be challenging for team members who are not used to working in an agile environment.
Additionally, scrum relies heavily on the active participation of all team members, which can be difficult for some individuals who prefer to work more independently. Overall, however, the agile and iterative nature of scrum makes it a popular choice for software development teams in web3, looking to build great products and increase their productivity as well as product quality.
Coming up in the next blog - 'What is Kanban All You Need to Know including Kanban Vs Scrum?'.
Note 1: This blog is part of a 100 Days of Learning Series on Web3 Project Management frameworks and best practices published on Program Strategy HQ. For more details on the 100 days of blogging campaign check out Blog 0.
Note 2: Reach out to info@programstrategyhq for any queries.
Note 3: Program Strategy HQ Disclaimer for Reference.
Cohn, M. (2019). Scrum Methodology and Project Management. Mountain Goat Software. https://www.mountaingoatsoftware.com/agile/scrum
DRUMOND, C. (2018). Scrum - what it is, how it works, and why it’s awesome. Atlassian. https://www.atlassian.com/agile/scrum
Schwaber, K., & Sutherland, J. (2017). Scrum Guide | Scrum Guides. Scrumguides.org. https://scrumguides.org/scrum-guide.html
Scrum.org. (2022). What is Scrum? Scrum.org. https://www.scrum.org/resources/what-is-scrum
What Is Scrum: A Guide to the Most Popular Agile Framework. (2021). Scrumalliance.org. https://www.scrumalliance.org/about-scrum