agile software development what is agile? and how are we implementing agile?

9
Agile Software Development What is Agile? And How are we implementing Agile?

Upload: sybil-barber

Post on 27-Dec-2015

216 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Agile Software Development What is Agile? And How are we implementing Agile?

Agile Software Development

What is Agile?

And

How are we implementing Agile?

Page 2: Agile Software Development What is Agile? And How are we implementing Agile?

Origins of Agile

• Agile Software Development is heavily influenced by Lean

• Lean was born as part of the industrial renaissance of Japanese manufacturing after the second world war.

• During that period Dr. Demming went to Japan and kept talking about his ideas around management and quality. His message to the Japanese corporate world was:– Improving quality will reduce expenses while increasing

productivity and market share.

Page 3: Agile Software Development What is Agile? And How are we implementing Agile?

Origins of Agile

Page 4: Agile Software Development What is Agile? And How are we implementing Agile?

Origins of Agile

• Major events:– 1986: Takeuchi and Nonaka’s “The New New

Product Development Game”– 1993: First Scrum team created– 1995: Scrum formalized by Jeff Sutherland

and Ken Schwaber– 1996: First XP team created– 1999: First XP book– 2001: Agile Manifesto and creation of the

Agile Alliance

Page 5: Agile Software Development What is Agile? And How are we implementing Agile?

Agile Manifesto

www.agilemanifesto.orgWe 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 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 on the right, we value the items on the left more.

Page 6: Agile Software Development What is Agile? And How are we implementing Agile?

Agile Today

• Lean Software Development Principles:– Eliminate Waste– Create Knowledge– Build Quality In– Defer Commitment– Deliver Fast– Respect People– Optimize the whole

• Framework to implement Lean Software Development:– Scrum and XP– Jeff Sutherland: “I have never seen XP scale without Scrum and

I have never seen a Scrum team become hyper-productive without adopting the XP practices.”

Page 7: Agile Software Development What is Agile? And How are we implementing Agile?

Scrum

• Scrum has 3 roles– Product Owner– Scrum Master– The Team

Page 8: Agile Software Development What is Agile? And How are we implementing Agile?

Extreme Programming• Values:

– Communication– Simplicity– Feedback– Courage– Respect

• Practices:– Pair Programming– Planning Game– Iteration Planning– Test Driven Development– Whole Team– Continuous Integration– Coding Standards– Collective Code Ownership– Simple Design– System Metaphor– Sustainable Pace– Refactoring– On-site Customer– Open Workspace– Acceptance Tests (Customer

Tests)

Page 9: Agile Software Development What is Agile? And How are we implementing Agile?

Ultimate Software

• We are using Scrum with 2 week sprints• We are using several of the Agile/XP practices

– TDD– Continuous Integration– Pairing (Pair Programming and Promiscuous Pairing)

• We are educating our teams on the Lean principles and some of the Lean practices and techniques– Value Stream Mapping– 5 Whys (root cause analysis)– Demming Cycle (Plan-Do-Check-Act)