valtech - plateforme agile
DESCRIPTION
Une plateforme agile pour quoi faire ? Philippe Caroux Consultant Sénior 07 87 77 43 38 [email protected] Jihane Khalil Consultant 05 62 47 64 00 [email protected] 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.TRANSCRIPT
Jihane Khalil!Consultant!05 62 47 64 [email protected]!
Plateforme Agile Séminaire du 28 juin 2012
Philippe Caroux!Consultant Sénior!07 87 77 43 [email protected] !
Principes agiles
Pratiques agiles!
Outils métiers agiles!
Pratiques agiles outillées!
Démonstration!
Conclusion!
Introduction!
Agenda
Introduction
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
Principes agiles
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.
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.
Plateforme Agile / Pratiques agiles!
Valeurs
Principes
Pratiques
Pratiques agiles
Plateforme Agile / Du besoin au produit!
Besoin Thèmes Product Backlog
Release Backlog
Iteration Backlog Taches Produit
partiel Produit
Anomalies, évolutions
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
Outils métiers agiles
Plateforme Agile / Outils métiers!
Métier
Communication Gestion de projet Gestion de configuration Développement Intégration Test
Plateforme Agile / Outils agiles!
Agile
Natifs
Propriétaire : • Version One • Rally Open source : • iceScrum
Non - natifs
Propriétaire : • Jira + GreenHopper Open source : • Trac + Agilo
Plateforme Agile / Entités agiles!
Project
Release
Iteration
Product Backlog
Release Backlog
Iteration Backlog
Feature
Story
Defect
Task
Projet
Produit
Plateforme Agile / Métiers agiles!
Projet
Produit
Communication
Test (Auto)
Intégration (continue)
Gestion de configuration Développement
(TDD, TDR, Peer…)
Gestion de projet (SCRUM)
Pratiques agiles outillées
Plateforme Agile / Pratiques représentatives!
Ò Création du Product Backlog Ò Déroulement d’itération
Ò Intégration continue
Besoin Product Backlog Itération
Intégration continue
Livrables
Prototype
Plateforme Agile / Création du Product Backlog!
Team
Besoin
Communication Gestion de projet agile PO
Compte-rendu
Features / Stories priorisées
Analyse + Ateliers
Publication
Création PB
Product Backlog
Ateliers Fonc & Tech
Publication
Plateforme Agile / Déroulement d’itération!
PB
Développement Gestion de configuration
PO Team
SB
Bilan + Rapports + Améliorations
Sélection Stories
Développement + TU
Mise à jour tâches
Revue Démonstration Rétrospective
Gestion de projet agile Communication
Création/Estimation tâches
Code + TU Intégration continue
Binaire
Packaging + Livraison
Temps passé
Publication
Plateforme Agile / Intégration continue!
Code + TU
Intégration continue Test Team
Code + TU
Partage du code
On commit: Build + TU
Exécution des TU
Gestion de configuration
Lancement des TU
Rapports de TU Rapports de TU
Nightly commit: Build + TU
Lancement des Verif & Tests Exécution TU + Analyse code + Couverture code + Test fonc auto
Rapports de Verif & Tests Rapports de Verif & Tests
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
Démonstration
Plateforme Agile / Exemple de plateforme agile!
Outil Type Métier
Confluence Wiki Communication
Jira + GreenHopper
Tracking + Reporting agile
Gestion de projet 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
Conclusion
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