Il y a plusieurs mois, nous avons décidé de changer d’outil pour la gestion de nos projets et la gestion d’incidents et de demandes d’évolution logicielle. Nous avons essayé plusieurs produits et nous avons fini par retenir Jira. Je vous propose un retour d’expérience sur le sujet.
Le choix de l’outil
Avant de choisir Jira, nous avons étudié plusieurs outils pour arrêter notre choix.
Nos exigences étaient les suivantes :
- gérer des projets
- saisir des temps liés à chaque tâche
- gérer des demandes de corrections et d’évolution applicative
Nous avons testé les logiciels suivants :
- Mantis (lien) : Il fait très bien le job pour la gestion de bugs ou de demandes d’évolution, par contre la gestion des temps est assez légère, et la gestion de projets inexistante. L’interface est également assez datée et peu ergonomique à l’usage.
- Youtrack (lien) : Nous avons testé la solution de JetBrains (éditeur également de PHPStorm que nous utilisons pour nos développements) qui en plus au vue de la taille de notre équipe et en auto-hébergée avait l’avantage d’être gratuite. L’interface est plutôt bien faite, même s’il faut un peu de temps pour être à l’aise sur toutes les fonctionnalités, il est possible de faire du bugtracking et également de la gestion de projets, notamment au travers des tableaux Agile. La saisie de temps était également possible et plutôt bien faite. Par contre, nous l’avons finalement éliminé pour cause de base propriétaire, nous n’étions pas confort de ne pas avoir accès à la base de données pour faire des requêtes que l’interface ne nous proposait pas.
- Jira (lien) : Le dernier logiciel testé a été Jira quand aucun des deux précédents n’avait donné pleinement satisfaction. Et c’est finalement celui que nous avons retenu pour plusieurs raisons que nous allons exposer plus loin dans cet article. Retenons tout de même la possibilité de faire de la gestion de projets, de pouvoir saisir des temps et de faire du bugtracking. Il présente également l’avantage de pouvoir être interfacé avec de nombreux logiciels externes via des connecteurs adaptés ou standardisés, et également de pouvoir être complètement adapté aux besoins.
Jira
Nous avons commencé avec Jira 6, et tout de suite après est sorti Jira 7 sur laquelle nous avons migré.
Configuration d’un projet
Sur Jira, vous commencez en général par créer un projet. Celui-ci peut être de type « Software » (avec la possibilité de créer un projet de type Scrum, Kanban ou basique) ou Business (avec la possibilité de créer une gestion de tâche, de processus ou de projet). Une fois le projet créé, vous pourrez définir plusieurs choses afin de coller au mieux à votre organisation.
Types de demandes
Les types de demande peuvent se baser sur un modèle par défaut, ou par un modèle que vous pourrez définir et réutiliser dans d’autres projets. Quelques exemples de types de demandes possibles : nouveau développement, maintenance corrective, maintenance évolutive…). A noter que vous avez la possibilité de créer des types de demandes également pour des sous-tâches (il est possible dans Jira de créer des tâches dépendant d’une autre, ou sous-tâche donc).
Flux de travaux
Les flux de travaux permettent de créer les différentes étapes de la vie d’un ticket (ouvert, en cours de traitement, fermé, résolu…) et de gérer le workflow entre ces différentes étapes. Là encore vous aurez un système par défaut et vous pourrez en cas de besoin définir le votre.
Champs personnalisés
Vous avez également la possibilité de créer des champs en plus des champs existants.
Composants
Les composants ajoutent une notion de « sous-projet ». Cela peut être pratique pour catégoriser plus finement ensuite un ticket, et avoir une ventilation des temps passés par composant.
Sécurité
Vous allez pouvoir également gérer les rôles et autorisations sur le projet au travers de l’administration du projet. Là encore, vous allez trouver beaucoup de souplesse pour le paramétrage.
Gestion des demandes
Une fois votre projet créé et configuré, vous allez pouvoir créer des demandes, qui seront typées par ce que vous aurez précédemment définis. Il vous faudra définir une stratégie de création des demandes : est-ce que vous créez une demande pour chaque besoin basique, est-ce que vous créez une demande plus large (correspondant à une « brique » de votre logiciel) et vous gérez ensuite par des sous-tâches… Là, ça sera à vous de voir en fonction de votre organisation et la façon dont vous allez utilisez l’outil.
A noter que vous aurez les choses suivantes dans une demande :
- un entête récapitulatif avec toutes les informations sur la demande (titre, type, composant, priorité, état de traitement, descriptif)
- la possibilité d’ajouter des pièces jointe par upload ou glisser-déposer
- la visualisation des personnes concernées par la demande, ou en tant que simple observateur
- Vous aurez enfin en bas de page plusieurs onglets :
- Commentaires : permet d’échanger sur la demande en cours. Cela se révèle à l’usage très pratique et peut même servir plus tard à connaître l’historique de ce qui s’est passé sur un sujet
- Journal de travail : permet de centraliser les temps saisis sur cette demande
- Historique : historique des actions (modification, création avec valeurs avant / après) sur la demande
- Activité : historique des activités (commentaires, progression…) sur la demande
- Toutes : la consolidation des onglets ci-dessus
Les demandes peuvent être exportées au format XML et Word. Personnellement, j’utilise beaucoup cette option avant les réunions histoire d’avoir un résumé de ce qui s’est passé sur une demande.
Vous avez ensuite un module de recherche de demande plutôt bien fait. Il vous permet de faire des recherches et d’enregistrer vos favorites sous forme de filtres.
Tableau de bord
Il existe un notion de tableau de bord qui vous permettra de créer votre page d’accueil en utilisant les widgets et les filtres que vous aurez pu définir.
Quand le nombre de demandes devient important, cela vous aidera à y voir plus clair et créer ainsi votre todo liste.
Il est également possible de prévoir un affichage pour un panneau mural.
Saisie et visualisation des temps
Saisie
Un des pré-requis au choix était que l’on puisse saisir et suivre les temps de travail par personne et par projet. C’est d’autant plus important que nous avons des prestataires et que cela nous permet de rapprocher cela aux factures reçues.
Pour la gestion des temps, nous n’avons pas utilisé la fonctionnalité native de Jira qui était un peu courte par rapport à nos besoins. Nous avons installé l’extension « Tempo » qui est dédiée à cette activité.
Elle s’intègre dans une demande pour la saisie, ce qui fait qu’il est possible de saisir les temps correspondant à une tâche directement dans celle-ci. A noter que le formulaire permettant cette saisie est extensible. Il est là aussi possible de définir des champs personnalisés, qui peuvent être alimentés par un script sortant un JSONP (ce qui permet de créer des listes basées sur des valeurs situées dans une base de données hors Jira).
Dans notre cas nous avons créé les champs « Activités » et « Sociétés ».
Rapports de temps
Via le menu « Tempo », « Feuille de temps », vous allez pouvoir visualiser et consolider les temps saisie. Vous pourrez les voir par utilisateur, par équipe ou par projet.
Plusieurs types de visualisation sont possibles :
- par feuille de temps
- calendrier
- rapport
- liste (comme dans un fichier Excel)
Vous pourrez trouver toutes les informations sur l’extension Tempo Timesheet sur la documentation officielle.
Gestion de projet
Depuis la version 7 (c’était un module à part avant) Jira intègre la gestion de projet Scrum et Kanban.
Vous allez pouvoir vous créer des tableaux qui seront alimentées par un filtre que vous aurez défini (par exemple un tableau sur toutes les demandes concernant un projet, ou un tableau avec toutes les demandes de type bug…). A partir de là vous allez pouvoir définir vos sprints, séquences et versions. Les demandes vont pouvoir être affectées aux sprints (par exemple lors d’une réunion le lundi matin). Elles seront ensuite ventilées en fonction de leur statut dans les colonnes « A faire », « en cours » ou « fini ».
Vous avec également un backlog avec toutes les demandes qui attendent d’être positionnées dans un sprint. Si vous souhaitez plus de détails sur le mode gestion de projet, vous pouvez aller voir cet article détaillé sur le sujet.
Enfin, vous avez toute une série de graphiques associés (graphique d’avancement, de vélocité, rapport sprint et version….).
Conclusion et tarifs
Après avoir regardé différents outils, nous avons fini par nous arrêter sur Jira qui répond complètement à nos besoins. Nous sommes pour l’instant contents de ce choix.
Au niveau des tarifs, nous sommes partis sur un modèle auto-hébergé. L »équipe est petite (moins de 10 utilisateurs), ce qui fait que Jira ne nous a coûté que 10 dollars (plus 10 pour l’extension Tempo). Si vous êtes dans la même configuration le prix n’est donc pas un frein. A savoir par contre que les prix s’envolent au delà des 10 utilisateurs Jusqu’à 25 utilisateurs il vous en coûtera 1800 dollars, et 6000 pour 100. Vous pouvez consulter la page des tarifs pour en savoir plus.