an introduction to agile & scrum

40
AN INTRODUCTION TO Agile & Scrum Faculty of Entrepreneurship of University of Tehran Mahdi Taghizadeh http://mahdi.ws @mahdi

Upload: mahdi-taghizadeh

Post on 29-Nov-2014

212 views

Category:

Software


4 download

DESCRIPTION

Slides of my talk about Agile & Scrum at the Faculy of Entrepreneurship of University of Tehran.

TRANSCRIPT

Page 1: An introduction to Agile & Scrum

A N I N T R O D U C T I O N T O

Agile & Scrum

Faculty of Entrepreneurship of University of Tehran

Mahdi Taghizadeh

http://mahdi.ws

@mahdi

Page 2: An introduction to Agile & Scrum

What is Agile?

The Agile movement proposes alternatives

to traditional project management. Agile

approaches are typically used in software

development to help businesses respond to

unpredictability.

Page 3: An introduction to Agile & Scrum

Agile vs Waterfall

Page 4: An introduction to Agile & Scrum

Agile Benefits

• For Businesses

– Quicker ROI

– Lower Total Cost

– Respond to Change

– Reduce Risk

– Faster Time to Market

– Stakeholder Relations

Page 5: An introduction to Agile & Scrum

Agile Benefits

• For Developers

– Teaming

– A Sense of Done

– Quality Work

– Rhythm

– Visible Progress

– Feedback

Page 6: An introduction to Agile & Scrum

Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools Working software over comprehensive documentation

Customer collaboration over contract negotiation Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Kent Beck ~ Mike Beedle ~ Arie van Bennekum ~ Alistair Cockburn ~ Ward Cunningham ~ Martin

Fowler ~ James Grenning ~ Jim Highsmith ~ Andrew Hunt ~ Ron Jeffries ~ Jon Kern ~ Brian Marick

~ Robert C. Martin ~ Steve Mellor ~ Ken Schwaber ~ Jeff Sutherland ~ Dave Thomas

Page 7: An introduction to Agile & Scrum

Agile Principals

• Most agile methods break tasks into small

increments with minimal planning and do

not directly involve long-term planning.

• Efficient and face-to-face communication

• Very short feedback loop and adaptation

cycle

• Quality focus

Page 8: An introduction to Agile & Scrum

What is Scrum?

Scrum is the most popular way of

introducing Agility due to its simplicity and

flexibility.

It’s a framework within which people can

address complex adaptive problems, while

productively and creatively delivering

products of the highest possible value.

Page 9: An introduction to Agile & Scrum

Scrum Theory

Scrum is founded on empirical process

control theory, or empiricism. Empiricism

asserts that knowledge comes from

experience and making decisions based on

what is known. Scrum employs an iterative,

incremental approach to optimize

predictability and control risk.

Page 10: An introduction to Agile & Scrum

What is Scrum?

Scrum was first defined as "a flexible, holistic

product development strategy where a

development team works as a unit to reach a

common goal" as opposed to a "traditional,

sequential approach" in 1986 by Hirotaka

Takeuchi and Ikujiro Nonaka in the "New

New Product Development Game“ in Japan.

Page 11: An introduction to Agile & Scrum

The Scrum Framework Units

• Team

• Roles

• Events

• Artifacts

• Rules

Page 12: An introduction to Agile & Scrum

The Scrum Team

This team is

Self-organizing

and

Cross-functional

Page 13: An introduction to Agile & Scrum

The Scrum Team: Product Owner

• The Product Owner is responsible for maximizing the value of the product and the work of the Development Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.

• The Product Owner is the sole person responsible for managing the Product Backlog.

Page 14: An introduction to Agile & Scrum

The Scrum Team: Development Team

• The Development Team consists of

professionals who do the work of

delivering a potentially releasable

Increment of “Done” product at the end of

each Sprint. Only members of the

Development Team create the Increment.

• Optimal team size is between 3 and 6.

Page 15: An introduction to Agile & Scrum

The Scrum Team: Scrum Master

• The Scrum Master is 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.

• The Scrum Master is a servant-leader for

the Scrum Team.

Page 16: An introduction to Agile & Scrum

The Scrum Team: Scrum Master

• The Scrum Master serves the Product

Owner, the Development Team and the

Organization.

• The Scrum Master is a coach to the team.

Page 17: An introduction to Agile & Scrum

Scrum Events

• The Sprint

• Spring Planning

• Daily Scrum

• Sprint Review

• Sprint Retrospective

Page 18: An introduction to Agile & Scrum

Scrum Events: The 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.

Page 19: An introduction to Agile & Scrum

Scrum Events: The Sprint

A Sprint can be cancelled before the Sprint

time-box is over. Only the Product Owner

has the authority to cancel the Sprint.

Page 20: An introduction to Agile & Scrum

Scrum Events: Sprint Planning

• The work to be performed in the Sprint is

planned at the Sprint Planning. This plan is

created by the collaborative work of the

entire Scrum Team.

• Sprint Planning is time-boxed to a

maximum of eight hours for a one-month

Sprint.

Page 21: An introduction to Agile & Scrum

Scrum Events: Sprint Planning

• Sprint Planning answers the following:

– What can be delivered in the Increment

resulting from the upcoming Sprint?

– How will the work needed to deliver the

Increment be achieved?

Page 22: An introduction to Agile & Scrum

What is the Sprint Goal?

The Sprint Goal is an objective set for the

Sprint that can be met through the

implementation of Product Backlog.

Page 23: An introduction to Agile & Scrum

Scrum Events: 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. During the meeting, the Development Team members explain:

• What did I do yesterday that helped the Development Team meet the Sprint Goal?

• What will I do today to help the Development Team meet the Sprint Goal?

• Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal?

Page 24: An introduction to Agile & Scrum

Scrum Events: Sprint Review

• A Sprint Review is held at the end of the

Sprint to inspect the Increment and adapt

the Product Backlog if needed.

• It’s between the Scrum Team and

stakeholders.

• This is a four-hour time-boxed meeting for

one-month Sprints.

Page 25: An introduction to Agile & Scrum

Scrum Events: 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.

• This is a three-hour time-boxed meeting for one-month Sprints.

Page 26: An introduction to Agile & Scrum

Scrum Events: Sprint Retrospective

The purpose of the Sprint Retrospective is to:

• Inspect how the last Sprint went with regards

to people, relationships, process, and tools;

• Identify and order the major items that went

well and potential improvements; and,

• Create a plan for implementing

improvements to the way the Scrum Team

does its work.

Page 27: An introduction to Agile & Scrum

Scrum Artifacts

• Product Backlog

• Sprint Backlog

• Increment

Page 28: An introduction to Agile & Scrum

Scrum Artifacts: Product Backlog

• The 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.

• A Product Backlog is never complete.

• The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases.

• There are several “User Story” in a backlog.

Page 29: An introduction to Agile & Scrum

Scrum Artifacts: Product Backlog

User Story

As a [user role]

I want to be able to [functionality]

So that [value to be achieved]

Page 30: An introduction to Agile & Scrum

Scrum Artifacts: 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.

• As new work is required, the Development

Team adds it to the Sprint Backlog.

Page 31: An introduction to Agile & Scrum

Scrum Artifacts: Sprint Backlog

Monitoring Progress Toward a Goal

Page 32: An introduction to Agile & Scrum

Scrum Artifacts: Increment

• The Increment is the sum of all the Product

Backlog items completed during a Sprint

and the value of the increments of all

previous Sprints.

Page 33: An introduction to Agile & Scrum

Scrum Artifacts: DoD

Definition of “Done”

When a Product Backlog item or an

Increment is described as “Done”, everyone

must understand what “Done” means.

Page 34: An introduction to Agile & Scrum
Page 35: An introduction to Agile & Scrum

Scrum Certifications

• Scrum.org

– PSF, PSM, PSD, PSPO

• ScrumAlliance.org

– CSM, CSPO, CSD, CSP, CSC, CST

Page 36: An introduction to Agile & Scrum
Page 37: An introduction to Agile & Scrum

Scrum Certifications

• It’s popular!

– Scrum Master’s average salary in the U.S. is

$85,000!

• It’s world-wide

– I got my PSM in Iran and I’m listed on

Scrum.org (http://goo.gl/Xmm2La) ;-)

Page 38: An introduction to Agile & Scrum

References

• http://agilemanifesto.org/

• http://agilemethodology.org/

• http://scrum.org

• http://en.wikipedia.org/wiki/Agile_software_development

• http://en.wikipedia.org/wiki/Scrum_(software_development)

Page 39: An introduction to Agile & Scrum

Questions?!

Page 40: An introduction to Agile & Scrum

Thank you!

Il faut être absolument moderne.

J. N. Arthur Rimbaud

(1854 – 1891)

Mahdi Taghizadeh

http://mahdi.ws

@mahdi