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.

Jira

Le choix de l’outil

Avant de choisir Jira, nous avons étudié plusieurs outils pour arrêter notre choix.
Nos exigences étaient les suivantes :

  • pouvoir gérer des projets
  • pouvoir saisir des temps liés à chaque tâche
  • pouvoir 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 », qui 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.

Jira demande

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)
  • Vous pourrez également ajouter des pièces jointe par upload ou glisser-déposer
  • Vous verrez (et pourrez modifier) les 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, qui vous permet de faire des recherches et d’enregistrer vos recherches 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, mais 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 et qu’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).

Jira Tempo

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  Jira tempo calendrier
  • par calendrier
  • par rapport
  • par 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) et seront ensuite ventilées en fonction de leur statut dans les colonnes « A faire », « en cours » ou « fini ».

Jira Projet

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é et 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, car 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.