Scrum – For Beginners With Detailed Description
Before you start reading this article we recommend you read about the Agile Framework.
If you know about the Agile framework then it’s great, and we can move ahead with the Scrum topic. Scrum is a very popular framework of Agile that mainly focuses on reducing complexity. This ensures that the product which is going to be developed will meet the business requirement. Also, it allows you to address complex adaptive problems, delivering the products with the highest possible value.
Scrum works on an iterative, incremental approach. It is a lightweight framework that is easy to understand but difficult to master. Below are the key principles of Scrum.
- Small ‘shippable’ increments of development.
- Software with high quality in working mode.
- Ongoing integration while building the product or software.
- Cross-functional and self-managed team.
Scrum framework encapsulated in multiple iterations or sprints. There are mainly three roles in the scrum that we are going to discuss in detail.
1. Development Team
The development team takes the responsibility to deliver the product with clear business values. Typically, the team is cross-functional in terms of expertise and experience. They start with building the plan for the product, and they distribute the responsibility to the different members of the team. They also focus on the quality of the product. Below are the main characteristics of the development team.
- Self-organizing: They are the ones who decide how to the product backlog items into the working solution. They define the rules starting how things should work together.
- Cross-functional: They are the ones who have got all the skills necessary for creating the product.
All the team members are developers, so they do not have unique titles. Teams are not divided into sub-teams. Different members possess different skills, specializations, and experiences.
One of the examples is…team is responsible for making the decision, estimating the work with a willingness to co-operate each other.
2. Product Owner
As the name suggests, the product owner has the authority to make decisions. They are the main interface between the team and the business owner. They get involved in setting the release goal, and they also understand the customer’s needs. They are mainly responsible for distributing the task and setting the priority for them. These tasks are performed transparently and in collaboration with the development team.
The product owner considers the backlog current as a new requirement surface. They make sure that the existing requirements are refined. They also make that their team members understand the purpose and how valuable an application is for the customers.
3. Scrum Master
Their main goal is to keep the development team productive. They protect the process instead of the project. They mainly facilitate the scrum process, creativity, and empowerment. They ensure the visibility of the whole team’s progress. They coach their team members to make sure that they operate in a collaborative manner. Scrum masters also take the responsibility of resolving the issues of the development team. They ensure that whatever roadblocks or barriers are coming into the path, can be resolved by the product owner.
Processes in Scrum
In this section, we are going to discuss the main processes of Scrum. These are a sprint, sprint planning, daily scrum meeting, sprint review, and sprint retrospective.
1. Sprint: Sprint is the heart of Scrum. It is a timeframe of the application development lifecycle that lies somewhere between one week to four weeks. Length of Sprint is fixed till the end of the life of the project. It is chosen by the team. Each sprint is assigned with a fixed number of user stories and a new Sprint starts immediately after completion of the previous sprint.
Additional stories can not be added if doing exceeds the capacity of the team and the team needs to create, test and deploy a working application by the end of the sprint.
A lot of times it happens that the team doesn’t predict the number of stories, and later they need to add the stories to fill out the remainder of the sprint.
Sprints are built upon one another. Once someone adds the features, and it is refined, the usability and value of the product get increase with each sprint. At the end of each sprint, a working application increment helps to demonstrate the progress and taking the customer feedback. The scope of the sprint should be clear between the product owner and the development team.
2. Sprint Planning or Ceremonies: In this stage, the Product owner defines a goal for the sprint at starting time of the sprint. Development team takes the responsibility of selecting the stories from the pool, review them, and commits them after completion. For each story, both individuals and collective complexity are considered. In short, the main objective is to keep the product backlog.
If the goal exceeds the capacity of the development team the then it should be decomposed across multiple sprints. Also, to complete the sprint, the team makes a plan to decide how they need to work together. A discussion may be conducted to identify the risks and contingencies and for testing the plan.
The development team makes the pair member of the teamwork on different stories. For frontend and backend developers it’s an advantage to pair with one another. This ensures that APIs are well established.
3. Daily Scrum Meeting: Scrum team gathers together in a meeting for around 15 minutes. They specify the progress report and roadblocks. During this meeting, the review is taken from each member of the team. What is accomplished towards the sprint goal and what is left to achieve? How smooth the process is going on. Is there any barrier or obstacles etc?
This meeting ensures that transparency is maintained across the team for both accomplishment and roadblocks. All the issues and problems get exposed to the entire team. This helps in arranging the proper resources for the team that is facing the issues. In short, the rule is simple. Everyone has to attend this meeting every day. Everyone has to report, what is accomplished and what is left. What are the roadblocks and what resources are needed to solve the issues?
4. Sprint Review: In this stage, the team demonstrates that what is ready for delivery to the customers. A meeting gets conducted between the customer, product owner, and the Scrum Team. The team gets the feedback about the product directly from the customers. It is important to know what issues customers are facing related to the product and how they can be resolved.
All the possible changes are listed down and the team decides what to do next to resolve the issues. The review process decides the next Sprint planning session.
5. Sprint Retrospective: This phase is gets conducted for the Scrum team to know to promote continuous improvement. Feedback is taken about the team that how they worked in the last sprint. and what action needs to be taken for improvement. This time is approximately for less than an hour. This meeting is valuable for the team because they get to know how they can improve their work and how they can generate the values not just for the customers but also for themselves.
In other words, you can also say it’s a performance review. Review of the last sprint and changes for the next sprint. Apart from the technologies and tools, procedures, interaction between people and roles, successes and failures, everything is considered.
Scrum is used in many industries due to its simplicity, but it is challenging to implement due to the radical difference from traditional methodologies. We have given a detailed description of Scrum and hope it was helpful. Focus, commitment, courage, openness, respect. All these are the main Scrum values that need to be remembered. The roles of all the members and processes are important to understand.