97
The Agile and Open Source Way Learn the Way of Delivering High Quality Software with Multiple Distributed Teams

The Agile and Open Source Way (AgileTour Brussels)

Embed Size (px)

DESCRIPTION

Slides from AgileTour Brussels presentation on September 27th, 2013. More information on AgileTour Brussels: http://atbru.be/ The Agile and Open Source Way is the book for everyone who wants to scale agile in multiple distributed teams. This book will also help you to collaborate upstream with Open Source projects. Whether you want to improve interactions with other teams inside or outside your company, or just interested in scaling from more than one team, you will find in this publication the information you need, illustrated by a real case. http://www.the-agile-and-open-source-way.com/

Citation preview

Page 1: The Agile and Open Source Way (AgileTour Brussels)

The Agile and Open Source Way

Learn the Way of Delivering High Quality Softwarewith Multiple Distributed Teams

Page 2: The Agile and Open Source Way (AgileTour Brussels)

The Agile and Open Source Way

Learn the Way of Delivering High Quality Softwarewith Multiple Distributed Teams

Page 3: The Agile and Open Source Way (AgileTour Brussels)

Agile?

Page 4: The Agile and Open Source Way (AgileTour Brussels)

Agile manifesto: http://agilemanifesto.org

Agile

• Continuous improvement

• Individuals and interactions

• Working software

• Customer collaboration

• Responding to change

Page 5: The Agile and Open Source Way (AgileTour Brussels)

Open Source?

Page 6: The Agile and Open Source Way (AgileTour Brussels)

http://en.wikipedia.org/wiki/Open_source

Open Source

• source code is published

• made available to the public

• enabling anyone to copy, modify and redistribute the source code without paying royalties or fees

Page 7: The Agile and Open Source Way (AgileTour Brussels)

Page 8: The Agile and Open Source Way (AgileTour Brussels)

=

Page 9: The Agile and Open Source Way (AgileTour Brussels)

?

Page 10: The Agile and Open Source Way (AgileTour Brussels)

Who?

Page 11: The Agile and Open Source Way (AgileTour Brussels)

Alexis Monville#Agile_OS_Way@alexismonville

Page 12: The Agile and Open Source Way (AgileTour Brussels)

Alexis Monville#Agile_OS_Way@alexismonville

@ayeba

Page 13: The Agile and Open Source Way (AgileTour Brussels)

Alexis Monville#Agile_OS_Way@alexismonville

@ayeba@enovance

Page 14: The Agile and Open Source Way (AgileTour Brussels)

#atbru#Agile_OS_Way@alexismonville

@ayeba@enovance

Page 15: The Agile and Open Source Way (AgileTour Brussels)

Open Source = Agile ?

Page 16: The Agile and Open Source Way (AgileTour Brussels)

Open Source = Agile ?

• Open Source shares the same values:

• Individuals and interactions

• Working software

• Customer collaboration

• Responding to change

Page 17: The Agile and Open Source Way (AgileTour Brussels)

Principles behind...• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

• Business people and developers must work together daily throughout the project.

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

• Working software is the primary measure of progress.

• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

• Continuous attention to technical excellence and good design enhances agility.

• Simplicity--the art of maximizing the amount of work not done--is essential.

• The best architectures, requirements, and designs emerge from self-organizing teams.

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior

Page 18: The Agile and Open Source Way (AgileTour Brussels)

Yes!• Our highest priority is to satisfy the customer through early and continuous delivery of

valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

• Business people and developers must work together daily throughout the project.

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

• Working software is the primary measure of progress.

• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

• Continuous attention to technical excellence and good design enhances agility.

• Simplicity--the art of maximizing the amount of work not done--is essential.

• The best architectures, requirements, and designs emerge from self-organizing teams.

Page 19: The Agile and Open Source Way (AgileTour Brussels)

But...

• Not the same principles and practices:

• No day to day face to face conversation

• No collocated teams

• Individuals and several teams

• Distributed

• Business People, Customer...

Page 20: The Agile and Open Source Way (AgileTour Brussels)

mix

Page 21: The Agile and Open Source Way (AgileTour Brussels)

Agile andOpen Source

Page 22: The Agile and Open Source Way (AgileTour Brussels)

it’s a AND

• Be Agile

• with Open Source Software

Page 23: The Agile and Open Source Way (AgileTour Brussels)

Virtual Gemba Walk

Page 24: The Agile and Open Source Way (AgileTour Brussels)
Page 25: The Agile and Open Source Way (AgileTour Brussels)

The OpenStack Open Source Cloud Mission:to produce the ubiquitous Open Source Cloud Computing

platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and

massively scalable.

Page 26: The Agile and Open Source Way (AgileTour Brussels)

Computing Networking Storing

Page 27: The Agile and Open Source Way (AgileTour Brussels)

http://www.openstack.org

Cloud Operating System

Page 28: The Agile and Open Source Way (AgileTour Brussels)

T

Page 31: The Agile and Open Source Way (AgileTour Brussels)

and a lot more...

Page 32: The Agile and Open Source Way (AgileTour Brussels)

12120+ people130 Countries

Page 33: The Agile and Open Source Way (AgileTour Brussels)

http://www.stackalytics.com/

Page 34: The Agile and Open Source Way (AgileTour Brussels)

What DoesOpenness Mean?

Page 35: The Agile and Open Source Way (AgileTour Brussels)
Page 36: The Agile and Open Source Way (AgileTour Brussels)
Page 37: The Agile and Open Source Way (AgileTour Brussels)

Release Cycle

Page 38: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/ReleaseCycle

Release Cycle

• A coordinated 6-month release cycle with frequent development milestones.

• The Release Cycle is made of four major stages:

• Planning

• Implementation

• Pre-Release

• Release

Page 39: The Agile and Open Source Way (AgileTour Brussels)

Free?

Page 40: The Agile and Open Source Way (AgileTour Brussels)

Release Cycle

• Note: Each core project is free to choose a different release cycle contents, as long as they submit a version for the common OpenStack release at the end of the cycle. However, unless they have a good reason to differ, they are strongly encouraged to follow the common plan that is described in this document.

Page 41: The Agile and Open Source Way (AgileTour Brussels)

Agile?

Page 42: The Agile and Open Source Way (AgileTour Brussels)

Release Cycle

• Note: Nothing prevents you to do a particular task outside of the designated stages. You can design during the QA stage. You can write new code on release week. The release cycle just gives you a general idea of what's the general team focus, it is not meant to restrict you in any way.

Page 43: The Agile and Open Source Way (AgileTour Brussels)

Austin

Page 44: The Agile and Open Source Way (AgileTour Brussels)

Bexar

Page 45: The Agile and Open Source Way (AgileTour Brussels)

Cactus

Page 46: The Agile and Open Source Way (AgileTour Brussels)

Diablo

Page 47: The Agile and Open Source Way (AgileTour Brussels)

Essex

Page 48: The Agile and Open Source Way (AgileTour Brussels)

Folsom

Page 49: The Agile and Open Source Way (AgileTour Brussels)

Grizzly

Page 50: The Agile and Open Source Way (AgileTour Brussels)

Havana

Page 51: The Agile and Open Source Way (AgileTour Brussels)

I...

Page 52: The Agile and Open Source Way (AgileTour Brussels)

Icehouse

Page 53: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/Releases

Release Cycle

F G H

planning

OpenstackDesignSummit

G-1 G-2 G-3

RC planning

H-1 H-2 H-3

RC

OpenstackDesignSummit

6 mois 6 mois

Page 54: The Agile and Open Source Way (AgileTour Brussels)

Planning

Page 55: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/ReleaseCycle

Planning

• 4 weeks to:

• Design

• Discuss

• Target

Page 56: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/BasicDesignTenets

Tenets

Page 57: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/Blueprints

Blueprints

Page 59: The Agile and Open Source Way (AgileTour Brussels)

https://bugs.launchpad.net/ceilometer

Bugs

Page 60: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/Governance/TechnicalCommittee

PTLs• Project Technical Leads.

• A PTL is the elected technical leader of a given OpenStack core project.

• At the end of the planning stage the PTLs triage the submitted blueprints and sets Priority for them.

• The blueprints with a priority above Low will be tracked by Release Management throughout the cycle.

Page 61: The Agile and Open Source Way (AgileTour Brussels)

photo of the summit

OpenStack Summit April 2013 - Portland, Oregon. Licensed under Creative Commons Attribution - ShareAlike - photographer Aaron Hockley - hockleyphoto.com

Page 62: The Agile and Open Source Way (AgileTour Brussels)

photo of the summit

OpenStack Summit April 2013 - Portland, Oregon. Licensed under Creative Commons Attribution - ShareAlike - photographer Aaron Hockley - hockleyphoto.com

Page 63: The Agile and Open Source Way (AgileTour Brussels)

photo of the summit

OpenStack Summit April 2013 - Portland, Oregon. Licensed under Creative Commons Attribution - ShareAlike - photographer Aaron Hockley - hockleyphoto.com

Page 64: The Agile and Open Source Way (AgileTour Brussels)

http://www.openstack.org/summit/portland-2013/session-videos/

Summit

• Every 6 months the Design Summit gather users and developers

• The Summit closes the Planning phase

Page 65: The Agile and Open Source Way (AgileTour Brussels)

Implementation

Page 66: The Agile and Open Source Way (AgileTour Brussels)

800+

Page 67: The Agile and Open Source Way (AgileTour Brussels)
Page 69: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/IRC

Communication

Page 70: The Agile and Open Source Way (AgileTour Brussels)
Page 71: The Agile and Open Source Way (AgileTour Brussels)

2 +1, 0 -1

Page 72: The Agile and Open Source Way (AgileTour Brussels)
Page 73: The Agile and Open Source Way (AgileTour Brussels)

Core Devs

• You need a +1 from a Core Developer

• Core Developers are co-opted among the contributors

Page 74: The Agile and Open Source Way (AgileTour Brussels)
Page 75: The Agile and Open Source Way (AgileTour Brussels)
Page 76: The Agile and Open Source Way (AgileTour Brussels)
Page 77: The Agile and Open Source Way (AgileTour Brussels)

• Teams are distributed between Paris and Montreal Offices, plus people working remotely from home (somewhere...)

• They used the Openstack collaborative tools (launchpad, wiki, mailing lists, irc channels...)

• Openstack continuous integration tools : Gerrit, Jenkins, Zuul...

Page 78: The Agile and Open Source Way (AgileTour Brussels)

• Daily Meeting?

• There’s an irc bot for that!

• Review, Retrospective, Planning

• Videoconference, shared screen, shared documents...

Page 79: The Agile and Open Source Way (AgileTour Brussels)

Pre-release

Page 80: The Agile and Open Source Way (AgileTour Brussels)

https://wiki.openstack.org/wiki/ReleaseCycle

Pre-release

• Release Candidates dance :)

• RC1

• stop adding features

• concentrate on bug fixes

• If there’s critical release issues... Go for a RC respin...

Page 81: The Agile and Open Source Way (AgileTour Brussels)

Release

Page 82: The Agile and Open Source Way (AgileTour Brussels)
Page 83: The Agile and Open Source Way (AgileTour Brussels)

In Your Company?

Page 84: The Agile and Open Source Way (AgileTour Brussels)

Onboarding

Page 85: The Agile and Open Source Way (AgileTour Brussels)

Onboarding

• How to...

• Ask...

• Wiki...

• IRC, mailing list...

• Buddy...

• ...

Page 86: The Agile and Open Source Way (AgileTour Brussels)

Design

Page 87: The Agile and Open Source Way (AgileTour Brussels)

Design Process

• Design Tenets

• Blueprints

• PTLs

• Devs

• Summit

• ...

Page 88: The Agile and Open Source Way (AgileTour Brussels)

Code

Page 89: The Agile and Open Source Way (AgileTour Brussels)

Coding Process• Coding guidelines

• Version control

• Reviewing process

• Automated Testing

• Automated Deployment

• Tools...

• PTLs

• Core Dev

• Dev

Page 90: The Agile and Open Source Way (AgileTour Brussels)

Release

Page 91: The Agile and Open Source Way (AgileTour Brussels)

Release Cycle

photo tambour

Page 92: The Agile and Open Source Way (AgileTour Brussels)

People

Page 93: The Agile and Open Source Way (AgileTour Brussels)

People

• Humble

• Collaborative

• Learners

• Free...

Page 94: The Agile and Open Source Way (AgileTour Brussels)

Questions

Page 95: The Agile and Open Source Way (AgileTour Brussels)
Page 96: The Agile and Open Source Way (AgileTour Brussels)

Thank you!

Page 97: The Agile and Open Source Way (AgileTour Brussels)

Alexis Monville#Agile_OS_Way@alexismonville

stay tuned: http://www.the-agile-and-open-source-way.com/