at2008 grenoble hugonnet sanlaville public
DESCRIPTION
Orange Labs - Retour d'expérience Agile Tour 2008TRANSCRIPT
Mise en place d'outils d'ingMise en place d'outils d'ingMise en place d'outils d'ingMise en place d'outils d'ingéééénierie logicielle pour nierie logicielle pour nierie logicielle pour nierie logicielle pour industrialiser le dindustrialiser le dindustrialiser le dindustrialiser le dééééveloppement Agile chez Orange veloppement Agile chez Orange veloppement Agile chez Orange veloppement Agile chez Orange LabsLabsLabsLabs
Emmanuel Hugonnet
Architecture J2EE
Silverpeas
+33-(0)476248658
Rémy Sanlaville
Expert Senior en Ingénierie Logicielle
Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 2
Introduction
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 3
Pourquoi des outils d’ingénierie logicielle à Orange Labs
Services
2006
1982
Infrastructure
2001
1994
1988
Professionnalisation du développement pour
offrir des services reconnus et de qualité�
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 4
Outils d’ingénierie logicielle et agilité ?
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 5
Outils d’ingénierie logicielle et agilité ?
L’humain est au premier plan mais il a besoin d’outils pour réaliser
au mieux ses tâches.
Les outils ne sont qu’un moyen et pas un but
Les outils pour une démarche d’amélioration continue
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 6
Build
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 7
Build - Définition
Le build peut aller de la compilation
(incrémentale) à la génération d’un package en
passant par la génération de fichiers de source,
le lancement de tests (unitaires, d’intégration…),
l’analyse du code source, la génération d’un site
web et de rapports…
D’une certaine manière, le build englobe
l’ensemble des actions souhaitées prenant en
entrée des fichiers sources pour produire un
résultat souhaité.
Généralement, nous attendons d’un outil de build qu’il puisse automatiser
et optimiser ces actions.
Pas de définition précise…
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 8
Build - Problématique
Reproductibilité dans le temps et dans l’espace (sans modification du source…)
Les builds aux temps t0, t1, ti… doivent être identiques
Par exemple, il faut pouvoir à tout moment
reproduire le build d’une version taggée
Les builds sur les postes p0, p1, pj, pic… doivent être identiques
Par exemple, il faut pouvoir reproduire le build sur
l’ensemble des postes de l’équipe, du serveur
d’intégration continue…
Il faut aussi définir ce que veut dire identique…
dans le tempst1 tit0
p0
dans l’espace
p1
pj
pic
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 9
Build - Problématique
Cela paraît simple mais dans les faits c’est une problématique compliquée et nous ne
disposons toujours pas de solution qui permette d’assurer cela…
QuQuQuQu’’’’estestestest----ce qui influence le ce qui influence le ce qui influence le ce qui influence le buildbuildbuildbuild ????
Reproductibilité dans le temps et dans l’espace (sans modification du source…)
artefactsartefactsartefactsartefactsbuildbuildbuildbuild
DDDDéééépendancespendancespendancespendances
Outils de Outils de Outils de Outils de buildbuildbuildbuild
options de compilation options de compilation options de compilation options de compilation
compilateurcompilateurcompilateurcompilateur…………
Plateforme dPlateforme dPlateforme dPlateforme d’’’’exexexexéééécutioncutioncutioncution
OSOSOSOS
Variables Variables Variables Variables
dddd’’’’environnementenvironnementenvironnementenvironnement
Fichiers sourcesFichiers sourcesFichiers sourcesFichiers sources
code sourcecode sourcecode sourcecode source
ressourcesressourcesressourcesressources
Facteurs humainsFacteurs humainsFacteurs humainsFacteurs humains
Ressources externesRessources externesRessources externesRessources externes
xmlxmlxmlxml schschschschéééémamamama…………
wsdlwsdlwsdlwsdl
RepositoriesRepositoriesRepositoriesRepositories mavenmavenmavenmaven
Base de donnBase de donnBase de donnBase de donnééééeseseses…………
…………
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 10
Build – Pourquoi Maven 2 ?
Conventions plutôt que configurationConventions plutôt que configurationConventions plutôt que configurationConventions plutôt que configurationStandardisation du système de fichiers
Facilite le passage d’un projet à un autre,
la communication…
Les fichiers sources du projet
Les fichiers générés du projet
Le fichier de description du projet (POM)
code source java
tests unitaires
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 11
Build – Pourquoi Maven 2 ?
Conventions plutôt que configurationConventions plutôt que configurationConventions plutôt que configurationConventions plutôt que configurationStandardisation du système de fichiers
Standardisation du cycle de vieFacilite le passage d’un projet à un autre,
la communication…
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 12
Build – Pourquoi Maven 2 ?
Conventions plutôt que configurationConventions plutôt que configurationConventions plutôt que configurationConventions plutôt que configurationStandardisation du système de fichiers
Standardisation du cycle de vie
Standardisation du site web du projet
...
Facilite le passage d’un projet à un autre,
la communication…
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 13
Build – Pourquoi Maven 2 ?
ModModModModéééélisation du lisation du lisation du lisation du buildbuildbuildbuild
Modélisation vs scripting décrivez ce que vous voulez faire (le quoi) pas
le comment !
Maven suit une approche déclarative et se
focalise sur une abstraction de haut niveau du
projet appelé le Project Object Model (POM).
Un conducteur n'a pas à
connaître la mécanique de sa
voiture pour conduire
POM
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 14
Build – Pourquoi Maven 2 ?
Problématique complexe et qui n’est pas toujours bien maîtrisée voir abordée
=> le changement de version d’une dépendance directe peut devenir une tâche complexe.
Maven 2 apporte une aide précieuse même s’il ne résout pas tous les problèmes
Graphe de dépendances du plugin scmchangelog-maven-plugin
Gestion des dGestion des dGestion des dGestion des déééépendancespendancespendancespendances
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 15
Build – Pourquoi Maven 2 ?
RepositoriesRepositoriesRepositoriesRepositories
Release, Snasphot
…
Automatise la récupération des
dépendances, facilite l’intégration
continue (les dernières versions
sont tout de suite disponibles)…
RRRRééééutilisationutilisationutilisationutilisation
Plugins
Template de projet (archétypes)
…
Améliore la productivité, mise en
place de recommandations
d’entreprise…
…………
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 16
Central
Build – Plateforme Maven 2 à Orange Labs
Central snapshot
Codehaus
…
pom.xml
<project>
</project>
<repository>
<id>codehaus</id>
<name>codehaus repository</name>
<url>http://repository.codehaus.org/</url>
</repository>
<repositories>
<repository>
<id>apache.snapshot</id>
<name>apache.snapshot repository</name>
<url>http://people.apache.org/maven-snapshot-repository/</url>
</repository>
</repositories>
[…]
[…]
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 17
Proxy Maven 2
Central
Build – Plateforme Maven 2 à Orange Labs
Central snapshot
Codehaus
…
pom.xml
<project>
</project>
Central
setting.xml
<settings>
<mirrors>
<mirror>
<id>FranceTelecomMaven2Proxy</id>
<mirrorOf>central</mirrorOf>
<name>France Telecom Maven2 repositories</name>
<url>https://maven2.rd.francetelecom.fr/proxy/</url>
</mirror>
</mirrors>
[…]
</settings>
Central snapshot
Codehaus
…
inhouse
inhousesnapshot
<parent>
<groupId>com.francetelecom</groupId>
<artifactId>corporate</artifactId>
<version>1.4</version>
</parent>
[…]
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 18
Build – Plateforme Maven 2 à Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 19
Build – Plateforme Maven 2 à Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 20
Build – Plateforme Maven 2 à Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 21
Build – Plateforme Maven 2 à Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 22
Build – Plateforme Maven 2 à Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 23
Build – Plateforme Maven 2 à Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 24
Build – Plateforme Maven 2 à Orange Labs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 25
Build – Bilan
Maven 2 • On a toujours réussi à mettre en place le processus build même pour des contextes
très complexes
• Adoption de plus en plus forte de Maven 2 au sein de France Télécom. Les utilisateurs
de Maven 2 ne souhaitent pas revenir en arrière
• Site web du projet à jour (généré par le serveur d'intégration continue)
• Bonnes pratiques plus facile à divulguer (pom, archetypes…)
Plate-forme Maven 2 du Groupe France Télécom• Industrialisation réussie : proxy Maven 2, site web, forum actif, support en place…
• Utilisation quotidienne par de nombreux projets
• Pas de soucis particuliers (montée en charge, disponibilité… ) juste des demandes
d'évolution
• Devenu une recommandation au niveau Groupe
Utilisation de la plate-forme Maven 2 sur plusieurs projets industriels et avec de nombreuses
technologies (Java/ J2EE, JMS, Web Services, Castor, SSO, IMS, SIP, Osgi, Smart Environment…)
Aspects positifs :
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 26
Build – Bilan
Difficultés rencontrés :
Maven 2 • Documentation pas toujours suffisante
• Tests d'intégration pas bien pris en compte avec Maven 2.0.x
• Gestion des projets multi-modules (release, site web)
• Intégration avec Eclipse (difficulté de synchronisation, problème de
reproductibilité…)
• Philosophie et manière de travailler pas toujours bien comprises/acceptées
(problème plutôt humain que technique)
Plate-forme Maven 2 de France Télécom• Industrialisation de Maven 2 : on est parti de zéro sans référence dans le domaine
(architecture physique, sauvegarde, proxy Maven 2, contrôle d'accès pour le déploiement,
site web codex, support…)
• Conflits d'intérêt : vision projet (vision locale) vs cohérence de la plate-forme (vision
globale)
• Problématique liée à l'évolution de la plate-forme (assurer la compatibilité ascendante)
• Ouverture de la plate-forme pour les sociétés externes (Propriété Intellectuelle)
Utilisation de la plate-forme Maven 2 sur plusieurs projets importants et avec de nombreuses
technologies (Java/ J2EE, JMS, Web Services, Castor, SSO, IMS, SIP, Osgi, Smart Environment…)
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 27
Intégration Continue
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 28
L’Intégration Continue
… une pratique de développement logiciel où les
membres d’une équipe intègrent leur travail
fréquemment, habituellement chacun au moins
une fois par jour – ce qui entraine plusieurs
intégrations par jour. Chaque intégration est
validée par un ‘build’ automatique (ce qui inclut les
tests) pour détecter les erreurs d’intégration aussi
vite que possible ...
http://www.martinfowler.com/articles/continuousIntegration.html Martin FowlerMartin FowlerMartin FowlerMartin Fowler
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 29
Intégration Continue - Problématique
Source: http://www.agitar.com/solutions/why_unit_testing.html
Les 5% de bugs découverts après la release représentent 95% des coûts de correction
Module1Module1Module1Module1
Module2Module2Module2Module2
ModuleiModuleiModuleiModulei
DDDDééééveloppementveloppementveloppementveloppement IntIntIntIntéééégrationgrationgrationgration
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 30
Intégration Continue - Problématique
DDDDéééétecter au plus tôt les tecter au plus tôt les tecter au plus tôt les tecter au plus tôt les
problproblproblproblèèèèmes pour les corriger au mes pour les corriger au mes pour les corriger au mes pour les corriger au
plus tôtplus tôtplus tôtplus tôt
Les 5% de bugs découverts après la release représentent 95% des coûts de correction
Module1Module1Module1Module1
Module2Module2Module2Module2
ModuleiModuleiModuleiModulei
DDDDééééveloppementveloppementveloppementveloppement IntIntIntIntéééégrationgrationgrationgration
Intégration Continue
Module1Module1Module1Module1
Module2Module2Module2Module2
ModuleiModuleiModuleiModulei
IntIntIntIntéééégrationgrationgrationgration IntIntIntIntéééégrationgrationgrationgration
DDDDééééveloppementveloppementveloppementveloppement
IntIntIntIntéééégrationgrationgrationgration IntIntIntIntéééégrationgrationgrationgrationIntIntIntIntéééégrationgrationgrationgration IntIntIntIntéééégrationgrationgrationgration
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 31
Intégration Continue - Les enjeux
� Corriger les bugs au plus tôt
S’assurer que l’intégration de code ‘nouveau’ ne casse pas le
composant logiciel.
� Améliorer la qualité du code et la cohérence de l’équipe
Toute l’équipe avance en parallèle et chacun suit les apports
des autres.
� Voir en ‘temps réel’ l’état du projet
En produisant des rapports et en les diffusant à chaque
‘commit’ toute l’équipe peut suivre l’état d’avancement du
projet.
� Avoir un logiciel prêt à être déployé
Obtenir des ‘builds’ répétables et reproductibles dans le temps
et l’espace.
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 32
Intégration Continue - Concepts
Evènements de déclenchement
SCM
Modifications au niveau du gestionnaire de configuration (SCM) Modifications au niveau du gestionnaire de configuration (SCM) Modifications au niveau du gestionnaire de configuration (SCM) Modifications au niveau du gestionnaire de configuration (SCM)
le SCM est scruté périodiquement par le serveur d'IC ("polling" )
le serveur d'IC attend un évènement envoyé par le SC
Intervention humaine sur le serveur d'intIntervention humaine sur le serveur d'intIntervention humaine sur le serveur d'intIntervention humaine sur le serveur d'intéééégration continue (IC)gration continue (IC)gration continue (IC)gration continue (IC)
PPPPéééériodiquementriodiquementriodiquementriodiquement
En cascade (le En cascade (le En cascade (le En cascade (le buildbuildbuildbuild d'un projet lance le d'un projet lance le d'un projet lance le d'un projet lance le buildbuildbuildbuild d'un d'un d'un d'un
ou plusieurs autres projets)ou plusieurs autres projets)ou plusieurs autres projets)ou plusieurs autres projets)
API Distante (Web Service, API Distante (Web Service, API Distante (Web Service, API Distante (Web Service, JabberJabberJabberJabber...)...)...)...)
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 33
Intégration Continue - Concepts
Appel d’actionsEvènements de déclenchement
Outils de build
OutilsOutilsOutilsOutils de build de build de build de build
(Ant, Maven 1, Maven 2(Ant, Maven 1, Maven 2(Ant, Maven 1, Maven 2(Ant, Maven 1, Maven 2…………))))
Scripts shell, bashScripts shell, bashScripts shell, bashScripts shell, bash
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 34
Intégration Continue - Concepts
Evènements de déclenchement
Rapports
Artéfacts
Notifications
Appel d’actions
Comment Comment Comment Comment : Mail, Messagerie instantanée, Flux RSS, Widgets, …
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 35
Intégration Continue - Concepts
Evènements de déclenchement
Comment Comment Comment Comment : Mail, Messagerie instantanée, Flux RSS, Widgets, …
QuandQuandQuandQuand : Systématiquement après chaque build, Conditionnel (échec, qualité de code…)
QuiQuiQuiQui : Liste de destinataires, plusieurs listes possibles; le(s) dernier(s) comiters
Appel d’actions
Rapports
Artéfacts
Notifications
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 36
Intégration Continue - Concepts*
Evènements de déclenchement Appel d’actions
Rapports
Artéfacts
Notifications
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 37
Intégration Continue - Workflow
Développeur
checkout, update
Intégration Continue
construitdéploietesteanalyse
informe
Rapports
Artéfacts
Notifications
développetestecompile
Outils de build
checkout, commit, update, merge
SCM
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 38
Intégration Continue - Problématique
ProblProblProblProbléééématique : ammatique : ammatique : ammatique : amééééliorer la productivitliorer la productivitliorer la productivitliorer la productivitéééé des ddes ddes ddes dééééveloppeursveloppeursveloppeursveloppeurs
2'
4'
1'
10'
x'
compilation
tests unitaires
packaging
site web
8'tests d'intégration
…
2'
4'
1'
10'
x'
compilation
tests unitaires
packaging
site web
8'tests d'intégration
…
2'
4'
1'
10'
x'
compilation
tests unitaires
packaging
site web
8'tests d'intégration
…
x 40
x 20
x 1
x 0
x 0
x …
x 25
x 25
x 1
x 1
x 2
x …
x 45
x 10
x 1
x 0
x 0
x …
2'
4'
1'
10'
x'
compilation
tests unitaires
packaging
site web
8'tests d'intégration
…
2'
4'
1'
10'
x'
compilation
tests unitaires
packaging
site web
8'tests d'intégration
…
2'
4'
1'
10'
x'
compilation
tests unitaires
packaging
site web
8'tests d'intégration
…
x 30
x 15
x 5
x 2
x 2
x …
x 20
x 20
x 3
x 1
x 4
x …
x 35
x 5
x 5
x 0
x 0
x …
2'
4'
1'
10'
x'
compilation
tests unitaires
packaging
site web
8'tests d'intégration
…
x 20
x 20
x 15
x 2
x 15
x …
Intégration Continue
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 39
Intégration Continue à Orange Labs
� Objectifs
– Choix d'un serveur d'intégration continue à recommander
– Mise en place de bonnes pratiques ainsi qu'un support
– Mise en pratique sur les projets
– Faciliter la mise en place d'un serveur d'intégration continue dès le
lancement du projet
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 40
Intégration Continue à Orange Labs
� Choix d'un serveur d'intégration continue
– Réalisation d'une grille d'évaluation
– Audits de 10 projets pour remplir la grille et pour identifier les
différentes pratiques
Hudson
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 41
Intégration Continue à Orange Labs
� Assurer la traçabilité
– Lancer le build à chaque modification du SCM pour savoir quel est le commit qui a
posé problème
– Commiter très fréquemment (une modification = un commit) pour identifier quelle
modification, quel(s) fichier(s) sont à l'origine du problème
– Disposer de builds rapides (max 15 minutes)
– Disposer d'un serveur puissant : gains partagés par l’ensemble de l’équipe
� Assurer la reproductibilité
– La référence est la machine d’intégration : plus de « ça marche chez moi » !!!
– Mise en place d'un " Nightly Build" qui repart de zéro (checkout complet du SCM,
suppression du repository local de maven 2…)
� Avoir le souci du produit fini
– Valoriser les rapports et intégrer la qualité dans la notion de "terminé"
– Artéfacts prêts à être déployés et validés sur l(es)'environnement(s) cible(s)
– Disposer d'une version de démonstration la plus à jour possible
Bonnes pratiquesBonnes pratiquesBonnes pratiquesBonnes pratiques
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 42Orange Labs - Recherche & Développement - titre de la présentation – date
Retour Projets
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 43
Retour d'expériences – Améliorer la qualité
• Détecter les problèmes au plus tôt pour les corriger au plus tôt
• Améliorer la qualité
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 44
Retour d'expériences – Améliorer la qualité
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 45
Retour d'expériences – Améliorer la qualité
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 46
Retour d'expériences - Documentation à jour
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 47
Retour d'expériences - Documentation à jour
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 48
Retour d'expériences - Documentation à jour
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 49
Bilan et Perspectives
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 50
Bilan - Agilité
On passe de la compilation continue On passe de la compilation continue On passe de la compilation continue On passe de la compilation continue
àààà llll’’’’exexexexéééécution continue cution continue cution continue cution continue
vers la production continuevers la production continuevers la production continuevers la production continue
Manifesto for Agile Software Development
�Automatisation des tâches répétitivesIndividuals and interactions over processes and tools
�Le logiciel est bien validé et testé en exécutionWorking software over comprehensive documentation
�Transparence et visibilité : des rapports visibles par tousCustomer collaboration over contract negotiation
�Intégration continue des changements en réduisant les risquesResponding to change over following a plan
�La qualité est traitée comme un élément à part entièreCraftmanshipover Execution
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 51
Bilan – Oranges Labs
� Industrialisation d’outils d’ingénierie logicielle (build, intégration
continue, gestion de configuration…) réussie
� Recommandation au niveau du groupe France Télécom (Orange
Labs, ROSI, Orange Business Services…)
� Mise en place de bonnes pratiques qui sont suivies et qui ont une
influence bénéfique sur les projets
� Les projets sont demandeurs pour utiliser ce qui a été mis en place et
souhaitent aller plus loin
� Initialisation d'une chaîne globale d’outils d’ingénierie logicielle
1 outil + 1 outil > 2 outils
� L’ingénierie logicielle rentre dans la culture d’entreprise
Aspects positifsAspects positifsAspects positifsAspects positifs
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 52
Bilan – Oranges Labs
� Beaucoup de travaux à mener en parallèle et à coordonner (Build,
Intégration Continue, Analyse statique de code, Gestion de
configuration, Virtualisation, Tests, Gestion des exigences….)
� Certains sujets comme les rapports/métriques sont difficiles à
conceptualiser et demandent beaucoup de temps et d’expériences
� Industrialiser un outil demande un travail important et beaucoup de
compétences
� Prise en compte de l’ensemble des contraintes du groupe France
Télécom
DifficultDifficultDifficultDifficultéééés rencontrs rencontrs rencontrs rencontrééééssss
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 53
Perspectives
Développeur
Outils de build
Intégration Continue
Configurations optimisées pour les tâches d'intégration
packaging, tests d'intégration, métriques, site web du projet…
Configurations optimisées pour les tâches du développeur
hot-deploy, tests unitaires, analyse statique de code…
SCM
Commit par issue
Tracker
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 54
Perspectives
Développeur
Intégration Continue
SCM TrackerOutils de build
le SCM est utilisé commesimple support d'archivage. Le projet n'est pas dans un état stable et ceci est la dernière préoccupation des développeurs.
les échecs sontimmédiatement corrigés, commits fréquents.
http://www.agile-swiss.org/wiki/index.php?title=Integration_continue
Mise en place de sondes/capteurs PrPrPrPréééévenir plutôt que guvenir plutôt que guvenir plutôt que guvenir plutôt que guéééérirrirrirrir
Est-ce que les développeurs commits régulièrement ?
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 55
Perspectives
Développeur
Intégration Continue
SCM TrackerOutils de build
Mise en place de sondes/capteurs PrPrPrPréééévenir plutôt que guvenir plutôt que guvenir plutôt que guvenir plutôt que guéééérirrirrirrir
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 56
Développeur
Intégration Continue
SCM TrackerOutils de build
Perspectives
Mise en place d'un tableau de bord projet MaMaMaMaîîîîtrise de son projet trise de son projet trise de son projet trise de son projet
avancement, qualité…
Oui c’est possible !!!
Orange Labs - Agile Tour Grenoble 200809 Octobre 2008 58
Questions?