Scrum is an iterative, incremental framework for project management and agile software development.
Although the word is not an acronym, some companies implementing the process have been known to spell
it with capital letters as SCRUM. This may be due to one of Ken Schwaber's early papers, which capitalized SCRUM in the title.
Although Scrum was intended for management of software development projects, it can be used to run software maintenance teams,
or as a general project/program management approach.
Scrum originally was formalized for software development projects, but works well for any complex, innovative scope of work.
The possibilities are endless. The Scrum framework is deceptively simple.
© 2009 - from Wikipedia, the free enciclopedia.
During each "sprint", typically a two to four week period (with the length being decided by the team),
the team creates a potentially shippable product increment (for example, working and tested software).
The set of features that go into a sprint come from the product "backlog", which is a prioritized set of high level requirements
of work to be done. Which backlog items go into the sprint is determined during the sprint planning meeting.
During this meeting, the Product Owner informs the team of the items in the product backlog that he or she wants completed.
The team then determines how much of this they can commit to complete during the next sprint.
During a sprint, no one is allowed to change the sprint backlog, which means that the requirements are frozen for that sprint.
After a sprint is completed, the team demonstrates how to use the software.
The framework and terminology are simple in concept yet difficult to implement.
Successful Scrum teams embrace the values upon which Scrum is based (paraphrased from the Agile Manifesto):
That is, while there is value in the items on the right, the items on the left matter more.
True success with the Scrum framework comes from teams and organizations who understand these values and the principles
that form the foundation of all agile processes.
- Individuals and interactions over processes and tools
- Completed functionality over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Scrum is a process skeleton which contains sets of artifacts, practices and predefined roles.
The main artifacts in Scrum are:
- the Product backlog, is a high-level document for the entire project.
It contains backlog items: broad descriptions of all required features, wish-list items, etc. prioritized by business value.
- the Sprint backlog, is a document containing information about how the team is going to
implement the features for the upcoming sprint.
- the Burn-down chart, is a publicly displayed chart showing remaining work in the sprint backlog.
Updated every day, it gives a simple view of the sprint progress.
The main practices (meetings) in Scrum are:
- the Daily Scrum, each day during the Sprint, a project status meeting occurs.
This is called a "daily scrum", or "the daily standup".
- the Scrum of Scrums or Post-scrum, allows clusters of teams to discuss their work,
focusing especially on areas of overlap and integration.
- the Sprint Planning meeting, is attended by the Product Owner,
Scrum Master, the entire Scrum Team,
and any interested and appropriate management or customer representatives.
- the Sprint Review meeting, presents the completed work to the stakeholders (a.k.a. "the demo").
Incomplete work cannot be demonstrated.
- the Sprint Retrospective meeting, enables continuous process improvements.
Main article: The Chicken and the Pig
A number of roles are defined in Scrum. All roles fall into two distinct groups-pigs and chickens-based on the nature of their
involvement in the development process. These groups get their names from a joke about a pig and a chicken opening a restaurant:
"A pig and a chicken are walking down a road. The chicken looks at the pig and says, "Hey, why don't we open a restaurant?"
The pig looks back at the chicken and says, "Good idea, what do you want to call it?"
The chicken thinks about it and says, "Why don't we call it 'Ham and Eggs'?" "I don't think so," says the pig,
"I'd be committed, but you'd only be involved."
So the "pigs" are committed to building software regularly and frequently, while everyone else is a "chicken" - interested
in the project but really indifferent because if it fails they're not the pigs-that is, they weren't the ones that committed to doing it.
The needs, desires, ideas and influences of the chicken roles are taken into account, but are not in any way allowed to affect,
distort or get in the way of the actual Scrum project.
The main roles in Scrum are:
- the ScrumMaster, who maintains the processes (typically in lieu of a project manager).
- the Product Owner, who represents the stakeholders and the business.
- the Team, a cross-functional group of about 7 people who do the actual analysis, design, implementation, testing, etc.
- the Scrum Team, consists of Product Owner, ScrumMaster and Team.
We would like to suggest you the following list of usefull resources on the topic: