Object Oriented Analysis & Design

advertisement
Object Oriented Analysis & Design
Scrum
Contents
Scrum


Scrum is a software methodology, like RUP
It is an agile methodology


It can respond quickly to changes in the requirements
Many game companies are using Scrum to develop their
games
Remember the Waterfall Model?

Planning Phase






Construction


The product is sent to various teams and built
Testing


Final product is thought out
Product is designed
Requirements and design are documented
The schedule is created and planned
Estimates are made
The product is passed to QA for testing
Strict controls are placed on the project to
ensure the final product is what was designed
What’s Wrong with the Waterfall?

The strengths of waterfall include



Highly organized
Extremely logical
Weaknesses


Humans are involved
Requires all good ideas at the start


Waterfall documents all ideas



In reality, good ideas arise throughout the project
In reality documents are seldom read
When read, they are often misunderstood
We find that a rigid process results in mediocre products
that are never better than the original idea
Agile Development





Tries to reflect human reality
Tries to get working software quickly rather than
concentrating on planning
Use cross functional teams which can make their own
decisions
Uses rapid iteration to build the product in smaller pieces
Agile reminds people of how it was done in the start-up
days when they just did it, before they got big and
bureaucratic
The Origin of Scrum


Is a short form of scrummage used in
rugby
When there has been an infraction of
the ball has gone out of play


The team regroups and gets ready to start
playing again
In scrum, this regrouping is what the
team does at the start of every day
Scrum Overview






Scrum is an iterative approach to project development
It consists of a series of sprints, each of which is
timeboxed between 2-4 weeks
If the work is not complete at the end of a sprint, the
sprint is never extended
At the beginning of the sprint, the team selects items they
will do in the sprint
Every morning, the team meets to discuss progress and
adjust to meet their schedule
At the end of the sprint, the team reviews the sprint to
discover what they did right and wrong
Deemer, Benefield, Larmer, & Vodde
Scrum Definitions

Product Backlog



Sprint Backlog


The list of items from the product backlog that the team has
committed to build in this sprint
Sprint


This is a list of features that must be implemented
These features are prioritized so that the most important and
lowest cost can be easily identified
The 2-4 week period in which the team works to build the
items the have committed to build
Daily scrum meeting

Daily meeting to judge progress and adjust strategy
Scrum Personnel

Product Owner



Responsible for maximizing return on investment by
prioritizing list of items
Continually re-prioritizes list to get items of highest value to
the business
Only one person is the product owner and he or she is
responsible for the value of the resulting product
Scrum Personnel

The Team







Builds what the product owner tells them to
Is cross-functional by having people with diverse skills
necessary to build the product
Is self-organizing and has a high degree of autonomy
Commits to build the items in the sprint backlog
The team are the pigs and everyone else are chickens
A team consists of 7 plus or minus 2 people
A team is staffed for and devoted to the development of one
particular product
Pigs & Chickens
Scrum Personnel

Scrum Master



Helps the personnel to learn and apply scrum
Protects the team from outside interference
Educates upper management on how scrum works
Project Management in Scrum




There is no project manager
The product owner decides on the priorities
The scrum master protects the team from interference
The team


Organizes itself
Manages itself via the daily scrum meetings
Starting Scrum

A scrum project is started by the Product Owner




He or she articulates the product vision
He or she then develops a list of features for the product
The features are a list of everything that will be built by the
team
The features are then assigned




A priority indicating their importance
An estimate of their value to the project
An estimate of the cost to build them
The prioritized list of features is called the Product Backlog
Sample Product Backlog
Effort After Sprint
Item
Priority Import
Effort
Level 1 scene
1
7
3
Level 1 Chars + AI
2
7
5
Level 1 particle effects
3
5
3
Level 1 sounds
4
4
3
Health/Score display
5
4
4
1
2
3
The Product Backlog

The Product Backlog can contain


Features needed to play the game
Underlying infrastructure to make the game work






Game engine
Art work
Music & sound effects
Model loaders
Level loaders
The Product Backlog is continuously updated to reflect


Changing priorities
New features and ideas
The Release Backlog

The Release Backlog is



A subset of the Product Backlog
The list of features required for the current release
Like the Product Backlog, the Release Backlog is



Continuously updated by the Product Owner
Features can be added or deleted
Features can be re-prioritized
Sprint Planning


Each sprint is planned by a Sprint Planning Meeting
This meeting has 2 parts

Part 1


Part 2


The team meets with the Product Owner to understand what needs
to be built next.
The team decides how many of the prioritized list of items identified
in Part 1, they will commit to deliver
One of the major differences is that the team decides
how much work can be done in a sprint, not the Product
Owner
Sprint Planning – Part 1





The Team meets with the Product Owner
Reviews high-priority items the Product Owner wants
implemented
Discuss the goals and context for these items so that the
team understands the thinking on the Product Owner
Discusses the definition of “done” so that every knows
what is expected at the end of the Sprint
At the end of part 1, the team understands what the
Product Owner wants
Sprint Planning – Part 2






This part of the meeting focuses on how to implement the
items discussed in part 1
It estimates the amount of time each member of the team has
to devote to the project over the next several weeks
Each of the items is examined in order of priority
The team decides how many of these items they can commit
to deliver
Since the team decides how much they can do, the
commitment actually means something
The Spring Planning meeting will last several hours, but no
more than 8
Multi-Skilled Workers




Scrum makes use of multi-skilled workers
A tester does not just do testing if there is no testing but
there is other work to do
The workers go where the work is and do not sit idle
waiting for a specific type of work
This keeps everyone busy and maximizes the productivity
of the team
Sprint Goals do not Change





Once the team has committed to the goals of the Sprint,
there are no changes to the goals of the Sprint
The Product Owner might want to add new items to the
list for a Sprint or to modify the existing list
The team is protected from these changes which might
make their commitment impossible to meet
In the event that there is a major change in priorities, a
Sprint can be terminated and a new Spring planned
This avoids having the team continue to implement items
which are no longer needed for the project
Daily Scrum
A short daily meeting



Every team member reports







15 minutes or less
At the same time every day
What has been accomplished since the last meeting
What they want to accomplish before the next meeting
Any roadblocks in their way
Notes are taken
The Scrum Master is responsible for clearing
roadblocks
If more discussion is needed, another meeting is
scheduled
Sprint Burndown Chart




The team must track how progress is going
This is done by tracking the amount of time left to
accomplish each goal
This is tracked on a Sprint Burndown Chart
This allows the team to adjust its efforts to meet its
commitments
Sprint Burndown Chart
Estimate at
end of day
Backlog Item
Sprint Task
Volunteer
Estimate
1
2
Level 1 scene
Scene loader
Bob
8
2
0
Scene lighting
Jill
4
2
0
Scene layout
Alex
15
10
5
3
Sprint Review

This is a conversation between the Product Owner and
the Team to





Catch up on the state of the product
Catch up on the state of the team
Find out the thinking of the Product Owner
This includes a demo of what the team built in the Sprint
This is attended by everyone including management
Sprint Retrospective



This meeting is held after the Sprint Review
It seeks to improve the process
It tries to identify



What worked
What could be improved
The team then looks for


Causes of inefficiency
Ways to improve the efficiency of the process
Download