Scrum Notes

Scrum Overview

  • An agile process that allows us to focus on delivering the highest business value in the shortest time.

  • Allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).

  • Business sets the priorities. Teams self manage.

  • Every 2 weeks/1month can see real working software and decide to release as is or continue for another iteration,

Characteristics of Scrum

  • Self-Organizing Teams

  • Sprints

  • Product Backlog

  • No specific engineering practices

  • Agile process

Scrum Approach

  • General agile method but its focus is on managing iterative dev rather than specific agile practices.

  • Phases of Scrum:

    1. Outline Planning Phase: Establish general objectives and software architecture.

    2. Sprint Cycles: Develop system increments.

    3. Project Closure: Finalize documentation and assess project lessons learned.

Scrum Sprint Cycle

  • Duration: Target of one month for each sprint, with flexibility of +/- a week or two.

  • Process: Design, code, and test within the sprint timeframe with no changes during execution.

Scrum Roles

  • Product Owner:

    • Defines product features and manages priorities.

    • Responsible for product profitability.

    • Accepts or rejects work results.

  • Scrum Master:

    • Represents management, enables Scrum processes, and removes impediments.

    • Shields the team from external interferences.

  • Scrum Team:

    • Comprises 5-10 cross-functional members (e.g., QA, Programmers).

    • Self-organizing and ideally full-time, with flexible member changes between sprints.

Scrum Ceremonies

  • Sprint Planning Meeting:

    • Sets the scope and goals of the next sprint.

  • Daily Scrum Meeting:

    • Conducted daily for 15 minutes to facilitate team commitments.

    • Not for problem-solving or status reporting.

  • Sprint Review Meeting:

    • Held on the last day of the sprint to assess features and direction.

  • Sprint Retrospective Meeting:

    • Team reflects on and reviews processes, not products.

Sprint Planning Details

  • Parts of Sprint Planning Meeting:

    1. Create Product Backlog and Sprint Goals: Includes Product Owner, Scrum Master, and Scrum Team.

    2. Create Sprint Backlog: Involves Scrum Master and Scrum Team.

  • Daily Scrum Meeting:

    • Daily, 15 minutes, stand-up format.

    • Not for problem solving.

    • Three key questions discussed:

      1. What did you accomplish yesterday?

      2. What are your plans for today?

      3. What obstacles do you face?

Scaling Agile Methods

  • Scaling Up: Using agile methods for developing large software systems that cannot be developed by a small team.

  • Scaling Out: How agile methods can be introduced across a large organisation with many years of software dev experience.

Advantages of Scrum:

  • Quick iterations of fully developed features.

  • Simplicity and clarity in processes.

  • Boosts productivity and enhances team communication.

  • Self organsising.

  • Combines well with Extreme Programming.

Drawbacks of Scrum:

  • Risk of lacking documentation and defined processes.

  • Responsibility often falls disproportionately on creators/early adopters.

Contractual Considerations in Agile

  • Traditional contracts based on specifications clash with agile development’s iterative nature.

  • A shift towards contracts that pay based on developer time, rather than fixed deliverables, is necessary but seen as high-risk.

Reflections on Scrum

  • Recognized as a key methodology in agile software project management over the past two decades.

  • Despite limitations in scaling, Scrum's adaptability suits various contexts beyond software development.