Monday 22 July 2013

What is Scrum? (A Small Introduction)

SCRUM is a ordered formation of players in which the forwards of each team push against up against each other with arms interlocked and heads.
           SCRUM is a loose set of guidelines that govern the development process of a product, from its design stages to its completion. It aims to cure some common failures of the typical development process, such as:
  • Chaos due to changing requirements - the real or perceived requirements of a project usually change drastically from the time the product is designed to when it is released. Under most product development methods, all design is done at the beginning of the project, and then no changes are allowed for or made when the requirements change.
  • Unrealistic estimates of time, cost, and quality of the product - the project management and the developers tend to underestimate how much time and resources a project will take, and how much functionality can be produced within those constraints. In actuality, this usually cannot be accurately predicted at the beginning of the development cycle.
  • Developers are forced to lie about how the project is progressing - When management underestimates the time and cost needed to reach a certain level of quality, the developers must either lie about how much progress has been made on the product, or face the indignation of the management.
SCRUM has been successfully employed by hundreds of different companies in many different fields, with outstanding results.
You will find many similarities between SCRUM and Extreme Programming, but one of the major differences is that SCRUM is a fairly general set of guidelines that govern the development process of a product. For this reason, it is often used as a "wrapper" for other methodologies, such as XP or CMM (Capability Maturity Model) - that is, it is used to guide the overall process of development when using these other methodologies.

SCRUM VALUES

Scrum values generally are derived from the Agile values of Software Development.
  1. Individuals and interactions over processes and tools - processes and tools are helpful, but they will do you no good if the team does not communicate and collaborate in a constructive fashion.
  2. Working software over comprehensive documentation - documentation is important, but what's most important is to have working software.
  3. Customer collaboration over contract negotiation - you are not just looking to get a contract and get money that way - you are solving the customer's problem.
  4. Responding to change over following a plan - if the requirements or perceived requirements changed, so should the plans and design.
HOW DOES SCRUM WORK?

Building complex products for customers is an inherently difficult task. Scrum provides structure to allow teams to deal with that difficulty. However, the fundamental process is incredibly simple, and at its core is governed by 3 primary roles. 
  1. Product Owners determine what needs to be built in the next 30 days or less.
  2. Development Teams build what is needed in 30 days (or less), and then demonstrate what they have built. Based on this demonstration, the Product Owner determines what to build next.
  3. Scrum Masters ensure this process happens as smoothly as possible, and continually help improve the process, the team and the product being created.
While this is an incredibly simplified view of how Scrum works, it captures the essence of this highly productive approach for team collaboration and product development.
THE SCRUM GROUP
The SCRUM team mostly consists of 2 groups - the interested team, which consists of people who are interested, but who will not be doing the work, and the working team - people who are interested, and will be doing the work on the project.
A team typically has 6-9 working members, although SCRUM has been successfully used with more members. If there are more members than manageable, the project should be broken into multiple sub-projects, each focusing on one, self-contained area of work (one for QA, one for documentation, etc.). There should be people to act as bridges - that is, to attend the meetings of more than one SCRUM team, and act as a communication bridge between the teams. Members of teams that are closely related/involved with each other should sit in on the other teams' SCRUM meetings.

The Scrum Master

The team's leader is called the Scrum Master. He should be one of the members of the working team - that is, he should be one of the people who is actually doing the work on the project. The SCRUM Master measures progress, removes impediments, and leads the team meetings.

THE SCRUM TERMS

Daily Scrum
The Daily Scrum is a 15-minute time-boxed event for the Development Team to synchronize activities and create a plan for the next 24 hours. This is done by inspecting the work since the last Daily Scrum and forecasting the work that could be done before the next one.

Defintion of Done
Shared understanding of what it means for work to be complete, to ensure transparency. 
Development Team
The Development Team are the professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. Development Teams are structured and empowered by the organization to organize and manage their own work.
Increment
The Increment is the sum of all the Product Backlog items completed during a Sprint and all previous Sprints.
Product BacklogThe Product Backlog is an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product. The Product Owner is responsible for the Product Backlog, including its content, availability, and ordering.
Product Owner
The Product Owner is the person responsible for maximizing the value of the product, the work of the Development Team, and management of the Product Backlog.

Scrum
Scrum is a framework structured to support complex product development. Scrum consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage.

Scrum Master
The Scrum Master is a servant-leader for the Scrum Team responsible for ensuring Scrum is understood and enacted. Scrum Masters do this by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules.

Sprint
The heart of Scrum is a Sprint, a time-box of one month or less during which a “Done”, useable, and potentially releasable product Increment is created. Sprints have consistent durations throughout a development effort. A new Sprint starts immediately after the conclusion of the previous Sprint.

Sprint Backlog
The Sprint Backlog is the set of Product Backlog items selected for the Sprint plus a plan for delivering the product Increment and realizing the Sprint Goal. The Sprint Backlog is a forecast by the Development Team about what functionality will be in the next Increment and the work needed to deliver that functionality.
Sprint Goal
The Sprint Goal gives the Development Team some flexibility regarding the functionality implemented within the Sprint.

Sprint Planning Meeting
The work to be performed in the Sprint is planned at the Sprint Planning Meeting. This plan is created by the collaborative work of the entire Scrum Team.

Sprint Retrospective
The Sprint Retrospective is an opportunity for the Scrum Team to inspect itself and create a plan for improvements to be enacted during the next Sprint. The Sprint Retrospective occurs after the Sprint Review and prior to the next Sprint Planning Meeting. This is a three-hour time-boxed meeting for one-month Sprints. Proportionately less time is allocated for shorter Sprints.

Sprint Review
A Sprint Review is held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed. During the Sprint Review, the Scrum Team and stakeholders collaborate about what was done in the Sprint. Based on that and any changes to the Product Backlog during the Sprint, attendees collaborate on the next things that could be done. This is an informal meeting, and the presentation of the Increment is intended to elicit feedback and foster collaboration.

The Scrum Guide
Scrum is a framework for developing and sustaining complex products. The Scrum Guide contains the definition of Scrum. This definition consists of Scrum’s roles, events, artifacts, and the rules that bind them together. Ken Schwaber and Jeff Sutherland developed Scrum; the Scrum Guide is written and provided by them. Together, they stand behind the Scrum Guide.
The Scrum Team
The Scrum Team consists of a Product Owner, the Development Team, and a Scrum Master. Scrum Teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team.

RESOURCES:

Sites

1.ControlChaos

SCRUM tutorial, XP with SCRUM, case studies, SCRUM certification
http://www.controlchaos.com/ 

2.SCRUM Alliance

Part of the Agile Alliance site family, and has a large article base on SCRUM.
http://www.scrumalliance.org/ 

3.Mountain Goat Software's SCRUM section

A good introduction to SCRUM.
http://www.mountaingoatsoftware.com/scrum/ 

Articles

1.The SCRUM Development Process

A detailed and definitive paper on SCRUM.
http://www.jeffsutherland.com/oopsla/schwapub.pdf 

2.Introducing an Agile Process

Covers the issues involved with introducing an agile methodology to a development team or company.
http://www.mountaingoatsoftware.com/articles/IntroducingAnAgileProcess.pdf 

3.Comparing RUP, XP, and SCRUM: Mixing a Process Cocktail for Your Team

Compares different agile methodologies, and helps you determine what methodology or mix of methodologies is right for your team.
http://www.netobjectives.com/events/download/rup_xp_scrum_pc_030326_ppt.pdf 

Books

1.Agile Software Development With SCRUM

A close look at SCRUM, with numerous case studies. A must-read for managers and developers alike.

2.Agile Software Development Ecosystems

A look at various Agile software development systems, including SCRUM. Numerous case studies, and interviews with some of the leaders in the Agile development arena.

SCRUM In Practice

1.The Upside of Downsizing

A case study on a situation where SCRUM helped to make a development project a success even though the development company was downsizing.
http://www.mountaingoatsoftware.com/articles/UpsideOfDownsizing.pdf 

2.Does Agility Work?

3.Agile Meetings

This is an article on agile meetings, with a large section on how agile meetings helped real-life teams to prevent problems by communicating with each other.
http://www.intp.us/risingl1/articles/STQE.pdf 

Tools

1.XProgramming Unit Testing Downloads Section

Links to downloads of unit testing software for most common languages.
http://www.xprogramming.com/software.htm 

Hi Friends, I Collected this little information from different resources and placed here the important ones. Its helpful for me, hope you will also find this helpful. I will definitely write more about Scrum after digging dipper. And Yes, Don't forget to give comments. 

No comments: