Scrum Process

download Scrum Process

If you can't read please download the document

Transcript of Scrum Process

The Scrum Process

John A. Lewis

Chief Software Architect

Unicon, Inc.

6 February 2008

Copyright Unicon, Inc., 2008. Some rights reserved. This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/

Method vs. Methodology

Admittedly, this is a pet peeve:

Method: A means or manner of procedure, especially a regular and systematic way of accomplishing something

Methodology: A body of practices, procedures, and rules used by those who work in a discipline or engage in an inquiry; a set of working methods; The study or theoretical analysis of such working methods

Scrum (and other such things) are methods not methodologies

Agile Software Development

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

From the Manifesto for Agile Software DevelopmentSee http://agilemanifesto.org/

Principles of Agile Development

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Principles of Agile Development (cont)

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicitythe art of maximizing the amount of work not doneis essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Nature of A Complete Method

There are two critical aspects of a
software development method:

Process: How the project is conducted and coordinated. Provides for project management and control mechanisms. Not specific to software development.

Practice: How the developers perform software development. A set of practices and conventions that all developers follow in order to collaborative effectively and produce high-quality results quickly.

The Scrum Process

Scrum Process

Scrum is an Agile Process for running Software Development Projects.

Uses an Empirical Process control model instead of a Defined Process control model.

This means it depends on Inspect and Adapt cycles, instead of phases, hand-offs, sign-offs, and blame.

These cycles require regular inspections of the process, and constant adaptations to steer the direction of the process based on those inspections.

Scrum is made up of two cycles:

The Monthly Scrum Sprint (the Sprint)

The Daily Scrum Meeting (the Scrum)

All activity takes place within these two cycles.

Scrum Process Flow

The Monthly Scrum Sprint

30-day cycle that results in a potentially shippable increment of the software product.

During this period the team is empowered to do whatever it takes to meet their goal.

Must develop an initial Product Backlog before beginning the first Sprint.

Product Backlog

Prioritized list of all features and changes that have yet to be made to the system.

High-level and loosely defined estimated from 1 - 20 days or so.

The Scrum Master is the owner of the Product Backlog.

The Scrum Master is the ultimate arbiter of what's on the list and what the priorities are.

Before beginning the first Sprint, the Product Manager and the Scrum Team produce an initial Product Backlog.

Sprint Planning Meeting

Initial step for each Sprint.

Attended by the Scrum Master, the Scrum Team, and any other parties that want to see how the next 30 days will likely go.

1st half of the meeting (~ 4 hours):

Scrum Team and the Scrum Master select items from Product Backlog that can be implemented in the next 30 days.

Scrum Team and the Scrum Master agree on a Sprint Goal: a simple statement of what this Sprint will accomplish.

2nd half of the meeting (~ 12-20 hours):

The Scrum Team creates the Sprint Backlog.

Sprint Backlog

Scrum Team takes the Product Backlog items for the Sprint and distills them into items for the Sprint Backlog.

Sprint Backlog items are lower-level and much more defined measured in hours, not days estimated from 1 - 16 hours or so.

Preferably managed in an Issue Tracking system
(e.g. JIRA).

During a Sprint, if entirely new tasks are discovered, they can be added to the Sprint Backlog.

If a new task is not related to the Sprint Goal, then it is tossed back into the Product Backlog, to be prioritized by the Scrum Master.

The Daily Scrum Meeting

Within the Sprint, the Scrum Team gathers in the same place at the same time each work day.

Provides daily chance to Inspect and Adapt.

The Scrum Master asks each person, in turn:

"What have you done since the last Scrum meeting?"

"What do you plan to do before the next Scrum meeting?"

"What impediments are in your way?"

After the Daily Scrum, the team gets to work and the Scrum Master sets about removing impediments.

The Scrum Team

The Team consists of 5-9 people who will develop the product.

During each Sprint, the Scrum Team has two requirements:

Attend the Daily Scrum

Update the Sprint Backlog

The important metric on the Sprint Backlog is the estimated work remaining, not the work already done.

A task that had 3 hours remaining on Monday may have 5 hours remaining on Tuesday and 10 hours remaining on Wednesday, even though the developer has worked on it solid for 2 days. This is normal!

Pigs and Chickens

A not-so-funny joke:

A chicken and a pig decide to start a restaurant.
The pig says, "What should we call it?
The chicken says, "How about 'Ham & Eggs'?
The pig says, "No thanks. I'd be committed, but you'd just be involved!"

People on the Scrum Team are Pigs (committed) everyone else is a Chicken (involved).

At the Daily Scrum, only Pigs can talk. Chickens can come to the meeting to observe and learn, but they cannot:

Talk

Make funny faces

Whisper

Take notes loudly

Communicate in any way

If they do, they must leave.

If they persist, they will be banned from the meeting.

Sprint Review

When the Sprint is complete, the Sprint Team conducts a demonstration of what was completed. No more than 2 hours of preparation are allowed.

This should be purely a functioning demo no use of PowerPoint (unless you are developing PowerPoint itself!) or other slides / mockups.

The entire Sprint Team and the Scrum Master should attend. Others who are interested in seeing the results of the Sprint may also attend. Customer attendance is highly desirable.

Purpose is to solicit feedback. Observations and comments will commonly become items on the Product Backlog.

Rolling Out the Scrum Process

The Scrum Process can be rolled out quickly with new projects via some simple training (i.e. these slides + supporting material)

The Scrum Master and Tech Leads will need additional training and coaching as the project progresses

Good to have at least one or two people on the team who have done Scrum before, or have access to people who have done it before to ask questions

Resources

Website: http://www.scrumalliance.org/

Book: "Agile Software Development With Scrum" by Ken Schwaber

Blog: Implementing Scrum by Mike Vizdos

Mailing List:Scrum Development Yahoo! Group

Questions & Answers

John A. LewisChief Software ArchitectUnicon, Inc.

[email protected]

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level