Agile is an iterative philosophy to product development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a “big bang” launch, an agile team delivers work in small, but consumable, increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.
Agile development refers to any development process/framework that is aligned with the concepts of the Agile Manifesto.
What is Scrum?
Scrum is a subset of Agile and the most widely-used one. According to the Scrum guide, it is a lightweight framework for agile development that helps people, teams and organizations generate value through adaptive solutions for complex problems:
A Product Owner orders the work for a complex problem into a Product Backlog.
The Scrum Team turns a selection of the work into an Increment of value during a Sprint.
The Scrum Team and its stakeholders inspect the results and adjust for the next Sprint.
The Scrum framework is purposefully incomplete, only defining the parts required to implement Scrum theory. Rather than provide people with detailed instructions, the rules of Scrum guide their relationships and interactions. Scrum is built by the intelligence of the people using it.
In other words, Scrum is like the skeleton, which we must follow. But what we build upon that skeleton (processes, techniques and methods) is our choice.
Scrum theory
Scrum is founded on
Empiricism: knowledge comes from experience and making decisions based on what is observed. Scrum employs an iterative, incremental approach to optimize predictability and to control risk.
Lean thinking: reduces waste and focuses on the essentials.
There are 3 pillars
Transparency: everything must be visible to the team members and stakeholders. For example, during the daily meetings, the team needs to synchronize their work and efforts, which is a perfect opportunity to practice transparency. Transparency enables inspection. Inspection without transparency is misleading and wasteful.
Inspection: the progress and goals must be inspected frequently and diligently to detect potentially undesirable variances or problems. For example, during the daily meetings, you can inspect and review the whole strategy. Check if you haven’t overdone anything and suggest an easier way to do something next time. Inspection enables adaptation. Inspection without adaptation is considered pointless.
Adaptation: As soon as inspection reveals the need to adapt the product increment or the development, process changes should be made. If you don’t change what isn’t working for your team and product, or what could simply work better and faster, you’re not adapting—and if you’re not experimenting, you’re not progressing
You’ll see the empiricism theory and its 3 pillars are presenting throughout the framework as you learn more.
Scrum values
These values describe how Scrum team members and stakeholders should be to make it most effective. There are 5 values:
Commitment: The Scrum Team commits to achieving its goals and to supporting each other
Focus: Their primary focus is on the work of the Sprint to make the best possible progress toward these goals
Openness: The Scrum Team and its stakeholders are open about the work and the challenges
Respect: Scrum Team members respect each other to be capable, independent people, and are respected as such by the people with whom they work
Courage: The Scrum Team members have the courage to do the right thing, to work on tough problems