Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. It is mostly used in product development strategy.
Getting CSM Certified is the quickest and best way to understand Scrum in depth. Scrum is often perceived as a methodology but rather than looking scrum as a methodology, we must look at it as a framework of process management.
There are 3 things about Scrum that I need to address straight off the bat. Scrum is;
- Lightweight
- Easy to Understand
- Difficult to implement
What is SCRUM?
To understand the importance of Scrum, we need to first take a look at a more traditional alternative – The Waterfall Model.
What is the Waterfall Model?
In the Waterfall model, all of the planning happens at the beginning of the development process and a good amount of time is invested in the same. Then complete development of the product takes place, followed by testing. Then finally a product is reviewed and deployed, the whole of which requires about a year.
Problem
Now the issue with such an approach is that the planning happens completely ignorant of the possible challenges that might be faced by the team during the development. This may lead to a lot of back-stepping and delays.
Also, at the end of this long cycle, you might just realise that the requirement of the market has completely changed and your product no longer meets its requirements. This brings you back to square one.
Solution
In Scrum, you have the following approach.
- First, you plan just enough to get started with your project.
- Second, you build your product with a minimal, basic set of features.
- Third, you test those features according to your plan.
And finally, you conduct a review to demonstrate the said product to the stakeholders for acceptance. And what you have here is a potentially shippable product.
These four steps comprise of one iteration, which is repeated time and time again, reducing the time taken for each incremental release or version of the product.
So, what exactly is Scrum?
Scrum implements the AGILE methodology for building a potentially shippable software through processes, techniques and practices with iterations and increments to deliver maximum value. Scrum is not a methodology. It is a simple, lightweight, framework for effective team collaboration on complex products.
Who is a Scrum Master?
To explain who is a Scrum Master, I’ll need the help of a hypothesis.
Problem
Suppose there a number of people in a room and they have to queue up according to their respective heights, taking a minimum amount of time possible.
Now, there can be two ways to approach this problem.
Solution 1: The Supervisor Approach
This approach involves one person taking up the responsibility of organising the others into a queue. This method, however, takes up too much time and leaves no room for the people to think for themselves.
Solution 2: The Scrum Master Approach
The Scrum Master allows a team to self-organize and make changes quickly. He/She facilitates AGILE principles. The scrum master manages the process for how information is exchanged.
This consumes less time and the team grows by learning to think for themselves.
SCRUM Framework
Scrum isn’t a methodology, it stands upon the scientific method of empiricism. It basically replaced the programmed algorithmic approach with a more heuristic(self-learning) one, with respect for people and self-organisation to deal with the unpredictable nature of the impediments in software development.
What is Empiricism?
Empiricism is nothing but working in a fact-based, experience-based, and evidence-based manner. An empirical process is one where progress is based on observations of reality, not fictitious plans.
Empiricism stands on 3 pillars, namely, transparency, inspection and adaptation.
Transparency
It means presenting the facts as is. All the employees involved—the customer, the CEO, individual contributors—are transparent in their day-to-day dealings with others.
Inspection
It should be done for the product, processes, people aspects, practices, and continuous improvements by each member on the Scrum Team.
Adaptation
It refers to the ability to adapt based on the results of the inspection. This term in this context is about continuous improvement.
Scrum Lifecycle
Step1: The process begins with a product owner. This person creates a product backlog, a priority list of tasks and requirements the final product needs.
Step2: The team gets together for sprint planning, and decides together what to work on first from the product backlog. This subset of items turns into the sprint backlog.
Step3: During the sprint, the team meets daily to communicate progress and issues, this meeting is called the daily scrum. The Scrum Master oversees it and ensures that all the team members follow scrum’s theories, rules, and practices.
Step4: At the end of each sprint, a sprint review meeting is organized by the product owner. During the meeting, the development team demonstrates the work done in the last sprint. Then the product owner discusses the remaining product backlog and estimated time to complete the project if needed.
Note: In scrum, at the end of each sprint, the team should have a functioning, usable piece of the product to show for their work.
Step5: After the review, the scrum team gathers-up in sprint retrospective meeting, where the team discusses what went well, what did not and if they could have done better. It could be a tech limitation is holding them back or a team member is overloaded with tasks. The team decides how to fix these problems and plans for improvements to be enacted during the next sprint.
Step6: The cycle repeats for the tasks remaining in the product backlog. This goes on until either of the following happens;
- The deadline is reached
- The budget is exhausted
- The product owner is satisfied with the said product
What is a Sprint?
A Sprint is an iteration in the Scrum. It is time boxed at one month and results in the creation of a usable, releasable product. A new Sprint starts immediately after the conclusion of the previous one.
During the course of this Sprint;
- No changes are made that would endanger the Sprint Goal
- Quality of the increment does not decrease
- The scope of the project may be re-negotiated between the Product Owner and Team
Each Sprint has a goal (the sprint goal) of what is to be built. It is a design blueprint or a flexible plan that will guide building the resultant product increment.
SCRUM Ceremonies
There are four ceremonies/events in Scrum.
Sprint Planning
The work to be performed in the Sprint is planned at the Sprint Planning. It is planned out by the collaborative work of the entire Scrum Team. The time-box for Sprint planning is a maximum of eight hours for a one-month Sprint.
Sprint Planning answers the following questions;
- What can be delivered in the upcoming Increment?
- How will the work required for this sprint be achieved?
Daily Scrum
The Daily Scrum is a 15-minute time-boxed event for the scrum team to plan and synchronise activities for the next 24 hours. It is held every day of the Sprint.
In the daily scrum, each member has to answer the following questions;
- Things did I do yesterday?
- What am I going to do today?
- What are my impediments?
It is the Scrum Master’s job to minimise impediments in the team’s task to keep the sprint time-boxed.
Sprint Review
The Sprint Review is an informal meeting, where the Scrum Team and stakeholders collaborate about what was done in the sprint. Based on that and any changes to the Product Backlog during the Sprint, they plan on the next things that could be done to optimise value.
Sprint Retrospective
The Sprint Retrospective occurs after the Sprint Review and prior to the upcoming Sprint Planning meetings. This is boxed at three hours for one-month Sprints.
During the Sprint Retrospective, the team discusses the following;
- What went well?
- Things that didn’t work?
- What should be done differently?
SCRUM Artefacts
Scrum’s artefacts represent work to provide transparency and opportunities for inspection and adaptation. They are specifically designed to maximise transparency of key information. Hence, everybody in the scrum team has the same understanding of the artefact.
There are three artefacts in a scrum, namely, Product Backlog, Sprint Backlog and Increment.
Product Backlog
The Product Backlog is an ordered list of everything required in the product. This is the responsibility of the Product Owner. A Product Backlog is never complete. Initially, it contains the best-understood requirements and evolves gradually with the development of the product and its environment, making it appropriate and relevant to the current market needs.
Sprint Backlog
The Sprint Backlog is the set of Product Backlog items selected for the Sprint, with a plan for delivering the next Increment. It is forecast by the Development team explaining the desired functionalities in the next Increment and the work needed to deliver the same.
Increment
An Increment is the sum of all the Product Backlog items completed during a Sprint and all previous Sprints. At the end of a Sprint, the new Increment must be in usable condition and meet the Scrum Team’s definition of Done.
When an Increment is described as Done, everyone must agree to a checklist, which upon being completely checked, declares the product as ‘Done’.
Conclusion
Scrum works not because it has three roles, five events, and three artefacts or due to a methodology but because it adheres to the underlying Agile principles of iterative, value-based incremental delivery. You frequently gather customer feedback and react to the changes in the market. This results in faster time to market, better delivery predictability, increased customer responsiveness. And it gives you enhanced software quality, and improved risk management.