SCRUM -an agile software development methodology
Scott MikneusAnthonia Akinde
SE470 – Spring 2003
Introduction to SCRUM
Scrum is an Agile Software Development Process.
Scrum is not an acronym name taken from the sport of Rugby,
where everyone in the team pack acts together to move the ball down the field
analogy to development is the team works together to successfully develop quality software
Introduction to SCRUM (cont.)
Jeff Sutherland (a guru) states:
“Scrum assumes that the systems development process is an unpredictable, complicated process that can only be roughly described as an overall progression.”
“Scrum is an enhancement of the commonly used iterative/incremental object-oriented development cycle”
Historical Background
Jeff Sutherland first person to apply concepts of Scrum
to software development in 1993 A variation of Sashimi
Japanese designed an all at once approach after their bad experiences with Waterfall
The initial use of the word "Scrum" was used in 1987 to describe time-boxed, self-organizing, teams in product development
Historical Background (cont.)
Jeff Sutherland and Ken Schwaber collaborated to define the process
through 1995. In 1996 wrote the seminal article for Scrum Software Development process
jointly used and improved Scrum at a variety of software development organizations from 1996 until now
now promoting the idea of certifying ScrumMasters
Description Overview
Scrum is named after the game of Rugby in which a group is responsible for picking up the ball and moving it forward.
It is an iterative, incremental process for developing any product or managing any work.
Scrum focuses on the entire organization for its implementation to be a success.
Description Overview (cont.)
Scrum principles include: Quality work: empowers everyone involved
to be feel good about their job. Assume Simplicity: Scrum is a way to detect
and cause removal of anything that gets in the way of development.
Embracing Change: Team based approach to development where requirements are rapidly changing.
Incremental changes: Scrum makes this possible using sprints where a team is able to deliver a product (iteration) deliverable within 30 days.
Scrum Methodology
Description Components
Roles: Scrum Master Developer QA Documentation member Project manager
Description Components (cont.)
Processes: Pregame Planning and Architecture: - Identify project - Prioritizing functional
requirements - Identify resources available - Establishing the target
environment
Description Components (cont.)
Processes: Game Sprints:- lasts for 30 days - Analysis, Design, Develop - Testing (this happens throughout
sprint) - Review - Adjust Postgame - Closure (this includes delivering a
functioning deliverable, sign-off, start next sprint.
Description Components (cont.)
Values: Flexible deliverable Flexible schedule Small teams Frequent reviews Collaboration Team Empowerment Adaptability
Scrum Process Flow
Process Comparison
Description Advantages Extreme value - reduces risk in ROI Supports business value driven S/W Dev. Control of very complex process of product
development Allows Developers to focus on delivering a
usable functionality to the client Generates productivity improvements by
implementing a framework that empowers teams and thrives on change
Insists that the Client prioritize required functionality.
Ability to respond to the unpredictable in any project requirements.
Description Advantages (cont.)
Flexibility Knowledge sharing between
Developers Collective ownership OO technology
Description Disadvantages
Scrum is not effective for small projects
Expensive to implement Training is required
Usage Guidelines – When to use requirements are not clearly defined. work is delivered in increments work is measured and controlled productivity is maximized by applying
known technologies organizations are willing to do anything
and everything for a project to succeed project is important and no one has
confidence that any existing approach will work.
control and management is Empirical
Usage Guidelines – When to avoid
there isn’t a flexible environment corporate culture isn’t conducive
to this of development environment
teams of developers are more than 10. Six is ideal.
Cost is a major issue No management support No formal training available
Usage Guidelines – Implementation Need for an extra member just in case
an active member is absent, the documentation member substitutes
Location: Although not impossible, its hard to implement Scrum when all team members are not in the same location
Non-Supportive management Cost Lack of Customer Involvement Collective ownership Isolation of sprint team
Scrum Success Factor
Scrum and CMM CMM advocates Repeated Defined problems,
solutions, Developers and organizational environment.
Scrum says that this is not entirely possible because developers change from one project to another.
Scrum assumes that the development process is always empirical and not defined.
Scrum says uncertainties are impossible to measure, therefore, looks beyond the repeatable /defined approach
Marketplace Analysis – Key players/Gurus
Jeff Sutherland one of the co-developers of the Scrum
process. Jeff invented many of the first ideas and practices for Scrum. Owner of the website: http://jeffsutherland.com.
Ken Schwaber one of the co-developers of the Scrum
process. Co-author of the book Agile software Development with Scrum.
Mike Beedle owner of e-Architects Inc., a technical and
management consulting company that specializes in adaptive software development. Co-author of the book Agile software Development with Scrum.
Marketplace Analysis – Organizations Agile Alliance
website www.agilealliance.org states: “The AgileAlliance is a non-profit organization dedicated to promoting the concepts of agile software development, and helping organizations adopt those concepts.”
Object Mentor, Inc. Website www.objectmentor.com: “The Object Mentor
mission is to provide the technical and business leadership that helps our customers get their projects done”
ADM Advanced Development Methodologies a 15 year-old process development company that
develops processes, provides process consulting to its customers, and develops tools to support the use of these processes
Marketplace Analysis – Products
controlchaos.com offers certification to become
ScrumMaster Website states: Attendees will be
thoroughly trained in the Scrum methodology and software.
Upon successful completion, each attendee will become a Certified ScrumMaster and receive an individual license to the methodology and software.
Marketplace Analysis – Products (cont.)
controlchaos.com cost for a session is $500 The description of their product
“Scrum is a suite of products for Agile software development. Scrum’s iterative, incremental practices allow development teams to rapidly deliver functionality to customers.”
Market Data / Forecasts Advanced Development Methods
(ADM) involved in the certification of
ScrumMasters and they have certified 50 ScrumMasters to date.
Specific statistics could not be found on how quickly Scrum is being adapted
Some companies that have implemented Scrum successfully: Borland, Canon, Easel Corporation,
Elementrix Technologies, Fujitsu, Honda, and Nike Securities in Chicago
Conclusion
Scrum offers: a high degree of flexibility promises a high probability of success
Scrum benefits: an anticipating culture increases the sense of urgency promotes the sharing of knowledge encourages dense communications facilitates honesty among developers
Recommendations
We recommend Scrum as an adaptive and flexible development methodology that creates a culture of communication, knowledge sharing and teamwork within an organization.
References Schwaber, Ken and Mike Beedle. Agile software
Development with Scrum. Prentice Hall, 2002. Sutherland, Jeff. “Inventing and Reinventing Scrum in
five companies”, 21 September 2001 www.controlchaos.com/scrumwp.htm www.agilescrum.com/ www.mountaingoatsoftare.com/scrum/ www.objectmentor.com agilealliance.com/articles/articles/InventingScrum.pdf jeffsutherland.com/
The End.
Thank you
Questions or comments