One question I get a lot when people learn I do Scrum and Agile training is ‘what exactly is Scrum, and why would anyone care?’ Rather than repeating myself I thought it might be useful to write a short blog post to cover the basics of introducing Scrum. This is my first attempt at doing so – feedback is very welcome.
Agile in general is focused on doing the right thing and doing the right thing well. The Agile manifesto emphasizes working closely with customers, delivering working software incrementally, and continuously improving the process. Agile approaches prioritize delivering value to customers early and often, and adapting to changing conditions, rather than sticking to a rigid plan. Agile methodologies like Scrum provide a framework for teams to work together more effectively and deliver value to customers in an efficient and effective way.
Scrum is the most popular framework for implementing agile, and is often used for product development, managing complex work, and improving as you go. It is widely used in software development, but can also be applied to other industries such as construction, marketing, and healthcare. Scrum is based on the principles of transparency, inspection, and adaptation (which all of the events are designed to support), and is designed to help teams work together more effectively. Ultimately the goal of Scrum is fast feedback to help us learn and improve, giving us a greater chance for success and doing the right thing.
The roles of Scrum
Let’s get started with the basics. At its core, Scrum is made up of three main roles:
- Product Owner: The Product Owner is responsible for maximizing the value of the product by working with stakeholders to understand their problems, challenges and opportunities, and distilling that information into a well managed and organised product backlog, which is a list of all the work that currently planned for the product. They are the voice of the customer, representing the stakeholders’ needs and goals to the team to ensure that they understand what they are working on and why. The Product Owner is responsible for clearly communicating the vision of the product to the team, and for making decisions about what work should be done and when. They work closely with the Development Team and the Scrum Master to ensure that the product backlog is in good shape and that the team is working on the most important items.
- Development Team: The Development Team is responsible for delivering the work. The team is self-organizing and cross-functional, meaning that they have all the skills necessary to complete the work, and they determine for themselves the best way to get that work done. The Development Team is responsible for delivering working software that meets an agreed definition of done. They work closely with the Product Owner to understand the needs of the stakeholders and to ensure that the work they are doing is aligned with the goals of the product.
- Scrum Master: The Scrum Master is responsible for ensuring the team, roles and events events are working well, and helping the team to be productive and effective with Scrum. The Scrum Master acts as a coach and facilitator, helping the team to work together more effectively and to overcome any obstacles that they may encounter. They also act as a servant leader, encouraging growth of the team, revealing and potentially removing impediments that block the team’s progress and helping the team to stay focused on the goals of the product.
The events of Scrum
The Scrum framework is based on a set of events, each one with a specific purpose:
- Sprint Planning: During Sprint Planning, the team and the product owner together decide what work to complete in the next Sprint. The goal of Sprint Planning is to ensure that the team is aligned on the goals of the product and that the work that is being done is the most important work.
- Daily Scrum: A short daily meeting where team members collaborate around how they can work together most effectively, share their progress and plan for the next 24 hours. The goal of the Daily Scrum is to ensure that the team knows how to support each other to do the work that needs to be done and that there are no obstacles blocking their progress.
- Sprint Review: The team shows the work completed during the Sprint to stakeholders and discuss the feedback – the name review here is really important. The stakeholders give feedback on the work (as well as anything they know of that may impact future work) and the group discusses what they should work on next based on what they’ve discovered to date. The goal of the Sprint Review is to ensure that the work that is being done is aligned with the needs of the stakeholders, and to make sure we’re always working on the next most valuable thing.
- Sprint Retrospective: The team reflects on the Sprint and identifies ways to improve the way they work. The goal of the Sprint Retrospective is to identify areas where the team can improve their work process and to make a plan for how to improve in the next Sprint. I think of it as designing experiments we think may help us work more effectively, and can be anything from process, to structure, to more comfortable chairs – whatever helps the team become more effective
- Sprint: The team works on completing the work planned in the Sprint Planning. The goal of the Sprint is to produce a done piece of work that can be reviewed and help make progress to delivering value with the product.
One of the key benefits of Scrum is that it allows teams to deliver working software incrementally, which means that customers can see progress and provide feedback early in the process. This helps to ensure that the final product meets the customer’s needs, delivering maximum value in the time available. Additionally, it allows the team to adapt as they go, which is essential in a complex environment where most things simply can’t be predicted in detail up front.
Scrum can be challenging for teams that are new to it. However, with the help of a skilled Scrum Master and regular practice, teams can improve their effectiveness and efficiency over time. Scrum is a powerful framework that can help teams to deliver value to customers in an efficient and effective way.
If you’re interested in learning more about Scrum and how it can help your team work more effectively, check out our Agile training and consulting services at Pragmatic Agile. We offer a wide range of courses and workshops to help you and your team get started with Scrum and other Agile methodologies. Whether you’re new to Scrum or looking to improve your team’s performance, we can help. Don’t hesitate to contact us to learn more and schedule a training session.