Upload
alexis-monville
View
961
Download
1
Embed Size (px)
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.
Citation preview
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