You are on page 1of 30

Scrum

(An Agile Methodology)

Girraj Prasad Sharma

02/09/08 1
What is Scrum?

Scrum is an agile process that allows us to focus on delivering the
highest business value in the shortest time.
It allows us to rapidly and repeatedly inspect actual working software
(every two weeks to one month).
The business sets the priorities. Our teams self-manage to determine
the best way to deliver the highest priority features.
Every two weeks to a month anyone can see real working software
and decide to release it as is or continue to enhance for another
iteration.
Inventors: - Ken Schwaber, Mike Beedle and Jeff Sutherland in
early 1990s.

02/09/08 2
Agile Approaches

• Scrum
• DSDM (Dynamic Systems Development Method)
• Crystal Methods
• FDD (Feature Driven Development)
• Lean Development
• XP (eXtreme Programming)
• Adaptive Software Development

02/09/08 3
Agile Manifesto says

Top level: Uncovering the better ways of developing software by
doing it and helping others do it.
2nd level:
“Through this work, we have come to value…

Individuals and actions over Processes and tools
Working software over Comprehensive
documentation
Customer collaboration over Contract negotiation
Responding to change over Following plan

02/09/08 4
Scrum follows common ISV (Independent Software Vendor's)
rules:

• Always have a product you can theoretically ship
• Speak a common language on a single development site
• Continuously test the product as you build it .

02/09/08 5
The key principles of the Scrum development process are:
• Small working teams that maximize communication,
minimize overhead, and maximize sharing of tacit, informal
knowledge.
• Adaptability to technical or marketplace (user/customer)
changes to ensure the best possible product is produced.
• Frequent "builds", or construction of executables, that can be
inspected, adjusted, tested, documented, and built on.
• Partitioning of work and team assignments into clean, low
coupling partitions, or packets.
• Constant testing and documentation of a product-as it is built.
• Ability to declare a product "done" whenever required
(because the competition just shipped, because the company
needs the cash, because the user/customer needs the functions,
because that was when it was promised...).

02/09/08 6
Benefits of Scrum

• The key to the success of Scrum is using measurements to
maximize flexibility and risk while maintaining control.
• Most projects try to avoid risk. Yet, risk is an inherent part of
software development. Scrum embraces risk by identifying
and managing risk-so that the best possible product can be
built.
• Applicable to Small Simple and Large Complex Software
Systems
• Productivity gains of 600% have been seen repeatedly in well
executed projects.
• It breaks down large products into manageable chunks - a few
product features that small teams can create in a few months.

02/09/08 7
Benefits of Scrum contd…

• It allows large teams to work like small teams by dividing
work into pieces, proceeding in parallel but synchronizing
continuously, stabilizing in increments, and continuously
finding and fixing problems.
• Careful control mechanisms are used to assure on-time
delivery of a high quality product, while allowing maximum
flexibility of small, tightly coupled development teams. It
requires a well motivated team and good leadership to
implement effectively.
• It facilitates competition based on customer feedback, product
features, and short development times by providing a
mechanism to incorporate customer inputs, set priorities,
complete the most important parts first, and change or cut less
important features.
02/09/08 8
Defined vs. Empirical
• Defined Process:- If a process can be fully defined, with all
things known about it so that it can be designed and run
repeatedly with predictable results, it is known as a defined
process, and it can be subjected to automation.
• Empirical Process:- If all things about a process aren't fully
known -- only what generally happens when you mix these
inputs and what to measure and control to get the desired
output -- these are called empirical processes.
• The primary difference between the defined lower curve
(waterfall, spiral and iterative) and empirical upper curve is
that the empirical approach assumes that the development
process is unpredictable and chaotic. Controls are used to
manage the unpredictability and control the risk. Flexibility,
responsiveness, and reliability are the results.

02/09/08 9
Defined vs. Empirical Success

02/09/08 10
Scrum Main Components

 Product Backlog – A product backlog is a prioritised list of
project requirements with estimated times to turn them into
completed product functionality. Estimates are in days and are
more precise the higher the item is in the Product Backlog
priority. Priority should be assigned based on the items of
most value to the business or that offer the earliest Return on
Investment. This list should evolve, changing as the business
conditions or technology changes.
 Product Burndown- The Product Burndown chart gives an
indication of how quickly the team are "Burning" through the
work and delivering Product Backlog requirements. It is a
useful tool for helping to plan when to release or when to
remove requirements from a release if progress is not rapid
enough.
02/09/08 11
02/09/08 12
Scrum Main Components contd…

 Sprint Backlog- The Sprint backlog is a list of tasks that
defines a Team's work for a Sprint. The list emerges during
Sprint planning. The tasks on the Sprint backlog are what the
Team has defined as being required to turn committed
Product Backlog items into system functionality. Each task
identifies who is responsible for doing the work and the
estimated amount of work remaining on the task on any given
day during the Sprint.
 Sprint Burndown Chart- Chart showing sprint backlog
burndown.
 Impediment List- Anything around a Scrum project that
impedes its productivity and quality is an impediment. It is
the responsibility of the ScrumMaster to remove any
impediment that is stopping the team from producing
production quality code. The impediment list is simply a set
of tasks that the Scrum Master uses to track the impediments
that need to be solved.
02/09/08 13
02/09/08 14
Scrum Main Components contd…

02/09/08 15
Scrum Implementation

Product Owner:- The 'Product Owner' is responsible for the
ROI of the project. So this is the person who is investing or
representing everyone's interest in the project and is
responsible for the project delivering a value greater than
the money that's been sunk into it.
• Defines the features of the product, decides on release
date and content.
• Aggregates input from users, stakeholders and other
interested parties to form a single view of the prioritised
requirements for the system.
• Is responsible for the profitability of the product (ROI)
• Prioritizes features according to market value
• Can change features and priority every 30 days
• Accepts or rejects work results
02/09/08 16
Scrum Implementation contd…

Team Members:- This is a cross-functional group of people
with all the different skills that are needed to turn
requirements into something that is an increment of
potentially shippable functionality. So it often consists of an
analyst, designer, QA person, a coder, a documentation
person, all the skills that are needed to turn the requirements
into something that is done.
• Cross-functional
• Seven plus or minus two members
• Selects the iteration goal and specifies work results
• Has the right to do everything within the boundaries of the
project guidelines to reach the iteration goal
• Organizes itself and its work
• Demos work results to the Product Owner and stakeholders
02/09/08 17
Scrum Implementation contd…

Scrum Master :-The person responsible for the scrum process,
its correct implementation, and the maximization of benefits.
• Improving the lives and productivity of the development team
by facilitating creativity and empowerment and any other way
possible.
• Enabling close cooperation across all roles and functions and
removing barriers
• Shielding the team from external interferences and removing
"Impediments"
• Ensuring that the process is followed
• Inviting appropriate people to the daily scrum, iteration
review and planning meetings

02/09/08 18
Scrum Implementation contd…

• Removing the barriers between development and the customer
so that the customer directly drives the functionality
developed
• Teaching the customer how to maximise ROI and meet their
objectives through Scrum
• Improving the engineering practices and tools so each
increment of functionality is potentially shippable.

02/09/08 19
Scrum Implementation contd…

 Sprint Planning meeting:- A one-day, 8 hours meeting. 4
hours for product backlog by product owner. 4 hours for team
to prepare sprint backlog. Attendees are product owner, scrum
master, team member, partly domain expert etc.
 Daily Scrum Meeting:- Time boxed to 15 mins
• What have you done since the last daily scrum meeting
regarding this project?
• What will you do between now and the next daily scrum
meeting regarding this project?
• What impedes you from performing your work as
effectively as possible (road blocks )?

02/09/08 20
Scrum Implementation contd…

 Sprint:- A time-box of 30 consecutive calendar days during
which a team works to turn the product backlog it has selected
into an increment of potentially shippable product
functionality.
 Sprint Review Meeting:- A meeting time-boxed to 4 hours at
the end of every Sprint at which the team demonstrate to the
product owner and any other interested parties what it was
able to accomplish during the sprint. Only completed product
functionality can be demonstrated.
 Sprint Retrospective Meeting:- A meeting time-boxed to 3
hours and facilitated by the Scrum Master at which the team
discusses the just-concluded Sprint and determines what
could be changed that might make the next Sprint more
enjoyable or productive.
02/09/08 21
02/09/08 22
Scrum Implementation contd…

2. Planning and System Architecture
What differentiates the Scrum Planning and System
Architecture process from other methodologies is:
• Controls are established : backlog (requirements) for this
project is established and prioritized, risks are defined,
objects for implementing backlog are identified, and
problems are stated for implementing the backlog into
the related objects.
• Team assignments : backlog is assigned to teams of 7
developers, maximizing communication bandwidth and
productivity.
• Prioritization: backlog items are prioritized for teams to
work on, starting with infrastructure, then most
important functionality to least important functionality
in Sprints (consisting of multiple sprints).
02/09/08 23
Scrum Implementation contd…
However, compared to other methodologies, this planning
phase is conducted relatively quickly because it assumes
that pragmatic managers and the course of events will
require that any or all of these initial parameters will be
changed during the Sprint phase.
2. Closure
The Closure phase removes the final product (executable
and documentation) and prepares it for shipment.
Finally, Scrum ends with the Closure phase. Closure
consists of finishing system and regression testing,
developing training materials, and completing final
documentation. Approved modifications to the original
planning and systems architecture are lumped into a
category called backlog and assigned to the
02/09/08 24
Scrum Implementation contd…
teams (whose resources may also be changed to reflect the
new objectives) at the beginning of the next Sprint period.

3. Consolidation
The Consolidation Phase cleans up the pressure cooker and
ingredients for the next batch.

02/09/08 25
Scrum Flow

02/09/08 26
How can it help us (TCS)?
• To manage critical and close deadline projects.
• Deliveries can be on scrum principle (small working
deliveries frequently)
• Where requirements are changing frequently, all are not clear
at the beginning.
• Where all system (complex, too big, changing need, very new
system) design can’t be designed at the beginning. They can
be evolved.
• Better productivity, low risk easy to sell idea to customer.
Very helpful and lucrative to customer.
• Customer preference in choosing such vendor and team
convenience in working with customer.

02/09/08 27
References

• Controlled Chaos : Living on the Edge
Ken Schwaber virman@aol.com Copyright 1996
Advanced Development Methods, Inc. A published version of
this article appears in Ed Yourdon's American Programmer
• URL http://www.controlchaos.com
• http://www.agilealliance.org
• Agile Software Development, Principles, patterns and
practices. By Robert C. Martin
• “Best Practices in Scrum Project Management and XP Agile
Software Development” by Object Mentor Inc.
• Agile Project Management with Scrum by Ken Schwaber

02/09/08 28
• “Best Practices in Scrum Project Management and XP Agile
Software Development” by Linda Levine, Software
Engineering Institute.
• http://scrumforteamsystem.com/ProcessGuidance/Scrum/Scru
m.html

02/09/08 29
Thanks!

02/09/08 30