opensource - méthodes et outils

66
Développements Décentralisés Méthodes et Outils Eric Fesler CTO Audaxis Friday 24 September 2010

Upload: eric-fesler

Post on 22-Dec-2014

628 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Opensource - Méthodes et outils

DéveloppementsDécentralisés

Méthodes et Outils

Eric Fesler

CTO Audaxis

Friday 24 September 2010

Page 2: Opensource - Méthodes et outils

Challenges ??Friday 24 September 2010

Page 3: Opensource - Méthodes et outils

Vision globale du projet

“Quel est le périmètre de la version 1.2 ?”

“La fonctionnalité X doit-elle faire partie du core ou faut-il en faire un nouveau module ?”

“Dans quelle branche du SVN se trouve la fonctionnalité Y ?”

1 2 3

Friday 24 September 2010

Page 4: Opensource - Méthodes et outils

Cohésion de l’équipe

“Les modifications dans MaClasse sont incompatibles avec les miennes. Que faire ?”

“Quand migre-t-on de la librairie Acme-2.0 à Acme-2.5 ?”

“Ce point là a-t-il bien été corrigé dans le trunk ?”

1 2 3

Friday 24 September 2010

Page 5: Opensource - Méthodes et outils

Qualité du code

“On a plusieurs classes qui font ‘presque’ la même chose ?”

“La manière d’indenter le code est différente”

“A-t-on vraiment besoin d’une dépendance vis à vis de la librairie X ?”

1 2 3

Friday 24 September 2010

Page 6: Opensource - Méthodes et outils

Friday 24 September 2010

Page 7: Opensource - Méthodes et outils

MéthodesFriday 24 September 2010

Page 8: Opensource - Méthodes et outils

Méthodes

Outils

Friday 24 September 2010

Page 9: Opensource - Méthodes et outils

Les Méthodes

Friday 24 September 2010

Page 10: Opensource - Méthodes et outils

L’Architecture du code

1 2 3

Friday 24 September 2010

Page 11: Opensource - Méthodes et outils

L’Architecture du code

SOA

1 2 3

Friday 24 September 2010

Page 12: Opensource - Méthodes et outils

L’Architecture du code

SOA Modularité

1 2 3

Friday 24 September 2010

Page 13: Opensource - Méthodes et outils

L’Architecture du code

SOA Modularité

Développement parcontrats

1 2 3

Friday 24 September 2010

Page 14: Opensource - Méthodes et outils

L’Architecture du code

SOA Modularité

Développement parcontrats Indépendance

1 2 3

Friday 24 September 2010

Page 15: Opensource - Méthodes et outils

Code ownership

1 2 3

Friday 24 September 2010

Page 16: Opensource - Méthodes et outils

Qui est le gatekeeper ?

Friday 24 September 2010

Page 17: Opensource - Méthodes et outils

Un responsable par module

Module Manager

Friday 24 September 2010

Page 18: Opensource - Méthodes et outils

Gestion des versions

1 2 3

Friday 24 September 2010

Page 19: Opensource - Méthodes et outils

Gestion des versions

Gestion des dépendances

1 2 3

Friday 24 September 2010

Page 20: Opensource - Méthodes et outils

Gestion des versions

Version spécifiques

Gestion des dépendances

1 2 3

Friday 24 September 2010

Page 21: Opensource - Méthodes et outils

Les Outils

Friday 24 September 2010

Page 22: Opensource - Méthodes et outils

Communiquer

“Qui fait quoi ?”

“Pourquoi avoir choisi telle option ?”

“Comment interagissent les différents modules”

1 2 3

Friday 24 September 2010

Page 23: Opensource - Méthodes et outils

Communiquer dans l’instant

Chat / IRC

Friday 24 September 2010

Page 24: Opensource - Méthodes et outils

Partager l’information

Mailing List Peu de structureBeaucoup (trop) d’informationsArchives

Friday 24 September 2010

Page 25: Opensource - Méthodes et outils

Organiser le travail

Suivi de demandesPas uniquement les bugsRoadmap

Outil de suivi

Friday 24 September 2010

Page 26: Opensource - Méthodes et outils

Documenter

Wiki

Gérer par la communauté

Friday 24 September 2010

Page 27: Opensource - Méthodes et outils

Documenter

Wiki

Analystes

Gérer par la communauté

Friday 24 September 2010

Page 28: Opensource - Méthodes et outils

Documenter

Wiki

Analystes

Développeurs

Gérer par la communauté

Friday 24 September 2010

Page 29: Opensource - Méthodes et outils

Documenter

Wiki

Analystes

Développeurs

Architectes

Gérer par la communauté

Friday 24 September 2010

Page 30: Opensource - Méthodes et outils

Documenter

Wiki

Analystes

Développeurs

Architectes

Utilisateurs

Gérer par la communauté

Friday 24 September 2010

Page 31: Opensource - Méthodes et outils

Animer

Blog du projet

AnnoncesPartager les idéesFêter les releases

Friday 24 September 2010

Page 32: Opensource - Méthodes et outils

Partager les sources

“Où se trouvent les sources de la version 1.x ?”

“Avant le patch de mercredi, ça fonctionnait parfaitement”

“Quelle est la différence entre la version installée à Paris et celle installée à Singapour ?”

1 2 3

Friday 24 September 2010

Page 33: Opensource - Méthodes et outils

Friday 24 September 2010

Page 34: Opensource - Méthodes et outils

Gestion des versions avec Subversion

Friday 24 September 2010

Page 35: Opensource - Méthodes et outils

Gestion des versions avec Subversion

trunk

Friday 24 September 2010

Page 36: Opensource - Méthodes et outils

Gestion des versions avec Subversion

trunk

Friday 24 September 2010

Page 37: Opensource - Méthodes et outils

Gestion des versions avec Subversion

trunk

freeze

Friday 24 September 2010

Page 38: Opensource - Méthodes et outils

Gestion des versions avec Subversion

trunk

Branch 1.01.0-alpha

freeze

Friday 24 September 2010

Page 39: Opensource - Méthodes et outils

1.0-beta1.0

Gestion des versions avec Subversion

trunk

Branch 1.01.0-alpha

freeze

Friday 24 September 2010

Page 40: Opensource - Méthodes et outils

1.0-beta1.0

Gestion des versions avec Subversion

trunk

Branch 1.01.0-alpha

freeze

merge

Friday 24 September 2010

Page 41: Opensource - Méthodes et outils

1.0-beta1.0

Gestion des versions avec Subversion

trunk

Branch 1.01.0-alpha

freeze freeze

merge

Friday 24 September 2010

Page 42: Opensource - Méthodes et outils

1.0-beta1.0

Gestion des versions avec Subversion

trunk

Branch 1.0

Branch 1.1

1.0-alpha

1.1-alpha

freeze freeze

merge

Friday 24 September 2010

Page 43: Opensource - Méthodes et outils

1.0.11.0-beta

1.0

1.1-beta

Gestion des versions avec Subversion

trunk

Branch 1.0

Branch 1.1

1.0-alpha

1.1-alpha

freeze freeze

merge

Friday 24 September 2010

Page 44: Opensource - Méthodes et outils

Il faut un gatekeeper par branche !!

Friday 24 September 2010

Page 45: Opensource - Méthodes et outils

Développements Spécifiques

Plugins

Nouveau module - extension

Nouvelle branche ...

Friday 24 September 2010

Page 46: Opensource - Méthodes et outils

Développements Spécifiques

trunk

Branch 1.0

Branch 1.1

1.0-alpha1.0-beta

1.0 1.0.1

1.1-alpha1.1-beta

Friday 24 September 2010

Page 47: Opensource - Méthodes et outils

Spécifique HK

Développements Spécifiques

trunk

Branch 1.0

Branch 1.1

1.0-alpha1.0-beta

1.0 1.0.1

1.1-alpha1.1-beta

Friday 24 September 2010

Page 48: Opensource - Méthodes et outils

Spécifique HK

Développements Spécifiques

trunk

Branch 1.0

Branch 1.1

1.0-alpha1.0-beta

1.0 1.0.1

1.1-alpha1.1-beta

merge

Friday 24 September 2010

Page 49: Opensource - Méthodes et outils

OUI !!

Friday 24 September 2010

Page 50: Opensource - Méthodes et outils

NON !!

Friday 24 September 2010

Page 51: Opensource - Méthodes et outils

Qualité

Intégration Continue

1 2 3

Friday 24 September 2010

Page 52: Opensource - Méthodes et outils

Intégration Continue

=...

Friday 24 September 2010

Page 53: Opensource - Méthodes et outils

Une méthodologie de développement ...

... des contributions journalières des développeurs ...

... contrôlées par des processus de build automatisés

Friday 24 September 2010

Page 54: Opensource - Méthodes et outils

Intégration Continue

≠Compilation Continue

Friday 24 September 2010

Page 55: Opensource - Méthodes et outils

Pourquoi ???

Friday 24 September 2010

Page 56: Opensource - Méthodes et outils

Source: http://www.agitar.com/solutions/why_unit_testing.html

Mieux vaut détecter et solutionner les bugs pendant le

développement

Friday 24 September 2010

Page 57: Opensource - Méthodes et outils

Les étapes

Compilation

Exécution des tests

Intégration avec les bases de données

Vérification du code

Déploiement automatique

Génération de la documentation

Friday 24 September 2010

Page 58: Opensource - Méthodes et outils

Pour Démarrer

Friday 24 September 2010

Page 59: Opensource - Méthodes et outils

Pour Démarrer

Partage des sources

Friday 24 September 2010

Page 60: Opensource - Méthodes et outils

Pour Démarrer

Partage des sources

Outil de suivi de bugs/tâches

Friday 24 September 2010

Page 61: Opensource - Méthodes et outils

En résumé

GestionFriday 24 September 2010

Page 62: Opensource - Méthodes et outils

En résumé

Gestion

Communication

Friday 24 September 2010

Page 63: Opensource - Méthodes et outils

En résumé

Gestion

Communication

Gestion

Friday 24 September 2010

Page 64: Opensource - Méthodes et outils

En résumé

Gestion

Communication

GestionContrôle

Friday 24 September 2010

Page 65: Opensource - Méthodes et outils

Merci !

Friday 24 September 2010

Page 66: Opensource - Méthodes et outils

Crédits Photos

• http://www.flickr.com/photos/mckaysavage/497617014/

• http://www.flickr.com/photos/bre/552152780/

• http://www.flickr.com/photos/aburt/2698122345/

• http://www.flickr.com/photos/ronsho/455488392/

• http://www.flickr.com/photos/41188800@N00/433218618/

Friday 24 September 2010