Présentation faite à ScrumDay Paris en 2011
Les développeurs, les responsables qualité, les ScrumMasters, les ProductOwners ou les responsables des développements ont de plus en plus besoin d’intégrer leurs outils. Ceci s’inscrit dans une démarche Lean visant à donner un accès facile et immédiat à toute l’information, à éliminer les gaspillages et à détecter les problèmes le plus tôt possible dans le cycle de développement.
Alors que certaines plateformes, comme celle de Microsoft, sont déjà intégrées, beaucoup de systèmes sont construits sur mesure par les équipes de développement. Nous pouvons imaginer, par exemple, une plateforme intégrant Eclipse, Code Collaborator, Perforce, Hudson, Sonar, Jira, Project Server et Crystal Reports, solution intégrant des outils Open Source et propriétaires.
Cette session présentera différentes solutions ALM et la façon dont elles supportent une démarche agile. Pour mettre l’accent sur l’intégration entre les différents outils nous détaillerons une solution basée sur Mylyn, l’ALM Open Source pour Eclipse, s’intégrant à Microsoft TFS. Quelques fonctionnalités sympathiques comme la gestion très facile du backlog, le calcul automatique du burndown chart ou la gestion des revues de code seront également présentées.
5. Objectif: vous convaincreObjectif: vous convaincre ...
• de vous outiller
• d’intégrer vos outilsd intégrer vos outils
• de supporter vos méthodes par les outils
• d'automatiser vos processus
Vous ne pouvez pas faire une transition Agile
sans mettre en place une solution ALM !
5
6. ALM ?ALM ?
• Application Lifecycle Management
• Trois piliers:Trois piliers:
– Gouvernance, SDLC, Opérations
• Compilateurs
et éditeurs
Gestionnaires de
source et IDEs
Plateformes ALM
contemporaines
7. Solutions ALMSolutions ALM
• Editeurs: IBM RationalEditeurs: IBM Rational,
Microsoft, MKS, HP,
Serena, Atlassian, Rally
Software,
ThoughtWorks Studios,
T kt XTasktop, Xerox,
CollabNet, Urbancode,
...
• Solutions ALM sur
mesure: SAP, Bull, Capmesure: SAP, Bull, Cap
Gemini, ...
7
8. Agilité ?Agilité ?
L l• Les valeurs:
– l’interaction avec les personnes plus que les processus et les
outils
– un produit opérationnel plus qu'une documentation
pléthorique
– la collaboration avec le client plus que la négociation de contrata o abo a o a e e e p q g
– la réactivité face au changement plus que le suivi d'un plan
• Plus concrètement:
é– Equipes auto‐organisées
– Livrant souvent et tôt des logiciels fonctionnels et utiles
– Collaborant avec les experts métier quotidiennementCollaborant avec les experts métier quotidiennement
– Cherchant l'excellence technique et la qualité de la conception
– S’améliorant continuellement
8
9. Scrum ?Scrum ?
C t ôl l i i ti f é t t d t ti• Contrôler le risque par inspection fréquente et adaptation
optimale
• Offrir la prévisibilité par la transparencep p p
• Offrir la meilleure productivité par les équipes auto‐
organisées et le focus durant un Sprint
A éli l li é l i d "d " (fi i) l• Améliorer la qualité par la notion de "done" (fini) et les
équipes cross‐fonctionnelles
• ScrumMaster, Product Owner, Equipe
• Sprint planning, Stand‐up meeting, Sprint review, Sprint
retrospective
• Product backlog, Sprint Backlog, Sprint Burndown
10. Les trois piliers de l’ALMLes trois piliers de lALM
Agilité
Gouvernance
Développement V1 TMA Développement V2Développement V1 TMA Développement V2
Exploitation
DevOps
Idée Déploiement Fin de vie
DevOps
11. Le cycle de vie d’une applicationLe cycle de vie d une application
12. La convergence vers l’ALMLa convergence vers lALM
• C d dé l• Convergence des développeurs
– Référentiels de code source,
moteurs de builds, outils de
tests unitaires IDEtests unitaires, IDE
13. La convergence vers l’ALMLa convergence vers lALM
• C d dé l• Convergence des développeurs
– Référentiels de code source,
moteurs de builds, outils de
tests unitaires IDEtests unitaires, IDE
• Convergence des équipes
projetprojet
– Gestionnaires de tâches,
gestionnaires d’anomalies,
gestionnaires documentairegestionnaires documentaire
14. La convergence vers l’ALMLa convergence vers lALM
• C d dé l• Convergence des développeurs
– Référentiels de code source,
moteurs de builds, outils de
tests unitaires IDEtests unitaires, IDE
• Convergence des équipes
projetsprojets
– Gestionnaires de tâches,
gestionnaires d’anomalies,
gestionnaires documentairegestionnaires documentaire
• Convergence de l’ensemble des
é i i li é d léquipes impliquées dans le
cycle de vie d’une application
– ALM
15. Avant et après l’ALMAvant et après lALM
QM
SCCM
QM
Reporting
RM
p g
Workflow
Tasks
Build
17. La marge sur la margeLa marge sur la marge
Buffer (gaspillage)
P blè
Buffer (gaspillage)
P blè ProblèmesProblèmes Problèmes Problèmes
Les problèmes
ne sont pas vus
Les problèmes
deviennent apparents
Les causes
peuvent être éliminéesne sont pas vus deviennent apparents peuvent être éliminées
18. Le mouvement DevOpsLe mouvement DevOps
C i ti ll b ti• Communication, collaboration
et intégration entre
développement opérations etdéveloppement, opérations et
assurance qualité
• aka Déploiement continuaka Déploiement continu
• Impact sur le release:
– Moins de changements maisMoins de changements mais
plus de livraisons
– Plus de coordination entre les
équipes
– Automatisation
19. La convergence des technologiesLa convergence des technologies
• Avec la complexité croissance de l’IT, la
multiplication des technologies, des outils, des p g
terminaux, il faut savoir réagir vite, builder
rapidement sans nuire à la qualité du projetrapidement, sans nuire à la qualité du projet
final.
20. ALM et Agilité: points d’accrocheALM et Agilité: points d accroche
• Réduire le gaspillage
• Réduire les coûts et le "time to market"Réduire les coûts et le time to market
• Améliorer la qualité
• Fournir la transparence
• Livrer une application qui répond aux besoinsLivrer une application qui répond aux besoins
métier
21. Agilité: les limites et les excès possiblesAgilité: les limites et les excès possibles
li i• Les limites:
– L’organisation amnésique
– La remise à zéro
– La solitude
– Les équipes importantes et/ou distribuées
• Les excès possibles
– Manque de documentation
– Manque de planification et de suiviq p
– Refactoring trop important suite aux remises en cause
régulières du besoin et/ou de l’architecture associée
21
22. Ce que l’ALM apporte à l’AgilitéCe que lALM apporte à lAgilité
C di ti d ti ité d t l l d i d• Coordination des activités durant le cycle de vie de
l'application (spécifications fonctionnelles, modélisation,
développement, build, test, déploiement)pp , , , p )
• Des outils qui aident à l'automatisation des processus
• Renforcement du processusp
• Validation: Livrer un produit fini à la fin d’une itération
• La gestion d’un historique
• Connexion entre les différents artefacts
• Support pour des équipes distribuées
• La visibilité en temps réel
• Des points de contrôle sans "faire la police"
22
23. Ce que l’Agilité apporte à l’ALMCe que lAgilité apporte à lALM
• Sans l’agilité: ALM = solution monolithique,
mise en place d’un seul blocp
• Amélioration des fonctionnalités de travail en
équipeéquipe
• Conciliation des fonctionnalités avancées et
de la simplicité d’utilisation
• Recentrage sur le développeur• Recentrage sur le développeur
24. L’ALM AgileLALM Agile
• Intègre des méthodes agiles pour
– les gérer, les proposer aux équipesg , p p q p
– agiliser les flux, le travail, le développement
P d t l t il déf t• Propose des templates agiles par défaut
• Evite l’approche dite cowboypp y
25. Les nouveaux ALMLes nouveaux ALM ...
• Sont plus accessibles par leur simplicité et leur coût
• Ont moins de fonctionnalités et des fonctionnalités plus
i lsimples
• Ont démocratisé l’utilisation de fonctionnalités avancées
O éd i l b d’ i• Ont réduit la courbe d’apprentissage
• Offrent plus d’adaptabilité dans la mise en œuvre des
fonctionsfonctions
• Ne sont pas réservés à des projets de taille importante
N é it t l d’ t l dé l l d t• Ne nécessitent plus d’experts pour les déployer, les adapter,
les maintenir
27. Mylyn et la convergence vers EclipseMylyn et la convergence vers Eclipse
28. Transition Agile n’oubliez pas l’ALMTransition Agile – n oubliez pas lALM
' ili é l' l l d l i• L'Agilité, l'ALM et le Cloud sont les trois
meilleurs amis de la transformation de l’IT
aujourd‘hui
• L’ALM est un processus métier critique de p q
l’entreprise, supportant les nombreux autres
processus métiersp
• Les organisations qui mettront en place des
solutions ALM seront plus performantes quesolutions ALM seront plus performantes que
celles qui ne le feront pas
30. Le User Group ALM FranceLe User Group ALM France
• Groupe de discussions sur la gestion du cycle
de vie des applications et les outils associéspp
• http://alm‐france.org
31. Démo: l’ALM par MicrosoftDémo: lALM par Microsoft
• Description
– Solution autour de TFS, Sharepoint, Excel, Project , p , , j
Server, Visual Studio, ...
• Les plus• Les plus
– Tous les avantages des ALM pour l’agilité
• Avantages
– Solution complètement intégrée et évolutiveSolution complètement intégrée et évolutive
32. Démo: revue de codeDémo: revue de code
D i ti• Description
– Implémentation avec Bugzilla, Mylyn, Eclipse et CVS
– La revue de code fait partie de la définition de « fini » (est p (
incontournable)
• Les plus
Support pour des équipes distribuées– Support pour des équipes distribuées
– Support des workflows asynchrones
– Base de connaissances unique faisant la liaison entre les tâches
ou les anomalies et le code
– Traçabilité et historique
• AvantagesAvantages
– Solution très simple à mettre en place et complètement Open
Source
33. Démo: revue de codeDémo: revue de code
Revue
Review passed
=> Checkin« Self‐review »
Création du patch RevueCréation du patch
Upload patchUpload patch
Download patch
34. Démo: ScrumToolsDémo: ScrumTools
• D i ti• Description
– Utilisé par l’équipe Data Federator chez SAP
– Plugin Eclipse « maison » au dessus de Bugzilla
– Bugzilla gère le backlog produit, le Sprint backlog et garde tout
l’historique
• Les plus
– Support pour des équipes distribuées
– Dépendances entre les stories
– Mise à jour automatique des rapports (burndown chart)j q pp ( )
– Outillage du backlog produit, du Sprint backlog
• Avantages
– Solution très simple à mettre en place– Solution très simple à mettre en place
– Base de données unique pour le métier, le développement et le test
– Intégration avec l’environnement du développeur
35. Quelques référencesQuelques références
• Le Scrum Guide (par Ken Schwaber et Jeff Sutherland):• Le Scrum Guide (par Ken Schwaber et Jeff Sutherland):
http://www.scrum.org/scrumguides/
• Présentation Agilité et CMMI par Alcyonix: http://www.agiletour.org/fr/paris.html
(rubrique Présentations 2010, Alcyonix‐AgileTour2010‐CMMIetAgile‐v1.0.pdf)
• ALM : Le succès de vos projets de développement par François Merand sur le blog
.NET Rangers http://www.dotnetrangers.net/2010/11/28/alm‐le‐succs‐de‐vos‐
projets‐de‐dveloppement/
• Le marché et les tendances de l’ALM par François Tonic au lancement du User Group• Le marché et les tendances de lALM par François Tonic au lancement du User Group
ALM France
• Podcast Agile ADM Tools Wave: Surprises And The Future Of ALM par Dave West,
Forrester http://www.forrester.com/rb/analyst/dave_west
• ALM ‐ Application Lifecycle Management par Eric Le Loc’h et Loic Baumann dans IT‐
Expert http://www.it‐expertise.com/ite‐article/89/Normes‐Standards‐Qualite/ALM
• ALM et agilité au coeur des processus métiers par François Mérand dans IT‐Expert
http://www it expertise com/ite article/320/Gestion projets developpement/ALMhttp://www.it‐expertise.com/ite‐article/320/Gestion‐projets‐developpement/ALM‐
processus
• L'industrialisation des développements dans le monde Open Source par Arnaud
Héritier et Lucian Precup au lancement du User Group ALM France