Une plateforme agile pour quoi faire ?
Philippe Caroux
Consultant Sénior
07 87 77 43 38
Philippe.caroux@valtech.fr
Jihane Khalil
Consultant
05 62 47 64 00
Khalil.jihane@valtech.fr
Après avoir développé sa propre plateforme agile à l’époque où les outils du marché ne répondaient que faiblement à la problématique agile, Valtech a utilisé bon nombre de produits open source ou non pour gérer ses projets ou ceux de ses clients. Cette présentation a pour but d’une part de présenter de façon aussi complète que possible ce que fonctionnellement nous pouvons attendre d’une plateforme agile complète, et d’autres part à travers l’intégration d’outils du marché, d’observer comment les fonctions attendues se concrétisent dans le cadre des processus agiles d’ingénierie les plus significatifs.
Bien entendu, les outils utilisés sont connus de Valtech mais ne constituent pas la seule solution technique à la problématique de la plateforme agile idéale. D’autres intégrations d’outils ont été réalisées par Valtech en tenant compte à chaque fois, des contraintes outils liées au contexte client.
4. Plateforme Agile / Introduction!
Plateforme agile : des concepts aux outils
Ò Les valeurs et principes agiles
Ò Les pratiques agiles
Ò Les outils métiers
Ò La relation métiers / pratiques
Ò Les pratiques outillées représentatives
Ò Démonstration
6. Plateforme Agile / Valeurs agiles!
Manifeste Agile (2001)
Ò Les individus et leurs interactions sont mis en avant plutôt
que les processus et les outils.
Ò Les logiciels sont opérationnels sans besoin de documentation
exhaustive.
Ò La collaboration avec le client est permanente plutôt que
purement contractuelle.
Ò L’adaptation au changement est privilégiée plutôt que le suivi
strict et non modifiable des plannings.
7. Plateforme Agile / Principes agiles!
Ò Les individus et leurs interactions :
• L’avancement du projet suit un rythme soutenable et constant.
• Les équipes sont auto-organisées.
Ò Les logiciels :
• La livraison de versions opérationnelles se fait le plus souvent possible.
• La mesure de l’avancement du projet se fait en termes de fonctionnalités.
Ò La collaboration avec le client :
• La satisfaction du client est prioritaire.
• La coopération entre client et équipe projet est permanente.
Ò L’adaptation au changement :
• Les demandes de changement sont les bienvenues.
• L’ajustement des comportements et des pratiques est régulier.
10. Plateforme Agile / Du besoin au produit!
Product Release
Besoin Thèmes
Backlog Backlog
Anomalies,
évolutions
Produit Iteration
Produit Taches
partiel Backlog
11. Plateforme Agile / Pratiques types!
Ò Définition de la vision et de la roadmap
Ò Création du « Product Backlog »
Ò Formalisation du « Release plan »
Ò Déroulement des itérations
Ò Intégration continue
Ò Gestion des changements
13. Plateforme Agile / Outils métiers!
Métier
Communication
Gestion de projet
Gestion de configuration
Développement
Intégration
Test
14. Plateforme Agile / Outils agiles!
Agile
Natifs Propriétaire :
• Version One
• Rally
Open source :
• iceScrum
Non - natifs Propriétaire :
• Jira + GreenHopper
Open source :
• Trac + Agilo
15. Plateforme Agile / Entités agiles!
Feature
Project Product Backlog Story
Release Release Backlog Defect
Iteration
Iteration Backlog Task
Projet
Produit
16. Plateforme Agile / Métiers agiles!
Projet
Gestion de
Communication
projet (SCRUM)
Test
(Auto)
Produit
Gestion de Intégration
configuration (continue)
Développement
(TDD, TDR, Peer…)
19. Plateforme Agile / Création du Product Backlog!
PO Team Communication Gestion de projet agile
Besoin
Analyse +
Ateliers
Compte-rendu
Publication
Ateliers
Fonc & Tech
Features / Stories priorisées
Création PB
Product Backlog
Publication
20. Plateforme Agile / Déroulement d’itération!
PO Gestion de projet
Développement
Gestion de
Communication
Team agile configuration
PB
Sélection Stories
Création/Estimation
tâches
SB
Développement +
TU
Code + TU Intégration
Temps continue
passé
Mise à jour tâches
Revue
Démonstration
Rétrospective
Bilan + Rapports + Améliorations
Publication
Binaire
Packaging + Livraison
21. Plateforme Agile / Intégration continue!
Gestion de
Team configuration
Intégration continue Test
Code + TU
Partage du code
Code + TU
On commit:
Build + TU
Lancement des TU
Exécution
des TU
Rapports de TU Rapports de TU
Nightly commit:
Build + TU
Lancement des Verif & Tests Exécution TU +
Analyse code +
Rapports de Verif & Tests Rapports de Verif & Tests Couverture code +
Test fonc auto
22. Plateforme Agile / Passage aux outils métiers !
Ò Exemple: consolidation sur l’outil d’intégration continue
• Liste de fonctionnalités identifiées
• On commit (Jenkins)
• Nightly commit (Jenkins)
• Liste des interfaces avec d’autres outils
• Test unitaires (JUnit)
• Analyseur statique (Sonar) et dynamique de code (JProfiler)
• Test fonctionnel automatique (Fitnesse)
Ò Les outils d’intégration continue et de tests sont
essentiels à la plateforme agile
24. Plateforme Agile / Exemple de plateforme agile!
Outil Type Métier
Confluence Wiki Communication
Jira + GreenHopper Tracking + Reporting Gestion de projet agile
agile
Jenkins Intégration continue Intégration continue
Sonar Analyse de code Test (Vérif)
JUnit Test unitaire Test
Eclipse Développement Développement
SVN Gestion de sources Configuration
Démonstration: plateforme Agile Valtech
26. Plateforme Agile / Conclusion!
Une plateforme agile idéale ?
Ò Des outils adaptés au projet agile
Ò Une combinaison possible d’outils agiles et non agiles
Ò Des outils disponibles pour chaque pratique
Ò Des outils au service de l’équipe et non imposés
Ò Des outils qui s’intègrent facilement
Ò Des outils qui servent les principes agiles