DEV Community

Cover image for Understanding SCRUM (An Agile Development Framework)
Taki (Kieu Dang)
Taki (Kieu Dang)

Posted on

1

Understanding SCRUM (An Agile Development Framework)

Overview

This Post provides a detailed introduction to Scrum, an Agile project management framework that promotes iterative software development. It contrasts Scrum with traditional waterfall methodologies, explains key roles and responsibilities, describes artifacts used in Scrum, and outlines the Scrum process.


Key Concepts

Image description
Scrum works like a production line for small features of a software
product.

Scrum vs. Waterfall

Image description
The waterfall development process.

  • Waterfall: A rigid, sequential methodology where each phase (analysis, design, implementation, testing) must be completed before moving to the next.

Image description
The cards on the Scrum board represent different parts of an
aggregated product.

  • Scrum: An Agile approach that embraces change, allowing teams to iteratively develop and refine software in short cycles called sprints.

Scrum Roles

  1. Product Owner

    • Represents the customer.
    • Defines and prioritizes features in the product backlog.
    • Accepts or rejects completed work.
    • Cannot alter sprint goals once a sprint has started.
  2. Scrum Master

    • Facilitates the Scrum process and removes impediments.
    • Ensures the team adheres to Scrum principles.
    • Acts as a servant leader rather than a traditional manager.
  3. Development Team

    • A cross-functional group responsible for delivering increments of software.
    • Ideally composed of generalizing specialists—team members who specialize in certain areas but can also work across disciplines.
    • Owns the code collectively.

Scrum Artifacts

  1. Product Backlog

    • A prioritized list of features and fixes.
    • Managed by the Product Owner.
  2. Sprint Backlog

    • A subset of the product backlog selected for a sprint.
    • Created during sprint planning.
  3. Scrum Board

    • A visual representation of work in progress.
    • Typically divided into columns like "To Do," "In Progress," and "Done."
  4. Burndown Charts

    • Track progress toward sprint completion.

The Sprint Process

  1. Sprint Planning:

    • The team selects user stories from the product backlog for the upcoming sprint.
  2. Daily Scrum (Stand-Up Meeting):

    • A brief meeting (15 minutes) where each team member shares:
      • What they worked on yesterday.
      • What they plan to do today.
      • Any blockers or impediments.
  3. Sprint Execution:

    • The development team works on implementing selected stories.
  4. Sprint Review (Demo):

    • The team presents completed work to stakeholders.
  5. Sprint Retrospective:

    • The team discusses what went well, what didn't, and how to improve.

Agile in the Real World

  • Agile is not a strict set of rules but a framework for adapting to change.
  • The Cynefin Framework helps teams understand when to use Agile methods (best suited for complex and complicated projects).

Different Forms of Scrum

  • Scrum and… (Scrum + additional Agile practices like XP techniques).
  • Scrum but… (Teams follow Scrum but modify some elements).
  • Scrum not… (Teams claim to use Scrum but deviate so much that it is no longer Scrum).

Conclusion

  • Scrum improves adaptability in software development.
  • It ensures incremental value delivery while allowing teams to refine both the product and their workflow.
  • It reduces reliance on excessive documentation, focusing on working software.

Reference:

Top comments (0)