Transcript
Page 1: Iran Professional Scrum Developer Course

IranProfessional Scrum Developer (Java)Course

July 4-6, 2012 - Tehran, Iran

Page 2: Iran Professional Scrum Developer Course

#Scrumdotorg

Manifesto for Agile Software DevelopmentWe are uncovering better ways of developingsoftware by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

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

Kent BeckMike Beedle

Arie van BennekumAlistair Cockburn

Ward CunninghamMartin Fowler

James GrenningJim HighsmithAndrew HuntRon Jeffries

Jon KernBrian Marick

Robert C. MartinSteve Mellor

Ken SchwaberJeff SutherlandDave Thomas

Source: http://agilemanifesto.org/

2

Page 3: Iran Professional Scrum Developer Course

#Scrumdotorg

19992001

20032005

20072009

0 10 20 30 40 50 60 70 80 90

100

Perc

ent a

dopti

on

Waterfall

Agile

3Agile Overtook Waterfall in 2008

Copyright 2010, Scrum.org, All Rights Reserved

Page 4: Iran Professional Scrum Developer Course

#Scrumdotorg

Most Development Organizations Using Agile Use ScrumScrum

IterativeeXtreme Programming (XP)

Test-driven development (TDD)Waterfall

LeanFeature-driven development (FDD)

Agile modelingSix Sigma

Capability Maturity Model Integration (CMMI)Rational Unified Process (RUP)

ISO 9000Spiral

Adaptive Software Development (ASD)Other

Behavior-driven development (BDD)Unified Process (UP)

Agile Data MethodMicrosoft Solutions Framework (MSF) For Agile

Other derivative of the Unified Process (AUP, OUP, etc.)Dynamic Systems Development Method (DSDM)

Crystal

84%47%

38%38%

33%26%

18%17%

10%9%9%

8%6%

5%5%5%5%

4%4%

3%3%

2%

Source: Forrester Research, Inc. - December 2008 Global Agile Company Online Survey

Base: 241 technology industry professionals in a variety of roles, including but not limited to development

“Check all techniques or methodologies that you currently use, wholly or partially.”

4

Page 5: Iran Professional Scrum Developer Course

#Scrumdotorg

5

Scrum

Waterfall

Copyright 2010, Scrum.org, All Rights Reserved

Scrum Reduces the Planning Horizon to One Sprint, Increasing Predictability & Reducing Risk

Plan Analyze Design Code Test Release

Plan

Anal

yze

Des

ign

Code

Test

Rele

ase

Plan Plan

Anal

yze

Des

ign

Code

Test

Rele

ase

Plan

Anal

yze

Des

ign

Code

Test

Rele

ase

Plan

Anal

yze

Des

ign

Code

Test

Rele

ase

Plan for the entire project up-front

Plan a little for the entire project and then a little for each Sprint

Page 6: Iran Professional Scrum Developer Course

#Scrumdotorg

The Scrum Framework Is Simple, Full of Holes 6

Copyright 2010, Scrum.org, All Rights Reserved

Page 7: Iran Professional Scrum Developer Course

#Scrumdotorg

7

Copyright 2010, Scrum.org, All Rights Reserved

You’re Welcome

Page 8: Iran Professional Scrum Developer Course

#Scrumdotorg

In 2002, in response to the Agile Manifesto, Barry Boehm was quoted as saying,

Teams like these will produce great products using Agile.

It also turns out that you can also use Agile with a large team of terrible developers who are dispersed all over the globe, who are using lousy tools and practices.

Teams like these will produce crap.

The point isn’t whether they produce great products or crap. The point is that with Agile, the problem is transparent. Then the question is, what are you going to do about it?

8

Copyright 2010, Scrum.org, All Rights Reserved

“Agile is an excellent approach is you have a small team of highly skilled developers managing themselves in a co-located workplace with great engineering tools and practices.”

But Agile Alone Can’t Make Developers Great

Page 9: Iran Professional Scrum Developer Course

#Scrumdotorg

Martin Fowler Calls Scrum “Flaccid”“There's a mess I've heard about with quite a few projects recently. It works out like this:

• They want to use an agile process, and pick Scrum

• They adopt the Scrum practices, and maybe even the principles

• After a while progress is slow because the code base is a mess

What's happened is (people using Scrum) haven't paid enough attention to the internal quality of their software (…) I've mentioned Scrum because when we see this problem, Scrum seems to be particularly common as the nominative process the team is following (…) because Scrum is process that's centered on project management techniques and deliberately omits any technical practices.

I'm sure that the many Flaccid Scrum projects being run will harm Scrum's reputation, and probably the broader agile reputation as well.”

– Martin Fowler, January 2009

9

Source: http://martinfowler.com/bliki/FlaccidScrum.html

Page 10: Iran Professional Scrum Developer Course

#Scrumdotorg

“By early 2009, (…) more organizations were using Agile processes than waterfall processes (…) However, less than 50% of those using Scrum were developing in incremental iterations, which are the heartbeat of Scrum. (…) One of the biggest challenges of using Scrum has always been the steep learning curve for the developers on the Scrum team.”

– Jeff Sutherland and Ken Schwaber, March 2010

10

Copyright 2010, Scrum.org, All Rights Reserved

Even Ken and Jeff Are Worried!

Page 11: Iran Professional Scrum Developer Course

#Scrumdotorg

The Assignment:

• What work would you have to do to turn the requirements into a “done” increment?• If you were developing a “done”, potentially shippable increment, what would your definition of “done” be? Would it include, for example, refactoring? What else?

The Situation:

• You are a developer at xyz.co, building advanced life-critical products. • Your Scrum team is one of seven teams working on a new release of one of the products.• Your team is going to select requirements (product backlog) to turn into something that is done (no more work remains, potentially shippable) within a two-week iteration.• Each team has all the skills to fully develop the requirements into a “done increment.”

Exercise #1: Five Minutes with Three People Near You

Copyright 2010, Scrum.org, All Rights Reserved

11

Page 12: Iran Professional Scrum Developer Course

#Scrumdotorg

Exercise #2: Five Minutes with Three Different People

The Assignment:

Did your definition of “done” include the following? If not, why not?

Code reviews Regression testing Release notesRefactoring Performance testing InternationalizationIntegration with other team’s work Stability testing User acceptance testingIntegration testing Immunological response testing

Copyright 2010, Scrum.org, All Rights Reserved

12

Page 13: Iran Professional Scrum Developer Course

#Scrumdotorg

13“Stabilization”: When You Do All The “Undone” Work

Plan

Plan

Develop

Plan

Develop

Plan

Develop

Stabilize

Scrum project with complete, integrated “done”:

Plan Plan Develop Plan Develop Plan Develop Stabilize

Scrum project with incomplete or variable “done”:

Copyright 2010, Scrum.org, All Rights Reserved

Undone

Undone

Undone

Page 14: Iran Professional Scrum Developer Course

#Scrumdotorg

• Release 1: Teams produced “done” increments each Sprint, but they were not integrated or integration tested until “code complete.”

• Release 2: Teams produced an increment of integrated, integration-tested code every Sprint.

PlannedRelease Date

Release 1

Release 2

14Better Engineering Practices Support Predictability

Copyright 2010, Scrum.org, All Rights Reserved

Defects

Time

A case study featuring 120 people divided amongst 18 Scrum teams

Page 15: Iran Professional Scrum Developer Course

#Scrumdotorg

15

Copyright 2010, Scrum.org, All Rights Reserved

Page 16: Iran Professional Scrum Developer Course

#Scrumdotorg

“The Scrum community needs to redouble its efforts to ensure that people understand the importance of strong technical practices. Certainly any kind of project review should include examining what kinds of technical practices are present. If you're involved or connected to such a project, make a fuss if the technical side is being neglected.”

Martin Fowler, January 29, 2009

16

Source: http://martinfowler.com/bliki/FlaccidScrum.html

Martin Fowler’s Call to Action

Page 17: Iran Professional Scrum Developer Course

#Scrumdotorg

Who, me?!

17

Copyright 2010, Scrum.org, All Rights Reserved

Page 18: Iran Professional Scrum Developer Course

#Scrumdotorg

What are you going to do about it?

Learn about ScrumGet your teams hands-on Scrum trainingMeasure their understandingSet a bar

Learn about ScrumGet hands-on Scrum trainingMeasure your understandingPass it on

“But I’m a developer, not a manager!”

“But I’m a manager, not a developer!”

Copyright 2010, Scrum.org, All Rights Reserved

18

Page 19: Iran Professional Scrum Developer Course

#Scrumdotorg

Improving the Profession of Software DevelopmentThe Purpose of Scrum.org

Maintain Scrum

Create and maintain bodies of knowledge on

which to train and assess people for the betterment of software development.

Offer Training

Work with experts in various technologies and fields to create a deliver courses that meet the needs of the software

development profession. Continuously monitor

quality.

Assess Knowledge

Offer rigorous assessments to allow

people to evaluate their abilities so they are able

to improve.

19

Copyright 2010, Scrum.org, All Rights Reserved

Page 20: Iran Professional Scrum Developer Course

#Scrumdotorg

Introducing the Professional Scrum Developer Program

• An innovate program for developersfrom he founders of Scrum

• Including a training course, assessment, and certification

• Visit Scrum.org (http://www.scrum.org)

20

Copyright 2010, Scrum.org, All Rights Reserved

Page 21: Iran Professional Scrum Developer Course

#Scrumdotorg

Four Pillars of the Professional Scrum Developer Program

21

Copyright 2010, Scrum.org, All Rights Reserved

Learn how to:

1. How to work together as a cross-functional, self-organizing team,

2. Using modern engineering practices,

3. On a modern technology stack, in a modern development environment,

4. To build a “done” incrementwithin an iteration.

Page 22: Iran Professional Scrum Developer Course

#Scrumdotorg

22

Scrum

Tools

Prac-tices

Copyright 2010, Scrum.org, All Rights Reserved

Page 23: Iran Professional Scrum Developer Course

#Scrumdotorg

Structure of initial Sprint:

• Start

• Initiation

• Form team

• Course overview

• Case study overview

• IDE overview

• Scrum overview

• Develop “product”

• Retrospective

Each Sprint introduces new:

• Engineering practices

• IDE and technology features

• Sample product backlog

Teams iteratively build increments while learning more Scrum, teamwork, engineering techniques, and tooling each Sprint. They are allowed to fail and learn.

23

Copyright 2010, Scrum.org, All Rights Reserved

Course Structure Mirrors the Structure of Scrum

Page 24: Iran Professional Scrum Developer Course

#Scrumdotorg

Sample Question: Development (1 of 5) 24

Copyright 2010, Scrum.org, All Rights Reserved

Page 25: Iran Professional Scrum Developer Course

#Scrumdotorg

25

Copyright 2010, Scrum.org, All Rights Reserved

Sample Question: Development (2 of 5)

Page 26: Iran Professional Scrum Developer Course

#Scrumdotorg

26

Copyright 2010, Scrum.org, All Rights Reserved

Sample Question: Development (3 of 5)

Page 27: Iran Professional Scrum Developer Course

#Scrumdotorg

27

Copyright 2010, Scrum.org, All Rights Reserved

Sample Question: .NET (4 of 5)

Page 28: Iran Professional Scrum Developer Course

#Scrumdotorg

28

Copyright 2010, Scrum.org, All Rights Reserved

Sample Question: .NET (5 of 5)

Page 29: Iran Professional Scrum Developer Course

#Scrumdotorg

29

Copyright 2010, Scrum.org, All Rights Reserved

A Long, Hard, Worthwhile Climb

Page 30: Iran Professional Scrum Developer Course

#Scrumdotorg

Let's Join Iran Professional Scrum Developer Course

Http://www.irscrum.comJuly 4-6, 2012 - Tehran, Iran

Page 31: Iran Professional Scrum Developer Course

Top Related