www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Choisir une solution ALM pour gérer ses
projets logiciels
Industrialiser les développements logiciels
Uniformiser les processus
Faire collaborer tous les acteurs de l’innovation
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
AGENDA
1. Qu’est-ce que la Gestion du cycle de vie des Applications (ALM)
2. Les outils indispensables de l’ALM
3. Le positionnement des solutions ALM du marché
4. Pourquoi choisir une solution open-source pour son ALM?
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Qu’est que la Gestion du Cycle
de vie des Applications?
(Application Lifecycle Management - ALM)
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Outil de suivi et de pilotage du patrimoine applicatif stratégique de l’entreprise
La Gestion du cycle de vie des Applications-Définitions
- La gestion coordonnée du processus de développement d’une application logicielle ,
- de son idée initiale à sa livraison (ou sa fin de vie),
- impliquant tous les acteurs participant au projet où qu’ils soient,
- et en respectant les politiques de sécurité et les processus propres à l’entreprise
Solution ALM = Solution d’Ingénierie Logicielle = Forge logicielle = Usine logicielle
Le “Software Development Life Cycle” (SDLC) fait partie de l’ ALM > l’ALM doit aller plus loin
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Chef de projet
Architectes
Développeurs
Clients/Utilisateurs
Analystes business Directeurs de projet
Responsables QA
L’ALM: couvrir le cycle de vie du projet applicatif
DEFINIR
ORGANISER PLANIFIER
DEVELOPPER TESTER
LIVRER
MAINTENIR
TRACER COLLABORER
Gestion des exigences
Gestion de projet
Gestion des changements
Gestion de versions
Intégration continue
Gestion des documents
Gestion des livrables
Outils de collaboration
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM: faire collaborer tous les participants au développement
Ceux qui demandent Direction, Utilisateurs, etc
Ceux qui conçoivent (développeur, testeur, etc.)
Ceux qui pilotent Chef de projet, QA, Product Owner, etc.
Que demandent nos clients ?
Est-ce que les processus corporate sont respectés ?
Sommes-nous dans les délais?
Quelles tâches me sont assignées?
Est-ce que cette version du logiciel répond aux
exigences?
Est-ce d’autres collègues ont déjà rencontrés ce
problème?
Comment peut-on améliorer la prochaine
version ?
Est-ce que les tests sont passés?
Spécifier
Organiser Planifier
Développer Tester
Livrer
Maintenir
Avons-nous traitées toutes les demandes
de support client?
Respecter
Gérer
Partager
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Le logiciel est partout:
– Logiciels embarqués dans des produits
– Produits concus à l’aide de logiciels
Situation : le logiciel est au coeur du développement de produits innovants
L’ALM, facteur clé d’innovation
La maitrise de vos projets logiciels est stratégique quelque soit votre secteur
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM, facteur clé d’innovation
Situation Logiciel au coeur des produits innovants
Apports de l’ ALM
- S’adapter aux métiers de l’ entreprise, être compatible avec tous secteurs - et aux processus de l’entreprise
XP
Kanban
UP
Lean Cycle en V
Lean Six Sigma
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Java
PHP
C++
UML
Situation : Equipes distribuées, Différents rôles, Multi-projets, Technologies multiples
Développeurs
Fournisseurs
Partenaires
Clients
Chefs de projet
L’ALM, facteur clé d’innovation
Web
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM, facteur clé d’innovation
Situation Equipes distribuées Différents rôles Multi-projets Technologies multiples
Apports de l’ ALM
- Partager les informations de façon sécurisée
- Suivre en temps réel l’état du projet - Améliorer la productivité
- Faciliter la collaboration entre les équipes et
départements
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM, facteur clé d’innovation
Gestion des tâches
Gestion de configuration
Gestion documentaire
Outils de collaboration
Gestion de livrables
Gestion de tests
Gestion des exigences Gestion des changements
Gestion des risques
Gestion des bugs
Gestion des builds
Gestion de projet
Situation : Multiplication d’outils indépendants, Pas d’intégration, Difficultés de maintenance
Etc.
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Apports de l’ ALM
- Solution intégrée, tout-en-un, prête-à-l’emploi : rassembler tous les outils d’ingénierie logicielle en une seule plateforme intégrée
- Diminuer les coûts - Être plus efficace au quotidien - Obtenir la traçabilité des changements
L’ALM, facteur clef d’innovation
Situation
Multiplication d’outils
Pas d’intégration
Difficultés de maintenance
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Pourquoi l’ALM est devenu un facteur clef de l’innovation?
Situation : Augmentation des exigences qualité, Besoin d’uniformisation des processus
Cycle en V
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Pourquoi l’ALM est devenu un facteur clef de l’innovation?
Situation
Augmentation des exigences qualité
Besoin d’uniformisation des processus
La solution ALM
- Obtenir la traçabilité des changements - Industrialiser les développements - Améliorer la qualité des livrables - Mettre en place les méthodes qualité et agiles - Accélérer le « time-to-market »
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
GESTION DE
LA CONFIGURATION
GESTION DE PROJET
GESTION
de la QUALITE
GESTION DE LA DOCUMENTATION
GESTION DES CHANGEMENTS
GESTION DES RELEASES
OUTILS DE COLLABORATION
Références croisées
L’ALM: couvrir le cycle de vie du projet applicatif
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion des changements
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
GESTION DE LA DOCUMENTATION
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
GESTION DE LA CONFIGURATION
CVS
Subversion
GIT
Références croisées
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion des changements GESTION
DES CHANGEMENTS Objectif : tracer tous les changements effectués par les membres de l’équipe
sur les éléments de travail d’un projet applicatif (artefacts) Se fait avec un outil de suivi ou tracker Artefacts : - exigences, - risques, - tâches, - user stories, - bugs, - Backlog, - demandes de supports, - tests fonctionnels, - contacts, …
Un tracker est souvent relié à un logiciel de gestion de versions > par exemple : permet d'associer la base de données des bugs à celle des codes sources
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de projet
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
GESTION DE LA DOCUMENTATION
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
GESTION DE
CONFIGURATION
CVS
Subversion
GIT
Références croisées
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de projet
Objectifs:
- Organiser et suivre les projets applicatifs
- Appliquer les politiques de sécurité de l’entreprise
- Définir et mettre en place les processus de l’entreprise/équipe
GESTION
DE PROJET
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
GESTION
DE PROJET
Savoir ce qu’on a faire au quotidien: Tableau de bord PERSONNEL
Projets dont Landry est membre. Ici, il n’est membre que d’un seul projet mais il pourrait appartenir à plusieurs projets à la fois. Artefacts qu’il a soumis et artefacts qui lui ont été soumis. Graphiques qu’il a affichés sur son tableau de bord pour connaitre l’état des projets : graphique de Gantt, statuts des bugs, etc. Documents qu’on lui demande de revoir et ceux pour lesquels il a demandé une relecture. Forums et packages (livrables) qu’il a décidé de suivre
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de projet GESTION
DE PROJET
Travailler selon les méthodes agiles
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de projet GESTION
DE PROJET
Appliquer les politiques de sécurité
Système de gestion des permissions : QUI à le droit de faire QUOI?
- par groupe d’utilisateurs (développeurs, chefs de projets, partenaires extérieurs,
clients, commerciaux…)
- Sur chaque outil de l’ALM
> Intégration avec l’annuaire de l’entreprise: LDAP, Active Directory, etc.
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de projet GESTION
DE PROJET
Définir les processus
Workflow (flux de travail) : Automatisation des processus
> Définir les condition et l’enchainement des tâches
> Choisir le circuit et du mode de validation
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de projet GESTION
DE PROJET
PROCESSUS DE L’ENTREPRISE/EQUIPE
> Tous les projets doivent-ils respecter le même processus?
> Chaque projet peut-il avoir sa propre méthodologie?
Comment applique-t-on / adapte-t-on le processus choisi à notre métier ?
Modèle de projet pour conserver toute la configuration d’un projet:
- Conservation des outils activés et de leur configuration
- Conservation de la structure de la gestion documentaire
- Conservation des groupe d’utilisateurs et de leurs permissions respectives
+ Tous les projets sont construits de la même façon pour appliquer la méthode choisie.
+ La création d’un nouveau projet est beaucoup plus rapide.
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de configuration
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
GESTION DE LA DOCUMENTATION
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
GESTION DE
CONFIGURATION
CVS
Subversion
GIT
Références croisées
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de configuration
Objectif :
- Développer ensemble sous contrôle
- Stocker les différentes versions ou révisions et pouvoir les comparer
- Suivre les versions de logiciels : gérer les codes sources
> Outils tels que CSV, Subversion, Git, Mercurial, Bazaar etc
GESTION DE LA CONFIGURATION
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de configuration GESTION DE LA
CONFIGURATION
Gestion de versions centralisée ( VCS en anglais pour Version Control System) : CVS, Subversion > un seul dépôt des versions + simplifie la gestion des versions - contraignant pour certains usages comme le travail sans connexion au réseau ou lorsque l'on travaille sur des branches expérimentales Gestion de versions décentralisée (DVCS en anglais pour distributed revision control system) : Git, Mercurial > Plusieurs dépôts > Travail décentralisé + permet de travailler sans être connecté au gestionnaire de version + opérations plus rapides car réalisées en local (sans accès réseau) + travail privé pour réaliser des essais sans devoir publier ses modifications et gêner ses collègues - cloner un dépôt est plus long que récupérer une version. Dans un DVCS tout l'historique est copié.
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
GESTION DE LA CONFIGURATION
L’ALM : la gestion de configuration
Naviguer dans les dépôts Subversion
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
GESTION DE LA CONFIGURATION
L’ALM : la gestion de configuration
Visualiser les différences de versions
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de Quality Assurance
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
GESTION DE LA DOCUMENTATION
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
GESTION DE
CONFIGURATION
CVS
Subversion
GIT
Références croisées
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de Quality Assurance GESTION
DE LA QA
Objectif : vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression de l'application en cours de développement. Régression : introduction de nouveaux bugs à la suite d’une évolution fonctionnelle Tests unitaires – Test fonctionnels
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de Quality Assurance
Intégration Continue : Hudson/Jenkins
Objectif : automatiser très fréquemment les tests
> Récupération du code source
> Compilation des sources
> Exécution fréquente des tests unitaires
> Installation de l’application
+ les problèmes d'intégration sont détectés et réparés de façon continue
+ évite les problèmes de dernière minute
+ prévient rapidement en cas de code incompatible ou manquant
+ une version est toujours disponible pour test, démonstration ou distribution
+ tout le monde doit voir ce qui se passe
GESTION
DE LA QA
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de la documentation
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
GESTION DE LA
DOCUMENTATION
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
GESTION DE
CONFIGURATION
CVS
Subversion
GIT
Références croisées
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de la documentation
Objectif : - Stocker et organiser la documentation du projet - Faciliter l’écriture collaborative
GESTION DE LA DOCUMENTATION
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion de la documentation Ecrire de façon collaborative – Visualiser les différences de versions GESTION DE LA
DOCUMENTATION
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion des releases
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
GESTION DE LA DOCUMENTATION
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
GESTION DE
CONFIGURATION
CVS
Subversion
GIT
Références croisées
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : la gestion des releases GESTION DES RELEASES
Objectif: mettre à disposition les livrables du projet: fichiers, documents, images, vidéos…
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
GESTION DES RELEASES
Rédiger des releases notes
L’ALM : la gestion des releases
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : les outils de communication
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
GESTION DE LA DOCUMENTATION
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
GESTION DE
CONFIGURATION
CVS
Subversion
GIT
Références croisées
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : les outils de communication
Objectifs :
- Faciliter la communication, le partage d’expérience entre les membres d’un projet
mais également entre les membres de projets différents
- Favoriser les échanges avec les clients, les fournisseurs, les partenaires extérieurs
OUTILS DE COMMUNICATION
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : les outils de communication OUTILS DE
COMMUNICATION
Ex: Messagerie instantanée intégrée
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
L’ALM : garantir la traçabilité
GESTION QA
Tests
Intégration Continue: Hudson/Jenkins
GESTION DE LA CONNAISSANCE
Gestionnaire de documents
Wiki
GESTION DES CHANGEMENTS
Système de tracking pour tous artefacts:
exigences, bugs, tâches, demandes de support,etc.
GESTION DES RELEASES
Système de livraisons des packages
Release Notes
GESTION DE
CONFIGURATION
CVS
Subversion
GIT
Références croisées
GESTION DE PROJET
Permissions d’accès
Modèle des projets
Workflow
Tableaux de bords
Statistiques
Graphiques
OUTILS DE COLLABORATION
Messagerie Instantanée
Listes de distribution
Forums
Annonces
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Garantir la traçabilité des développements: le système de références
Du Gestionnaire de livrables… …à Subversion…
…au Tracker de Bugs… …au Tracker de Tâches…
…au Gestionnaire de document…
…au Chat…
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Le positionnement des
solutions ALM du marché
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Licence majoritairement
Propriétaire
Licence Propriétaire
Licence Libre
Licence des solutions ALM fournies par des éditeurs
HP ALM
MKS
MS Visual Studio
IBM Rational
Teamforge Solution majoritairement
propriétaire. Collabnet, sponsor de SVN
Polarion Solution majoritairement
propriétaire. Ne contient que quelques composants libres
Atlassian Jira, Confluence , Crucible… Gratuit seulement pour
les projets open-source
Tuleap, Open ALM Suite complète 100% libre et
open-source, nombre de projet illimité, nombre d’utilisateurs
illimité, durée illimitée
Gforge AS Gratuit pour 15 utilisateurs
maximum
Gforge Open-Source Couverture fonctionnelle
très réduite
Notes:
- Certains intégrateurs et SSII fournissent des services autour de solutions ALM d’ingénierie logicielle, propriétaires ou libres
- Liste des produits ALM non exhaustive
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Intégration continue
Hudson
Continum
Jenkins
Quelques outils libres d’ingénierie logicielle
Outils de build
Gestion documentaire
Outils de collaboration
Gestion des livrables
Gestion des changements
Gestion de version
Gestion de projet
Outils de développement
Eclipse
Mantis
SVN
Git
Mercurial
CVS
Ant
Phing
Maven
Tuleap Suite
Outil libre propulsé
par une communauté
Outil libre propulsé
par une fondation
Outil libre propulsé
par un éditeur
Redmine
FusionForge
Bazaar
Il existe des extensions pour la majorité de ces outils. Elles peuvent
étendre l’étendue fonctionnelle première. Avant déploiement, nous
vous encourageons à les tester, à vérifier leur stabilité et
compatibilité avec les prochaines versions.
Bugzilla
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Analyse de 3 forges libres : FusionForge, Redmine et Tuleap
Stabilité à grande échelle
Périmètre fonctionnel
Mise à jour et Nouvellesversions
Qualité technique
Information et Ressourcesdisponibles
Réactivité aux demandesde support
Extensibilité
Notoriété
Tuleap (PHP)
Redmine (Ruby)
FusionForge (PHP)
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Pourquoi choisir une solution
open-source pour son ALM ?
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
1. Innovation : toutes les innovations de l’ingénierie logicielle émanent des
communautés libres
> Soyez les premiers à bénéficier de cette création de valeur tant technologique
que méthodologique
Pourquoi choisir une solution ALM open-source?
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
1. Innovation : toutes les innovations de l’ingénierie logicielle émanent des communautés libres > Soyez les premiers à bénéficier de cette création de valeur tant technologique que méthodologique
3. Interopérabilité : l’open-source offre une ouverture incomparable
2. Extensibilité : seule une solution ALM open-source peut s’adapter aussi finement aux spécificités de votre métier et vous donne la possibilité d’étendre votre solution avec les standards ouverts et les API
4. Garder votre liberté et votre indépendance : n’enfermez pas vos savoirs-techniques.
Restez libres de changer d’avis.
5. Diminuer les coûts de licence
Pourquoi choisir une solution ALM open-source?
www.enalean.com ©Copyright Enalean 2012. Reproduction interdite
Plus d’infos: www.tuleap.com
Espace de démo : https://demo.tuleap.net
Téléchargement : https://tuleap.net
Etude de votre projet ALM sur demande