Scrum Framework

24/01/2024

The Scrum framework is an agile project management and product development approach that provides a structured yet flexible way to deliver software or other types of complex products. It is based on principles of transparency, inspection, and adaptation, and it promotes collaboration among cross-functional teams. Scrum is widely used in software development but can be adapted to various industries and projects. Here are key components of the Scrum framework:

Roles:

  • Product Owner: Represents the stakeholders and is responsible for defining and prioritizing the product backlog.
  • Scrum Master: Facilitates the Scrum process, removes impediments, and ensures that the team adheres to Scrum practices.
  • Development Team: A cross-functional, self-organizing group responsible for delivering the product incrementally.

Artifacts:

  • Product Backlog: An ordered list of features, enhancements, and fixes that represent the product's requirements.
  • Sprint Backlog: A subset of the product backlog selected for the current sprint.
  • Increment: The sum of all completed product backlog items at the end of a sprint.
  1. Events (Sprint Ceremonies):

    • Sprint Planning: A collaborative meeting where the team selects items from the product backlog to work on during the sprint.
    • Daily Scrum (Stand-up): A brief daily meeting for the development team to synchronize activities, plan for the next 24 hours, and identify impediments.
    • Sprint Review: A meeting at the end of each sprint where the team demonstrates the increment to stakeholders and receives feedback.
    • Sprint Retrospective: A reflection meeting at the end of each sprint where the team discusses what went well, what could be improved, and adjusts their process accordingly.

Time-boxing:

  • Scrum events are time-boxed, meaning they have a fixed duration. For example, a sprint typically lasts two to four weeks.

Definition of Done (DoD):

  • The criteria that a product increment must meet to be considered complete. It helps ensure that the increment is potentially shippable.

Scrum Values:

  • Commitment: Team members commit to achieving their sprint goals.
  • Courage: The Scrum team has the courage to question the status quo and make improvements.
  • Focus: The team focuses on delivering the highest value items in the shortest time.
  • Openness: Team members are open about their work and challenges, fostering transparency.
  • Respect: The team members respect each other's skills, opinions, and perspectives.

The Scrum framework provides a structured approach to iterative and incremental development, allowing teams to adapt to changing requirements and deliver value regularly. It emphasizes collaboration, continuous improvement, and customer satisfaction. Scrum is one of the most widely adopted agile frameworks and is used by organizations of various sizes and industries.

SCRUM ROLES

In the Scrum framework, there are three core roles that define the responsibilities and accountabilities of individuals involved in the Scrum process:

Product Owner:

  • The Product Owner represents the voice of the customer and stakeholders. Their primary responsibilities include:
    • Defining and prioritizing the product backlog.
    • Communicating the product vision and goals to the development team.
    • Making decisions about the content and priority of the work to be done.
    • Ensuring that the team delivers value to the customer with each iteration.

Scrum Master:

  • The Scrum Master is a servant-leader and facilitator for the Scrum team. Their key responsibilities include:
    • Facilitating and ensuring adherence to Scrum practices and values.
    • Removing impediments that hinder the team's progress.
    • Coaching the team on self-organization and cross-functionality.
    • Promoting continuous improvement within the team.
    • Shielding the team from external interruptions.

Development Team:

  • The Development Team is a self-organizing, cross-functional group responsible for delivering a potentially shippable product increment at the end of each sprint. Key aspects of the Development Team role include:
    • Collaboratively working on and delivering increments of product functionality.
    • Deciding how much work they can commit to in a sprint.
    • Organizing themselves to deliver the work without external direction.
    • Ensuring that the product increment meets the Definition of Done.

It's important to note that in Scrum, there are no titles such as "project manager," and the emphasis is on collaboration and shared responsibility. The Scrum Team collectively owns the work and is accountable for delivering value to the customer.

These roles work together in a collaborative manner, and their interactions are crucial for the success of the Scrum framework. The Product Owner provides the vision and priorities, the Scrum Master facilitates the process and removes impediments, and the Development Team collaboratively delivers the product increments. The three roles work together in a way that promotes transparency, inspection, and adaptation throughout the project.

SCRUM EVENTS

Scrum defines a set of events, also known as ceremonies or meetings, that provide opportunities for collaboration, inspection, and adaptation throughout the development process. These events are time-boxed, meaning they have a fixed duration. The key Scrum events are:

Sprint Planning:

  • Purpose: To plan the work to be performed during the upcoming sprint.
  • Participants: Product Owner, Scrum Master, Development Team.
  • Duration: Time-boxed to a maximum of 8 hours for a one-month sprint.
  • Activities: The team selects items from the product backlog and creates a sprint backlog. The Product Owner discusses the goals and priorities for the sprint.

Daily Scrum (Daily Stand-up):

  • Purpose: To synchronize the activities of the Development Team and plan for the next 24 hours.
  • Participants: Scrum Master, Development Team.
  • Duration: Time-boxed to a maximum of 15 minutes.
  • Activities: Each team member answers three questions: What did I do yesterday? What will I do today? Are there any impediments or blockers?

Sprint Review:

  • Purpose: To inspect the increment and adapt the product backlog if needed.
  • Participants: Product Owner, Scrum Master, Development Team, stakeholders.
  • Duration: Time-boxed to a maximum of 4 hours for a one-month sprint.
  • Activities: The team presents the completed work, and stakeholders provide feedback. The Product Owner discusses the product backlog and potential adjustments based on feedback.

Sprint Retrospective:

  • Purpose: To inspect the last sprint and plan for improvements in the next one.
  • Participants: Scrum Master, Development Team.
  • Duration: Time-boxed to a maximum of 3 hours for a one-month sprint.
  • Activities: The team reflects on the previous sprint, identifies what went well and what could be improved, and plans for changes in the next sprint.

Sprint (Time-boxed Iteration):

  • Purpose: To develop and deliver a potentially shippable product increment.
  • Duration: Time-boxed, typically to 2-4 weeks.
  • Activities: Development Team works on the items in the sprint backlog, following Scrum principles and practices.

These events are designed to create a framework that allows for regular inspection and adaptation. They enable the Scrum Team to respond to changes in requirements, feedback, and the external environment. The time-boxed nature of the events helps in maintaining a cadence and ensuring that the team stays focused on delivering value.

SCRUM ARTIFACTS

  • Purpose: The product backlog is an ordered list of all features, enhancements, bug fixes, and other work that needs to be done on the product. It represents the entire scope of work for the product.
  • Ownership: The Product Owner is responsible for the product backlog, including its content, prioritization, and refinement.
  • Content: The product backlog items (PBIs) are usually user stories, features, or any deliverable that adds value to the product. They are prioritized based on their importance to the product and its goals.
  • Dynamic Nature: The product backlog is dynamic and can evolve as the product and project progress. It is refined and adjusted during Sprint Planning, Sprint Review, and Sprint Retrospective events.

  • Purpose: The sprint backlog is a subset of the product backlog that contains the items selected for a specific sprint. It represents the work that the Development Team has committed to completing during the sprint.
  • Ownership: The Development Team is responsible for managing and delivering the items in the sprint backlog.
  • Content: The sprint backlog includes the user stories and tasks that the Development Team plans to work on during the sprint. It may also include technical and design tasks necessary for the implementation of the selected product backlog items.
  • Dynamic Nature: The sprint backlog is dynamic as well, and the Development Team can adjust it throughout the sprint to respond to changing conditions or requirements.
  • Purpose: The increment is the sum of all the product backlog items completed during a sprint, combined with the work done in previous sprints. It represents a potentially shippable product.
  • Ownership: The Development Team is responsible for delivering a complete and potentially shippable increment at the end of each sprint.
  • Content: The increment is the tangible outcome of the sprint and includes all the completed and integrated product backlog items that meet the Definition of Done.
  • Visibility: The increment is inspected at the Sprint Review event, providing stakeholders with the opportunity to see the progress and provide feedback.

MVP (Minimum Viable Product) and MMP (Minimum Marketable Product)

Both MVP (Minimum Viable Product) and MMP (Minimum Marketable Product) are concepts related to product development, but they have distinct meanings and serve different purposes in the product lifecycle.

Minimum Viable Product (MVP):

  1. Purpose: The primary goal of an MVP is to quickly deliver a version of the product with the minimum set of features required to satisfy early adopters and gather valuable feedback.
  2. Features: An MVP includes only the essential features necessary to address a specific problem or deliver a basic solution to users. It is the bare minimum required to make the product functional.
  3. Development Focus: The focus of MVP development is on rapid iteration, learning from user feedback, and validating assumptions about the product.
  4. Risk Mitigation: MVPs are used to mitigate the risk of investing significant resources in a product that might not meet user needs or expectations. It allows for testing hypotheses and making informed decisions for future development.

Minimum Marketable Product (MMP):

  1. Purpose: An MMP is a more advanced version of the product compared to an MVP. It includes additional features beyond the minimum required for viability and is designed to attract a larger audience.
  2. Features: An MMP includes features that go beyond the bare minimum and add value to a broader set of users. It aims to satisfy a larger segment of the market and is closer to the envisioned full-scale product.
  3. Development Focus: The focus of MMP development is on expanding the product's capabilities to make it more attractive to a larger user base. It builds on the foundation established by the MVP.
  4. Market Entry: An MMP is positioned for entry into the broader market, capturing a larger audience and gaining market share. It is a step toward the fully-featured product.

In summary, the main difference between MVP and MMP lies in their goals and the stage of product development they represent. An MVP is about quickly delivering the minimum features needed for initial viability and learning, while an MMP is a more advanced version that aims to capture a larger market share by offering additional features and capabilities. The transition from an MVP to an MMP reflects the evolution of a product as it matures and expands its reach in the market.

The Scrum of Scrums (SoS)

The Scrum of Scrums (SoS) is a scaled agile technique used to coordinate the work of multiple Scrum teams working on the same project or within the same organization. It is particularly useful in large-scale agile development environments where a single Scrum team may not be sufficient to deliver a complex product or system.

In the Scrum framework, a Scrum of Scrums is typically conducted as a meeting or a regular event where representatives from each Scrum team gather to discuss progress, dependencies, and any impediments that may affect the overall project or program. Here are the key aspects of the Scrum of Scrums:

  1. Composition of SoS: The Scrum of Scrums meeting involves representatives from each Scrum team, often the Scrum Masters or Product Owners, though sometimes key team members may also attend. The exact composition may vary depending on the needs of the organization and the complexity of the project.

  2. Frequency: The SoS meeting is typically held regularly, often daily or every few days, depending on the cadence of the project and the level of coordination required. The frequency should be determined based on the need for synchronization and communication among the teams.

  3. Focus of Discussion: During the SoS meeting, teams discuss progress made since the last meeting, any dependencies or impediments encountered, and plans for the upcoming period. The focus is on coordination, alignment of goals, and resolving cross-team issues that may arise.

  4. Identification of Dependencies: One of the primary purposes of the Scrum of Scrums is to identify and address dependencies between teams. Teams share information about inter-team dependencies, such as shared resources, interfaces, or deliverables, and work together to resolve any conflicts or bottlenecks.

  5. Resolution of Impediments: The SoS meeting provides a forum for teams to raise and discuss any impediments that may be hindering progress. By bringing these issues to light, teams can collaborate to find solutions and remove obstacles to progress.

  6. Decision Making: The Scrum of Scrums meeting may also be used for decision-making purposes, particularly for issues that affect multiple teams or require input from multiple stakeholders. Teams collaborate to make decisions that are in the best interest of the overall project or program.

Overall, the Scrum of Scrums is a valuable technique for coordinating the work of multiple Scrum teams, facilitating communication and collaboration, and ensuring alignment towards common goals. It helps to address the challenges of scaling agile development and enables organizations to deliver complex products more effectively.

The three pillars of Scrum

The three pillars of Scrum are transparency, inspection, and adaptation. These pillars are fundamental principles that guide the Scrum framework and its practices. Here's a brief overview of each:

  1. Transparency: In Scrum, transparency refers to the openness and clarity of all aspects of the process. This includes the work being done, the status of that work, any challenges or impediments faced, and the overall progress towards the project's goals. Transparency enables everyone involved to have a common understanding of the work being performed and the current state of the project, fostering trust and collaboration among team members.

  2. Inspection: Inspection involves regularly evaluating the progress and the product being developed. This inspection is typically done through various Scrum events, such as the Sprint Review and the Daily Scrum. By inspecting the work at regular intervals, the team can identify any deviations from the desired outcome or any issues that may be hindering progress. Inspection provides opportunities for feedback and enables the team to make informed decisions about how to proceed.

  3. Adaptation: Adaptation is the ability to make changes based on the insights gained from inspection. When issues or changes are identified during inspection, the team collaborates to determine the most appropriate course of action. This could involve adjusting the backlog, revising priorities, altering the way work is being done, or making other adaptations to improve productivity and effectiveness. Adaptation is essential for responding to changing requirements, managing risks, and continuously improving the team's processes and outcomes.

Together, these three pillars form the foundation of the empirical process control approach that underpins Scrum, emphasizing transparency, continuous inspection, and adaptation to enable teams to deliver high-quality products effectively.