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:
Outline Planning Phase: Establish general objectives and software architecture.
Sprint Cycles: Develop system increments.
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:
Create Product Backlog and Sprint Goals: Includes Product Owner, Scrum Master, and Scrum Team.
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:
What did you accomplish yesterday?
What are your plans for today?
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.