Summary: Scrum development or agile scrum methodology is a core process for agile software development. However, this doesn’t mean it would work for every situation. Read on to learn what Scrum is, its core values, and when you should use it.
Two approaches exist in software development: linear and incremental. The linear approach is sequential, where projects are defined, built, tested, and released in sequential order. Waterfall development is a good example.
The other approach is incremental, where projects have evolving requirements, and we develop solutions through an ongoing process of feedback and collaboration. Agile software development is an excellent example of this approach.
Agile software development isn’t made up of just one single approach. It is a set of values and principles around continuous product development. Various agile frameworks or techniques exist, such as Scrum, Kanban, Crystal, or Lean Software Development. Out of these, Scrum software development or agile scrum methodology is the most popular.
“Over 94% of businesses report that they’re using agile.” –The 15th State of Agile Report.
What is Scrum Development or Agile Scrum Methodology?
According to the Scrum Guide, “Scrum is a framework using within which people can address complex adaptive problems, while productively and creatively delivering products of highest value.”
While the concept borrowed its name from a technique in the Rugby game, it was Ken Schwaber and Jeff Sutherland who created the agile scrum methodology in 1995. Eventually, the concept developed into a cohesive set of practices, and with the launch of the Scrum Alliance, there are over one million Scrum-certified developers at present.
But what is Scrum development in practice?
In practice, Scrum is designed to be lightweight and easy to understand. We break projects into pieces (sprints) that allow greater transparency and numerous opportunities to inspect and adapt the next sprint, the overall project, and the process.
Scrum is inherently customer-centric, recognizing that requirements often change and the overall product backlog will continue to evolve after each sprint cycle. Using a process designed with these realities in mind, we can complete the end product faster and ensure it better meets the client’s goals.
“Scrum is the most popular Agile approach. Over 66% of agile practitioners follow it most closely.” –The 15th State of Agile Report
We respect your privacy. Your information is safe.
Core Concepts of Scrum
1. Scrum Artifacts
There are three artifacts in Scrum: the product backlog, the sprint backlog, and the product increment:
- Product Backlog: An ordered list of everything a team needs to complete to build the product. Due to the nature of Scrum, the list is constantly evolving with new feedback and ideas.
- Sprint Backlog: A subset of the product catalog, i.e., a fixed set of tasks your team needs to complete in a single development cycle (sprint).
- Product increment: We achieve product increment after completing the sprint backlog. The “completion” is pre-defined, including testing and/or complete approval.
A sprint cycle can be as short as a week, with the next sprint beginning once the previous sprint is completed and reviewed. Within each sprint cycle, daily scrum meetings or “stand-ups” happen. In these meetings, we invite everyone on the team to share what they achieved the previous day, their plan for the day, and any blockers to getting the work done.
2. Scrum Roles
The average scrum team consists of 4-8 people falling into one of three roles:
- Product owner: A product owner owns the product’s vision and decides on the product backlog. They also relay between the team and various stakeholders/customers.
- Scrum Master: A Scrum master’s role is to support the team by removing any obstacles to success. The Scrum Master is adept at facilitating team communication in daily scrum meetings, encouraging process improvements, and ensuring the team adheres to Scrum principles. This duality of roles (supporting and leading the team) is also called a “servant-leader” role.
- The Agile Development Team: The agile development team consists of developers, UX/UI designers, and QA team members who contribute to each sprint. As needs change over time, the composition of the team is self-organizing.
3. Scrum Events
The Scrum framework is based on incremental products developed in time-boxed events (e.g., sprints of equal duration). The average sprint event length is 2-4 weeks, with an average of 5 sprint events per project.
Each Scrum event includes the following five components:
- Sprint Planning Meeting
- The Sprint
- Daily Scrum Meetings
- Sprint Review
- Sprint Retrospective
As you can see, there are three levels of feedback in each Scrum event. The daily scrum meetings keep everyone on task and help identify obstacles; the sprint review focuses on the product status and updates the product backlog. The sprint retrospective focuses on the software development process and how the team could be more productive.
How Does Scrum Work?
Scrum is an evidence-based process that emphasizes facts, feedback, and agility. The Scrum approach includes the following empirical process:
- Make a hypothesis
- Test it
- Reflect on the experience
- Make changes
- Repeat the process
To understand the scrum approach better, we need to understand what practically happens in the Scrum development process. Here are the Scrum methodology steps we follow:
- The scrum development process starts with a wish list of features, also called the product backlog. In this stage, the agile development team discusses tasks they need to complete and the time it will take to complete the sprint.
- Sprints play a critical role in Scrum. We divide the project into them. When one sprint is completed, the team moves on to another sprint. Sprints continue until the project deadline is met. Each sprint ends with a sprint review.
- Daily scrum meetings are also a must as they help you keep track of Scrum’s progress and plan your tasks accordingly. These meetings must be brief, goal-oriented, and mandatory for all members.
- When a sprint closes, the team will ship the code to deployment. Then, the team will close the sprint with a review and start a new sprint.
Scrum Methodology Example
Let’s understand the scrum way of working with the help of an example.
Suppose James is a product owner working on a project. How would he approach the project with the agile scrum methodology?
Step 1: James will meet the client to understand their expectations.
Step 2: Based on the discussion with the team, James will prepare a list of features, also called the product backlog.
Step 3: James will choose the most critical tasks to work on in the next two weeks after discussing them with his team and leveraging value-based prioritization. These tasks James will pick are called sprints.
Step 4: While working on the sprint, James and his team will meet in daily scrums to discuss the progress and roadblocks.
Step 5: At the end of the sprint, James will deliver the work, review the backlog, and set goals for the next sprint.
The process will continue until the project is complete and James has delivered the promised software.
Scrum’s 5 Core Values and Principles
The scrum development approach has five core values and six principles and principles that all team members share to help them work together as a cohesive unit.
Scrum Core Values
- Courage: The team must feel confident to share ideas and feedback, speak up about obstacles, and push back when needed.
- Focus: The time-boxed design of each sprint helps scrums stay laser-focused on a finite amount of work. We reinforce focus in Scrum via daily updates on ongoing tasks.
- Commitment: A scrum team is like any relationship: open communication, trust, and communication are essential to agile teams working well together and committing to tasks they believe they can complete.
- Respect: Cross-functional teams often come with competing input, but with that must come respect for ideas and individuals.
- Openness: Hand in hand with courage, your team members must be open to the feedback received from others and be willing to adapt to feedback from the team, stakeholders, or customers.
1. Empirical Process Control
Scrum emphasizes observation and experimentation instead of detailed upfront planning. Transparency, inspection, and adaptation play a critical role.
The Scrum process ensures a transparent flow of information to establish an open work culture. The idea is to ensure everyone in the team is aware of what’s happening in a project.
We achieve transparency in Scrum through:
- Scrum Artifacts like a project vision statement, prioritized product backlog, and release planning schedule
- Sprint review and daily scrum meetings
- Information radiators like burndown chart and scrum board
The Scrum process allows the product owner and the stakeholders to inspect deliverables and share their feedback.
Inspection in scrum is achieved by:
- Using a common Scrum Board and information radiators across the whole team.
- Collecting feedback from customers and other stakeholders while developing epics, creating prioritized backlogs, or planning releases.
- Allowing product owners and customers to inspect and approve deliverables during the validate sprint process.
The Scrum approach allows the team members and stakeholders to learn, inspect, and make slight adaptations as they proceed further in the project.
We achieve adaptation in Scrum through:
- Standup Meetings
- Constant Risk Identification
- Change Requests
- Scrum Guidance Body
- Retrospect Sprint Meeting
- Retrospect Project Meeting
2. Self Organization
The agile scrum methodology promotes self-organized teams as self-motivated team members seek to accept greater responsibility and deliver more value.
As a result, the self-organized team in the Scrum development approach leads to:
- Shared ownership
- Enhance performance
- Innovative and creative environment much need for growth
Collaboration is the glue that binds your entire team together, and it plays a crucial role in Scrum development. You can build something great only if your whole team works together to play off each other’s strengths.
Here are the core dimensions of a collaborative team:
- Awareness of each other’s work.
- Dividing the work into units, assigning them across the team, and reintegrating the work after it’s done.
- Adapting the technology to one’s situation.
The collaboration among team members will lead to continuous improvements, minimum change requests, reduced risks, and increased efficiency.
4. Value Based Prioritization
Scrum used value-based prioritization to deliver maximum value. The idea is to focus on features that offer maximum value so that we can deliver a valuable product/service to users on an early and continuous basis.
Following are the things you must keep in mind while prioritizing features:
- The value offered
- Risk or uncertainty
- Dependency on the team
Scrum treats time as a precious asset while managing a project. Hence, it has a concept called time-boxing which means assigning a specific time for each task or activity. This way, the team can save themselves from committing too much or spending too much time on particular tasks.
The time-boxing approach reduces the unnecessary burden on your team and improves the development process.
6. Iterative Development
The Scrum development approach works on the principle of iterative development. In this approach, the changes requested by the user are included as part of the project.
In iterative development, we define user stories as high-level functionalities called Epics. These Epics are so large that teams can’t complete them in a single sprint. Hence, we break these epics into small user stories that span different sprints. As a result, including any changes requested by the user becomes easier.
By adhering to these scrum values and principles, team members maintain a productive and professional process that’s constantly advancing towards the project goals.
The Role of the Scrum Master
The Scrum Master’s responsibility is to ensure the team adheres to the values and principles of Scrum and Agile. They play a crucial role in keeping an Agile project together and running smoothly. As the conductor of the orchestra, the availability and focus of the Scrum Master play a vital role in an Agile project’s success.
The Scrum Master should focus on one project to allow rapid responses and flexible sprint planning.
Each Scrum Master should:
- Coach team members to ensure they’re well trained and understand the project goals, scope, and processes.
- Host daily scrum meetings to track progress, solve problems and overcome impediments.
- Focus on the critical aspect of keeping everything running smoothly
- Have a deep understanding of the project and the team
- Support team dynamics.
When Should You Use Scrum?
Scrum is not suitable for every situation. While it has significant advantages, sometimes it’s better to take the traditional route. So, how do we decide whether to use Scrum or not? Here are a few scenarios when you should use the agile scrum methodology:
- Scrum software development works best for cross-functional teams with more significant amounts of work that will require more than one iteration to complete.
- The agile scrum methodology is best applied over a more extended period where the test/adapt/repeat process can show benefits.
- Agile Scrum methodology is well suited to products or industries undergoing rapid change, ensuring that the developed product continually evolves to meet changing requirements.
- You must use the Scrum development process only if you’re willing to be transformative to Agile and Scrum principles. Skipping steps (elements of feedback) or merging roles (product owner/scrum master) are common reasons for project failure.
- Scrum is not for projects where the client is not open to innovation or willing to adapt to changes.
Frequently Asked Questions
1. What are the five phases of Scrum?
- Initiation: Creating a vision for your product, identifying stakeholders, and assigning responsibilities.
- Planning & Estimation: Breaking your project into time-boxed iterations known as sprints.
- Implementation: Working on the items in the sprint backlog and regularly checking them off as your team completes them.
- Reviewing: Review each sprint at its end to discuss what went well and where you can improve.
- Releasing: Delivering the final product to stakeholders.
2. What are the story points in Scrum?
Story points are a unit of measure that Scrum teams use to offer an estimate of the effort they have to put into completing an action item in a product backlog. The agile development team itself decides the story points.
3. What is the difference between Scrum and Agile?
Agile is a project management approach that facilitates a faster project delivery using a core set of values. On the other hand, Scrum is an agile development approach to addressing complex problems and delivering high-quality products.
4. What are the three agile scrum deliverables?
Product backlog, sprint backlog, and increments are three deliverables in Scrum development.
5. What are the features of Scrum?
- Better visibility
- Sprint planning
- Better transparency
- Continuous integration
- Early identification and resolution of issues
- Daily scrum meetings