opensource - méthodes et outils
DESCRIPTION
TRANSCRIPT
DéveloppementsDécentralisés
Méthodes et Outils
Eric Fesler
CTO Audaxis
Friday 24 September 2010
Challenges ??Friday 24 September 2010
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
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
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
Friday 24 September 2010
MéthodesFriday 24 September 2010
Méthodes
Outils
Friday 24 September 2010
Les Méthodes
Friday 24 September 2010
L’Architecture du code
1 2 3
Friday 24 September 2010
L’Architecture du code
SOA
1 2 3
Friday 24 September 2010
L’Architecture du code
SOA Modularité
1 2 3
Friday 24 September 2010
L’Architecture du code
SOA Modularité
Développement parcontrats
1 2 3
Friday 24 September 2010
L’Architecture du code
SOA Modularité
Développement parcontrats Indépendance
1 2 3
Friday 24 September 2010
Code ownership
1 2 3
Friday 24 September 2010
Qui est le gatekeeper ?
Friday 24 September 2010
Un responsable par module
Module Manager
Friday 24 September 2010
Gestion des versions
1 2 3
Friday 24 September 2010
Gestion des versions
Gestion des dépendances
1 2 3
Friday 24 September 2010
Gestion des versions
Version spécifiques
Gestion des dépendances
1 2 3
Friday 24 September 2010
Les Outils
Friday 24 September 2010
Communiquer
“Qui fait quoi ?”
“Pourquoi avoir choisi telle option ?”
“Comment interagissent les différents modules”
1 2 3
Friday 24 September 2010
Communiquer dans l’instant
Chat / IRC
Friday 24 September 2010
Partager l’information
Mailing List Peu de structureBeaucoup (trop) d’informationsArchives
Friday 24 September 2010
Organiser le travail
Suivi de demandesPas uniquement les bugsRoadmap
Outil de suivi
Friday 24 September 2010
Documenter
Wiki
Gérer par la communauté
Friday 24 September 2010
Documenter
Wiki
Analystes
Gérer par la communauté
Friday 24 September 2010
Documenter
Wiki
Analystes
Développeurs
Gérer par la communauté
Friday 24 September 2010
Documenter
Wiki
Analystes
Développeurs
Architectes
Gérer par la communauté
Friday 24 September 2010
Documenter
Wiki
Analystes
Développeurs
Architectes
Utilisateurs
Gérer par la communauté
Friday 24 September 2010
Animer
Blog du projet
AnnoncesPartager les idéesFêter les releases
Friday 24 September 2010
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
Friday 24 September 2010
Gestion des versions avec Subversion
Friday 24 September 2010
Gestion des versions avec Subversion
trunk
Friday 24 September 2010
Gestion des versions avec Subversion
trunk
Friday 24 September 2010
Gestion des versions avec Subversion
trunk
freeze
Friday 24 September 2010
Gestion des versions avec Subversion
trunk
Branch 1.01.0-alpha
freeze
Friday 24 September 2010
1.0-beta1.0
Gestion des versions avec Subversion
trunk
Branch 1.01.0-alpha
freeze
Friday 24 September 2010
1.0-beta1.0
Gestion des versions avec Subversion
trunk
Branch 1.01.0-alpha
freeze
merge
Friday 24 September 2010
1.0-beta1.0
Gestion des versions avec Subversion
trunk
Branch 1.01.0-alpha
freeze freeze
merge
Friday 24 September 2010
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
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
Il faut un gatekeeper par branche !!
Friday 24 September 2010
Développements Spécifiques
Plugins
Nouveau module - extension
Nouvelle branche ...
Friday 24 September 2010
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
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
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
OUI !!
Friday 24 September 2010
NON !!
Friday 24 September 2010
Qualité
Intégration Continue
1 2 3
Friday 24 September 2010
Intégration Continue
=...
Friday 24 September 2010
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
Intégration Continue
≠Compilation Continue
Friday 24 September 2010
Pourquoi ???
Friday 24 September 2010
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
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
Pour Démarrer
Friday 24 September 2010
Pour Démarrer
Partage des sources
Friday 24 September 2010
Pour Démarrer
Partage des sources
Outil de suivi de bugs/tâches
Friday 24 September 2010
En résumé
GestionFriday 24 September 2010
En résumé
Gestion
Communication
Friday 24 September 2010
En résumé
Gestion
Communication
Gestion
Friday 24 September 2010
En résumé
Gestion
Communication
GestionContrôle
Friday 24 September 2010
Merci !
Friday 24 September 2010
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