Agile tour bordeaux 1500 développeurs dans mon équipe

Post on 15-Jun-2015

961 views 1 download

description

Résumé : En apprendre plus sur le développement de produit en mode agile au contact d'un grand projet open source ! Description : J’apprends l’agile depuis déjà longtemps en pratiquant et en partageant les valeurs, principes et pratiques avec des clients et d’autres pratiquants. Et c’est peut-être depuis que j’interviens au contact d’Openstack, un logiciel libre d’infonuagique (ou si je parle en presque français “a cloud open source software”) que j’ai appris le plus. Ce que j’ai appris ? J’ai appris que l’on pouvait créer un produit avec une équipe de 1500 développeurs répartis sur tous les continents, que l’on pouvait avoir la certitude de délivrer les nouvelles versions à date fixe tous les 6 mois, que le processus de revue de code apportait beaucoup plus de bénéfices que ce que j’imaginais au départ, que la gestion des branches de développement pouvait être plus simple et plus efficace. J’ai aussi appris que la socialisation, l’accueil des nouveaux arrivants, le maintien du lien était une chose très importante… En vous invitant à participer à cette session, je souhaite partager ces apprentissages pour que vous puissiez vous en inspirer dans vos organisations.

Transcript of Agile tour bordeaux 1500 développeurs dans mon équipe

1500développeurs dans mon équipe

10ème release

● 1419 contributeurs○ incluant des représentants de 133 entreprises

● 342 nouvelles fonctionnalités○ 3219 correction de bug○ 500000 lignes de documentation modifiée○ un nouveau guide de conception d’architecture

Taille

Taille

https://www.openhub.net/p/openstack

Rythme

Rythme Release

6monthscycle

Design Summit

Releasecandidates

Milestone 1

Milestone 2

Milestone 3

FeatureFreeze

https://wiki.openstack.org/wiki/Kilo_Release_Schedule

6 months

4 weeks

1 week

1 commit

Modularité

Programmes

● 15 programmes○ composants techniques○ librairies partagées○ infrastructures○ organisation

https://wiki.openstack.org/wiki/Programs

Distribué

Equipes

Des équipes pour les projets officiels

Des équipes sur des sujets d’intérêts communs comme l’internationalisation, l’animation de la communauté, la définition des Personas

https://wiki.openstack.org/wiki/Teams

Socialisation

Design

Blueprints

Suivre les fonctionnalités● Priorité● Statut d’implémentation

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

Program Technical Lead

● Elu pour la durée d’une version (6 mois)● Facilite le fonctionnement de l’équipe pour

un programme donné● Représente l’équipe auprès des autres

programmes

https://wiki.openstack.org/wiki/PTL_Guide

Implémentation

Revue de code

https://review.openstack.org/#/q/status:open,n,z

Core Developer

● 2 “+2” pour voir son commit mergé

● Cooptation● Lazy consensus

https://wiki.openstack.org/wiki/Governance/Approved/CoreDevProcess

“Gating” et automatisation

https://wiki.openstack.org/wiki/Teams

Version

Versions

https://wiki.openstack.org/wiki/Branch_Model

Asynchrone

Asynchrone

● conversations○ audio ou video-conférences○ irc (logs)○ mailing-list○ commentaires

■ des blueprints■ des commits

Invitation

Les programmes respectent● Openness

○ Each project should respect the 4 opens: open source, open design, open development, open community● Transparency

○ Each project should meet in public and provide all information on roadmap and delivery status● Commonality

○ All projects should strive to use the same standards, in code, libraries used, file formats, documentation etc.

● Integration○ Each project should use as many of the others' features as possible and provide the requested integration

points● Respect of release deadlines

○ Each project should coordinate with the release manager to ensure a smooth coordinated release every 6 months

● Facilitation of downstream distribution○ Each project should help packaging efforts to facilitate downstream distribution

https://wiki.openstack.org/wiki/Programs

Principes1. Scalability and elasticity are our main goals2. Any feature that limits our main goals must be optional3. Everything should be asynchronous

a. If you can’t do something asynchronous see #24. All required components must be horizontaly scalable5. Always use shared nothing architecture or sharding

a. If you can’t Share nothing/shard, see #26. Distribute everything

a. Especially logic. Move logic to where state naturally exists7. Accept eventual consistency and use it where it is appropriate8. Test everything

a. We require tests with submitted code (We will help you if you need it)

Transparence

Transparence

● Toutes les informations sont publiques● Réunions sur IRC

○ log des réunions et décisions accessibles à tous○ toutes les réunions, y compris celle du “board of

directors”

https://wiki.openstack.org/wiki/Meetings

Gouvernance

Fondation

● Board of Directors● Technical Committee● User Committee

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

En résumé

En résumé

● Vision● Principes● Rythme● Branche● Revue● Socialisation● Invitation

Merci !

Alexis MonvilleChief Agility Officer

@alexismonville

1500 développeursdans mon équipe

Alexis Monville