Agile methods

Bas Bossink

Agenda

Introduction: Goals

Inventory

What is agile?

What is agile?

Wild Cats Magazine

What is agile?

What is agile?

Agile software development
a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.

Why Agile?

Agile Manifesto

Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change
over following a plan

Declaration of interdependence

Declaration of interdependence

See http://alistair.cockburn.us/The+declaration+of+interdependence+for+modern+management+or+DOI

Declaration of interdependence

We increase return on investment
by making continuous flow of value our focus.

Declaration of interdependence

We deliver reliable results
by engaging customers in frequent interactions and shared ownership.

Declaration of interdependence

We expect uncertainty
and manage for it through iterations, anticipation, and adaptation.

Declaration of interdependence

We unleash creativity and innovation
by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.

Declaration of interdependence

We boost performance
through group accountability for results and shared responsibility for team effectiveness.

Declaration of interdependence

We improve effectiveness and reliability
through situationally specific strategies, processes and practices.

History

A small overview of the history of a few agile methods
See http://www.seismicaudiospeakers.com/10-Channel-Mixer-p/backbone10.htm for more audio gear
See http://www.iwallscreen.com/ for more wallpapers

Extreme Programming

Values

Extreme Programming

Source: http://xprogramming.com
Source: http://commons.wikimedia.org/wiki/File:ST_vs_Gloucester_-_Match_-_23.JPG © Pierre Selim

Scrum

Scrum

Roles

Scrum

Source: http://commons.wikimedia.org/wiki/File:Scrum_process.svg © Lakeworks

Scrum

Source: http://en.wikipedia.org/wiki/File:Scrum_task_board.jpg © Logan Ingalls
Source: http://cszto.blogspot.nl/2013/05/strong-is-new-skinny-enough-is-enough.html

Lean Software Development

Lean
: not having much fat on the body : physically thin, strong, and healthy
: containing little or no fat
Source: http://www.merriam-webster.com/dictionary/lean

Lean Software Development

Lean Software Development

Seven Principles

  1. Eliminate waste
  2. Amplify learning
  3. Decide as late as possible
  4. Deliver as fast as possible
  5. Empower the team
  6. Build integrity in
  7. See the whole

Lean Software Development

Seven Wastes

  1. Partially done work
  2. Extra Processes
  3. Extra Features
  4. Task Switching
  5. Waiting
  6. Motion
  7. Defects

Lean Software Development

Amplify Learning

Lean Software Development

Seven Practices

  1. Seeing waste
  2. Value stream mapping
  3. Set-based development
  4. Pull systems
  5. Queing theory
  6. Motivation
  7. Measurements
Source: http://www.justdesktopwallpapers.com/images/celebrities/jenniferellison/jennifer_ellison_whip_1280x1024.jpg © http://www.justdesktopwallpapers.com

Kanban

Kanban

Four principles

  1. Start with what you do now (don't change anything)
  2. Agree to pursue incremental, evolutionary change
  3. Respect the current process, roles, responsibilities & titles
  4. Leadership at all levels

Kanban

Six Practices

  1. Visualise
  2. Limit WIP (work-in-progress)
  3. Manage flow
  4. Make policies explicit
  5. Implement feedback loops
  6. Improve collaboratively, evolve experimentally

Closing

Inventory

?