As promised, this is an in-depth look into scrum methodology. Now many people call it a methodology, whereas some call it a framework. But let’s not have a debate on it as both of them are used to manage a process.
So previously we discussed Agile Development. Think of it as your hand. And the fingers on your hand are like different methods to approach a particular process, usually software development.
Scrum is one of them. It formalizes a set of values and principles to guide decisions, so that higher-quality software can be developed faster, and with more efficiency.
Though it was originally validated for software development projects, other complicated schemes can also use scrum.
Process of Scrum
The Scrum methodology is quite simple.Scrum progresses through a series of small steps, which are known as sprints, in a recognizable pattern.
Each sprint is time-boxed to a maximum length of one month, more commonly about two weeks, and consists of 4 steps: Plan, build, test, and review.
Initially, a meeting is held at the start of the sprint, where the team members figure out an overall sketch of the entire plan, for example- how many items they can complete within each sprint and a list of the tasks they would perform during the sprints.
Next, the product is built as planned. It is then tested and reviewed under multiple sprints until a complete shippable product is developed.
In scrum, there are about three key roles that are needed for the framework to work well.
Owner of the product:
The owner is responsible for defining the features that are needed in the product. He ultimately invests his creative ideas into the product.
The ScrumMaster is basically the coach. He helps the team to perform at the highest level possible, runs the meetings and keep things going smoothly. The ScrumMaster is usually viewed as a protector of the team by assuring that the team does not over-commit themselves or take a lot of pressure during each sprint.
If a sprint goes bad, the ScrumMaster wouldn’t say “You’re fired,” but rather he would say, “ We couldn’t do good this time, but surely we can do better next time!”
Scrum teams are generally composed of 7-10 members. The team can be made up of developers, testers, writers or anyone else that helps in building the product. Scrum Methodology relies on a self-organizing and cross-functional team, which means that the team is independent and has no overall team leader. The team members themselves decide which person will do a particular task or how a problem will be solved.
Multiple meetings are held during and after each sprint so that communication is maintained properly between the team members and the ScrumMaster. Here’s a short summary of the meetings:
Sprint Planning: After the product owner creates a product backlog, a team meeting is held in which the team members decide on which tasks, from the backlog, to complete within each sprint and how they will be achieved.
The Daily Stand: As the name suggests, the meeting is held on a daily basis. The meeting is a short communication meeting which is no more than 15 minutes. The team members discuss the work progress since the last stand-up and plan all the work before the next meeting. They also discuss any sort of obstacles that may be blocking the members' progress.
The Sprint Review: is the demonstration day for the team to present their completed work to the owner after each sprint. The product owner will check the work against the pre-defined criteria and decide whether to accept or reject it. In addition, the stakeholder or clients can also give feedback to ensure that the product meets the business need.
The Retrospective: is the final team meeting, attended by the ScrumMaster and the members, held after each sprint to determine what went well or what didn't. This ensures the improvement of the next sprints and identifies any further strategies for the team to focus on.
There are about three main artifacts or documents that are used in scrum:
Product Backlog: Think of it as a to-do list consisting of every task for the entire project. It is the most important document that outlines every requirement for the project. It contains a prioritized list of features, known as user stories that could go into the product. This list evolves and changes with every sprint.
The user stories are the requirements from the customer and allow the product owner to specify the right amount of detail for the team to estimate the size of the task.
Sprint Backlog: A sprint backlog is the specific list of items that are taken from the product backlog and which are to be completed in a sprint. The highest priority user stories go into the sprint backlog.
Burndown Charts: contain the sum of all product backlog items that have been completed since the last software release. The charts show the progress during a sprint on the completion of tasks. This chart should approach zero as the work is being completed.
Benefits of Scrum
We already discussed the benefits of Agile in the previous article. The benefits of Scrum are the same as that of Agile. Still, let’s have a little bit of revision on it. Revision is always better, right?
Some of the benefits are:
- The project is flexible and can be easily changed.
- Problems are identified early.
- Customers get most beneficial work first.
- Higher customer satisfaction rate can be achieved.
- Improved productivity.
- Ability to maintain a predictable schedule for delivery.
Is Scrum more beneficial?
Scrum is one of the most popular ways among other agile methods, such as crystal clear, Kanban, LSD etc.
Scrum vs. Waterfall
Scrum addresses complex work by making information easier so that people can inspect and adapt based on current conditions, rather than predicted conditions.
On the other hand, waterfall is a typical lengthy planning process which could take several months followed by building the product, which again could consume many months.
And then after all these months, when the product is finally completed, you may end up with a wrong product. At this point, you can no longer make any changes, and unfortunately, you have to throw the software away.
But with Scrum, you do enough planning to get started and build the minimal feature set. Next, you test and review the product. The customer gives feedback and then you change the product according to their needs.
This is a very efficient way of managing a software development project, as you don’t have to waste additional resources and cost.
Scrum vs. Kanban
Kanban is a visual framework used to implement Agile that shows what to produce when to produce it, and how much to produce. It uses a board called a Kanban board, which acts as a schedule for the entire project.
Some of the disadvantages of Kanban over Scrum are:
Board needs to be updated on a daily basis: If the board is not updated daily, the team will be working off inaccurate information. And once work is completed based off an outdated board, it can be hard to get things back on track.
Lack of timing: There are no timeframes, as a result, the team does not know how long the phase could last.
A Scrum team is cross-functional and one team owns the Scrum board. In Kanban, teams don’t need to be cross-functional and anyone can own the Kanban board.
Scrum requires specific roles whereas Kanban has no required roles.
Scrum vs. Agile
Though Agile and Scrum follow the same system, there are some differences when comparing them.
Agile describes a set of principles in the Agile Manifesto for building software through iterative development.
Whereas, scrum uses a specific set of rules to follow when practicing agile software development.
Because Scrum is one way to implement Agile, they both share many similarities. They both focus on delivering software early and often, are iterative processes, and flexible.
They also encourage transparency and continuous improvement.
To know more details about the difference between scrum and other methods, check this site out. It’s pretty cool!
Scrum development uses the transparency of common terms to ensure that what is being delivered is what was expected. The frequent inspection ensures progress and detects variances early on so that adjustments can be made quickly.
Once again, the key features of Scrum are:
- High visibility of progress.
- Regular feedback from the customer.
- Predictable rhythm.
- Cross-functional and self-organizing teams.
- Emphasis on face-to-face communication.
If after reading this guide, you are still confused, check out this YouTube video below!