Scrum is a framework that helps people, teams, and organizations to generate value through adaptive solutions to complex problems.💬
This framework is commonly used in technology teams, so knowing more about it gives you advantages when it comes to adapting to these professional environments.🖥️
Scrum is the perfect framework for complex products and joins the three basic concepts of a sucess project:
journey
title History Timeline
section First Mention
Harvard Business Review: 5: 1986
section Gets it name
SCRUM: 5: 1993
section Official document
Scrum Guide: 5:2010
flowchart TB
subgraph Lean Philosophy
Minimize_Waste-->Fix_errors_right_away-->Ideal_time_Real_time
end
subgraph Empirical Process Control
Transparency-->Inspection-->Adaptation
end
- Individuals and Interactions Over Processes and Tools
- Working Software Over Comprehensive Documentation
- Customer Collaboration Over Contract Negotiation
- Responding to Change Over Following a Plan
Must not be more than 10 people ❌
Everyone have their own accountability ✅
There's no hierarchy 🆙
class Team:
def __init__(Role1): 🎯
role1.name = "Product Owner"
role1.task = "What to build?"
role1.supports = "Understanding client's needs"
def __init__(Role2): ⏰
role2.name = "Scrum Master"
role2.task = "Delivers on time"
role2.supports = "Continuous improvement"
def __init__(Role3): 🏭
role3.name = "Developer"
role3.task = "How to build it?"
role3.supports = "Team multi-functional and auto-managed"- Sprint 4 weeks or less 📆
- Meetings ➡️ Inspection ➡️ Adapt and Define
- Daily short meetings monitoring progress 📌
graph TD;
Respect-->Courage;
Respect-->Openness;
Respect-->Commitment;
Respect-->Focus;
What we want to build?
The product backlog is an ordered list of everything that is known to be needed in a product based on the product goal. It is constantly evolving and is never complete.
How we gonna build it?
The sprint backlog is a list of everything that the team commits to achieve in a given sprint. Once created, no one can add to the sprint backlog except the development team.
Definitions of done!
At the end of every sprint, the team delivers a product increment that is potentially releasable, meaning that it meets their agreed-upon definition of done.
Scrum is a fine-detailed approach that has specific roles and ceremonies for each step of the process. The benefits of this type of approach include:
Increased transparency and project visibility 🔍
Accountability across teams 👥
Additional room for changes 🎯
Savings in cost 💰
Scrum is best used in a project that is meant to be easy and flexible, but also is defined enough to achieve goals and hit targets that the customer or stakeholder designates
Is defined by sprints, so it is best leveraged in a project that benefits from the constant re-evaluation of goals, tasks, and roles of the team. 💬
Has a set of prescribed roles that allow structure to the project, yet has room for a shifting of assignments based on the timelines that evolve out of the process. ⌚
