## Agile Foundations
Agile is a mindset and a set of principles for developing software, emphasizing iterative and incremental delivery. It emerged as a response to the limitations of traditional, sequential development methods. The core of Agile is the Agile Manifesto, which outlines 4 Values and 12 Principles.
1. Individuals and interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan
These values prioritize people, demonstrable progress, continuous engagement with stakeholders, and adaptability. The 12 principles further elaborate on these values, promoting practices like early and continuous delivery, welcoming changing requirements, self-organizing teams, and regular reflection on how to become more effective.
Agile approaches typically lead to faster delivery of value, higher customer satisfaction due to continuous feedback, improved product quality, enhanced team morale, and greater flexibility to adapt to market changes.
## Scrum Framework
Scrum is a lightweight, iterative, and incremental framework for developing and sustaining complex products. It is one of the most popular frameworks for implementing Agile. Scrum is founded on empiricism and lean thinking.
Scrum relies on an empirical process control, which means making decisions based on what is observed. It has three pillars:
The successful use of Scrum depends on people embodying five core values:
Scrum teams are self-managing and cross-functional, meaning they have all the skills necessary to create value without external dependencies and decide internally how to best accomplish their work.
## Scrum Theory: Empiricism
Scrum is founded on empiricism and lean thinking. Empiricism asserts that knowledge comes from experience and making decisions based on what is observed. Scrum employs an iterative, incremental approach to optimize predictability and control risk, constantly adapting to new information.
For empiricism to work effectively, three pillars must be upheld:
Scrum Events (Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective) are formal opportunities for inspection and adaptation, ensuring the team continuously learns and improves.
## Scrum Values
Successful use of Scrum depends on people becoming proficient in living five core values. These values provide guidance to the Scrum Team on their behavior and decisions, reinforcing the pillars of empiricism:
## The Scrum Team
The Scrum Team is the fundamental unit of Scrum, consisting of a Product Owner, Scrum Master, and Developers. It is a small, self-managing, and cross-functional group, typically 10 or fewer people. This small size allows for better communication, increased flexibility, and improved productivity, enabling them to deliver value iteratively and incrementally.
A self-managing team internally decides who does what, when, and how to accomplish their work. They are empowered to manage their own process and work. A cross-functional team possesses all the necessary skills within itself to create value each Sprint without relying on external parties. There are no sub-teams or hierarchies within the Scrum Team; it is a cohesive unit focused on one objective at a time, the Product Goal.
Each member of the Scrum Team has distinct accountabilities:
The entire Scrum Team is accountable for creating a valuable, useful Increment every Sprint.
## The Scrum Master Role: A Servant-Leader
The Scrum Master is a unique and crucial role within the Scrum framework, primarily acting as a servant-leader for the Scrum Team and the larger organization. Their core accountability is to establish Scrum as defined in the Scrum Guide, helping everyone understand Scrum theory and practice. They are responsible for the Scrum Team's effectiveness, enabling the team to improve its practices within the Scrum framework. The Scrum Master does not manage people but manages the process, ensuring adherence to Scrum principles and values.
## Services to the Scrum Team
The Scrum Master serves the Developers by coaching them in self-management and cross-functionality. They help the Scrum Team focus on creating high-value Increments that meet the Definition of Done. A key responsibility is to remove impediments to the Scrum Team's progress, ensuring a smooth workflow. They also ensure all Scrum events are positive, productive, and kept within their respective timeboxes. The Scrum Master fosters an environment where the team can continuously learn and adapt, promoting the Scrum Values of Commitment, Focus, Openness, Respect, and Courage.
## Services to the Product Owner
For the Product Owner, the Scrum Master helps find techniques for effective Product Goal definition and Product Backlog management. They assist the Scrum Team in understanding the need for clear and concise Product Backlog items and help establish empirical product planning in complex environments. Facilitating stakeholder collaboration, as requested or needed, is also part of their service to the Product Owner, ensuring clear communication and understanding of product vision.
## Services to the Organization
Beyond the immediate Scrum Team, the Scrum Master leads, trains, and coaches the entire organization in its Scrum adoption. This includes planning and advising Scrum implementations and helping employees and stakeholders understand and enact an empirical approach for complex work. They work to remove barriers between stakeholders and Scrum Teams, fostering a culture of transparency and continuous improvement across the organization. The Scrum Master is a true change agent, guiding the organization towards agility.
## Scrum Events: The Heartbeat of Scrum
Scrum's prescriptive events create regularity and minimize the need for other meetings. Each event is a formal opportunity to inspect and adapt various aspects of the product and the process. Failure to include any event results in lost opportunities for inspection and adaptation.
## The Sprint
The Sprint is the container for all other Scrum Events. It is a fixed-length event of one month or less, during which a "Done," usable, and valuable Increment is created. A new Sprint starts immediately after the previous one concludes. Once a Sprint begins, its Sprint Goal should not be endangered, and quality does not decrease. Scope may be clarified and re-negotiated with the Product Owner. A Sprint can only be cancelled by the Product Owner, and only if the Sprint Goal becomes obsolete, which is a rare occurrence.
## Sprint Planning
Sprint Planning initiates the Sprint by laying out the work to be performed. It is a collaborative event for the entire Scrum Team and is time-boxed to a maximum of 8 hours for a one-month Sprint (shorter for shorter Sprints). The team discusses three main topics:
## Daily Scrum
The Daily Scrum is a 15-minute time-boxed event for the Developers of the Scrum Team. It is held at the same time and place each day of the Sprint to inspect progress toward the Sprint Goal and adapt the Sprint Backlog as necessary. It helps Developers re-plan their work for the next 24 hours, focusing on how they will work together to achieve the Sprint Goal.
## Sprint Review
The Sprint Review is held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed. It is a collaborative working session involving the Scrum Team and key stakeholders. It is time-boxed to a maximum of 4 hours for a one-month Sprint (shorter for shorter Sprints). During the review, the Scrum Team presents the results of their work to stakeholders, and they discuss what was done, what has changed in their environment, and what to do next. The Product Backlog is often adjusted based on this feedback.
## Sprint Retrospective
The Sprint Retrospective occurs after the Sprint Review and before the next Sprint Planning. It is a time-boxed to a maximum of 3 hours for a one-month Sprint (shorter for shorter Sprints). The purpose is to inspect how the last Sprint went with regards to individuals, interactions, processes, and tools. The Scrum Team identifies what went well, what problems were encountered, and identifies the most helpful changes to improve their effectiveness. These improvements are often added to the Sprint Backlog for the upcoming Sprint.
## Scrum Artifacts: Pillars of Transparency
Scrum artifacts are crucial for maximizing transparency of key information, ensuring everyone has the same understanding of the work being done and the value being delivered. There are three primary artifacts in Scrum, each with a specific commitment that provides focus and measurability.
## Product Backlog
The Product Backlog is an ordered, emergent list of everything that is known to be needed in the product. It is the *single source of truth* for all work to be done by the Scrum Team. The Product Owner is solely responsible for its content, availability, and ordering. Product Backlog items are refined over time, adding detail, estimates, and order.
## Sprint Backlog
The Sprint Backlog is composed of the Sprint Goal, the set of Product Backlog items selected for the Sprint, and the detailed plan for delivering the Increment. It is a highly visible, real-time picture of the work that the Developers plan to accomplish during the Sprint. The Sprint Backlog is owned by the Developers and is updated throughout the Sprint as new learning emerges.
## Increment
An Increment is a concrete stepping stone toward the Product Goal. It is the sum of all the Product Backlog items completed during a Sprint and the value of Increments of all previous Sprints. For an item to be part of an Increment, it must meet the Definition of Done (DoD). An Increment must be usable, regardless of whether the Product Owner chooses to release it immediately. Multiple Increments can be created within a single Sprint.
## Facilitation and Coaching
The ScrumMaster (SM) plays a crucial role in fostering effective collaboration and continuous improvement within a Scrum Team and the wider organization through Facilitation and Coaching.
## Facilitation
Facilitation is the act of guiding a group through a process to achieve a common goal, without dictating the content or outcome. The SM acts as a neutral process owner, ensuring Scrum events are productive, timeboxed, and achieve their purpose.
## Coaching
Coaching involves guiding individuals and teams to improve their performance, develop new skills, and overcome challenges by helping them discover their own solutions. The SM coaches at multiple levels:
## Service to the Organization
The Scrum Master's role extends beyond the immediate Scrum Team to serve the entire organization, fostering an environment where Scrum can thrive. This involves leading, coaching, and facilitating organizational change to embrace Agile principles and Scrum values.
A key responsibility is to lead and coach the organization in its Scrum adoption. This involves helping employees and stakeholders understand the empirical foundations of Scrum – transparency, inspection, and adaptation. The Scrum Master educates on the benefits of self-managing teams, iterative development, and continuous improvement, advocating for a shift from traditional command-and-control to a more collaborative and adaptive mindset. They help the organization understand how Scrum can deliver value more effectively and respond to change.
The Scrum Master assists the organization in planning and implementing Scrum. This might involve identifying initial pilot teams, helping define roles, and establishing a roadmap for scaling Scrum. They work to remove organizational impediments that hinder Scrum adoption, such as misaligned incentive structures, departmental silos, or rigid budgeting processes. This often requires diplomacy and influencing skills to navigate complex organizational dynamics.
A significant part of serving the organization is removing barriers between stakeholders and Scrum Teams. This means improving collaboration, communication, and understanding. The Scrum Master facilitates discussions, resolves conflicts, and ensures that stakeholders understand the Scrum Team's progress, challenges, and needs. They champion the Scrum values (Commitment, Focus, Openness, Respect, Courage) at an organizational level, encouraging a culture that supports these values.
Furthermore, the Scrum Master often acts as a change agent, helping the organization adapt its structures, policies, and culture to better support Scrum. This can involve working with HR, finance, and other departments to align processes with Agile principles. They also foster communities of practice among other Scrum Masters, sharing knowledge and best practices to collectively improve the organization's agility.