Blog de Philip Doxakis    LinkedIn    GitHub    RSS

Mener à bien un projet

Outils pour mieux gérer un projet

Introduction

Je prends le temps de vous décrire les 2 outils qui me sont les plus utiles pour mener à bien un projet en programmation.

D'abord, je vous mets en contexte. Les utilisateurs envoient plein de demandes. Il y a des bogues rapportés. Les priorités changent et on doit travailler sur plusieurs projets. On est en équipe avec d'autres développeurs.

L'outil le plus important, c'est un logiciel de gestion de versions. Cela permet de conserver une trace des changements et de facilement mettre en commun le travail des programmeurs.

Pour les projets open source, j'aime bien utilisé GitHub. Toutefois, pour les projets privés, j'utilise GitLab. (Gratuit)

Le second outil, c'est un logiciel de gestion des processus. Dans mon cas, je l'utilise pour modéliser le cycle du développement logiciel et suivre la progression des tâches. J'utilise Kanboard. (Gratuit, open source et auto-hébergé)

Organisation

Pour chaque application à développer ou à maintenir, je crée un projet dans le site web. (kanboard)

J'ai défini les colonnes suivantes:

  • En attente
  • Prêt
  • En cours
  • Terminé
  • En production

Vous pourriez très bien ajouter une colonne "À valider".

Je m'assure de ne pas avoir plus d'une tâche dans la colonne "En cours".

Normalement, je crée les tâches dans la colonne "Prêt". Toutefois, s'il y a des tâches qui bloquent, je les mets dans la colonne "En attente".

Il suffit de glisser-déposer (drag and drop) les tâches d'une colonne à l'autre. Généralement, les tâches vont vers la droite et elles finissent par être en production.

Pour chaque version du logiciel, je définis un swimlane. En gros, cela permet d'avoir un tableau des versions et des tâches. Je peux donc associer une tâche à une version et vice-versa. Cela permet de conserver une trace des demandes et des besoins exprimés. Un swimlane peut être utilisé pour représenter une version, une itération ou bien une phase dans le projet. Il m'arrive de créer des versions contenant la variable "x". Par exemple, il y a la version "1.1.X" et la version "2.X". Cela permet de conserver une trace des idées et tâches à réaliser pour les futures versions / phases.

De plus, sur le dépôt Git, je crée un tag annoté pour chaque version. Cela permet d'avoir une correspondance entre les tâches réalisées (kanboard) et le code source (Git).

Syntaxe :

git tag –a v1.2 –m "msg"
git push --follow-tags

Où "v1.2" est le tag et où "msg" peut être utilisé comme un résumé.