table des matières
  1. Objectif
    1. Sitographie
    2. Structure Scrum dans Gitlab
  2. Mise en place de l’environnement
    1. Création du groupe
    2. Création du projet
    3. Créer les labels
      1. Labels de statut
      2. Labels de type
      3. Label d’Epics
    4. Mise en place de la cadence des Itérations (Sprint)
    5. Les Epics
      1. Créer le tableau de planning des Epics
      2. Ajouter les Epics du projet
      3. Diviser vos Epics en story
    6. Issues Boards
      1. Créer board de Backlog
      2. Créer un Issue Board pour l’Itération
    7. Finaliser la configuration des Issues

Objectif

  • Mettre en place une gestion de projet SCRUM sur la forge logicielle Gitlab

Après avoir suivi cette page, vous aurez configuré :

  • Les Labels de votre groupe
  • La cadence d’itération (Sprint)
  • L’Epic board “Release Planning” avec la priorité des Epics
  • L’Issue Board “BackLog” avec les story par Itération
  • L’Issue Board “Current Sprint” avec les story prêtes, en cours, terminées

A la fin de la configuration, vous serez capable :

  • De suivre vos Epics par Itération (en cours, à suivre, terminée)
  • De suivre les Story des Epics de l’itération en cours (prête, en cours, terminée)
  • De suivre la réalisation de l’itération dans le BurnDown Chart
  • D’utiliser le Workflow Gitlab pour réaliser le projet

Sitographie

La configuration proposée est extraite du tutoriel officiel

Structure Scrum dans Gitlab

Gitlab creer projet

Voici la teminologie SCRUM retenue dans Gitlab

  • Les features sont les Epic. Idéalement, une Epic correspond à un Sprint (ou Itération)
    • Un Sprint à une durée de 1 à 2 semaines.
  • Les Jobs Story sont les Issues de votre projet.
    • Une Story (ou issue) est un développement d’1 à 2 jours.
  • Les Tasks sont des sous-parties d’une issue. Nous ne traiterons pas les Tasks ici.
    • Une Task dure quelques heures.

Mise en place de l’environnement

L’environnement SCRUM est à mettre en place au niveau d’un groupe.
La première action est donc de créer un groupe et ensuite de créer votre projet dans ce groupe.

Création du groupe

  • Créer un groupe (exemple KeySafe)

Gitlab creer groupe

Création du projet

  • Créer un projet (exemple Trousseau de clés) dans le groupe
  • Initialiser le projet sur votre poste
  • Faites un premier commit sur la branche main

Gitlab creer projet

Créer les labels

  • Les labels vont être utilisés pour catégoriser vos tâches.

Au niveau du groupe (Manage > Labels), créer les labels suivants :

Labels de statut

Ces labels sont des éléments qui suivront vos taches au fur et à mesure de la réalisation

status::ready 
status::in progress 
status::done 

Labels de type

Ces labels vont être utilisés pour définir le type de travail

type::story

Label d’Epics

Ces labels vont être utilisés pour définir la priorité des Epics

priority::now 
priority::next 
priority::later
  • Page de création d’un label

Gitlab creer label

  • Liste (partielle) des labels créés

Gitlab creer projet

Mise en place de la cadence des Itérations (Sprint)

Il faut préciser combien de temps dure une Itération. Par exemple, si le projet est prévu pour 3 semaines et que l’équipe décide qu’une itération dure 1 semaine, il y aura 3 Itérations.

  • Depuis le groupe Plan > Iterations
  • Cliquer sur Nouvelle cadence d’itérations
  • Title : Sprint KeySafe
  • Sélectionner la date de début du projet
  • Duration : 1 (1 itération dure 1 semaine)
  • Upcoming iterations 2 (le projet dure (1+2) 3 semaines)

Gitlab creer cadence Sprint

Les Epics

Une Epic est une fonctionnalité que l’équipe peut réaliser en une seule itération.

Créer le tableau de planning des Epics

  • Accéder un planning des Epics (Plan > Epics Boards)
  • Créer un nouveau tableau Release Planning (Dans le coin en haut à gauche)

Gitlab creer Epic Release Planning

Ajouter les Epics du projet

  • En haut du tableau Open, appuyer sur le +
  • Entrer le nom de l’Epic Quand j’utilise l’application, je veux créer un utilisateur et son mot de passe principal

Gitlab creer Epics

  • Comme pour la précédente, créer toutes les Epics du projet
  • Voici des exemples d’Epics
    • Quand j’utilise l’application, je veux créer un utilisateur et son mot de passe principal
    • Quand j’utilise l’application, je veux retrouver mes mots de passe enregistrés
    • Quand j’utilise l’application, je veux que mon utilisateur puisse créer une liste de mots de passes personnel
  • Ajouter les listes priority::now, priority::next et priority::later au tableau Release planning
  • Déplacer vos Epics en fonction de leurs priorités

Gitlab priorité Epics

Diviser vos Epics en story

Faites ce travail pour l’Epic en priority::now

  • Aller dans le tableau des Epics (Plan > Epic Board)
  • Cliquer sur l’Epic pour définir les story de votre Epic

Gitlab créer story

  • Exemples de story
    • Je veux créer un utilisateur principal
    • Je veux pouvoir stocker plusieurs mots de passes
    • Je veux pouvoir mettre à jour et supprimer un mot de passe

Gitlab story créées

Issues Boards

C’est dans les Issues Board que vous allez suivre l’avancement du travail sur un Sprint.
Il va falloir créer 2 Issues Boards.

  • BackLog. Pour spécifier quelles issues sont prévues pour cette Itération
  • Current Sprint. Pour suivre l’avancement du travail sur le Sprint en cours

Créer board de Backlog

  • Plan > Issue Board
  • Create new Board (en haut à gauche) : Nom BackLog
  • Ajouter des listes
    • Selectionner Iterations
  • Créer une liste pour les deux prochaines itérations
  • Déplacer les story de l’itération en cours sur la liste correspondante

Gitlab backlog issue board

Créer un Issue Board pour l’Itération

  • Plan > Issue Board
  • Créer un nouveau tableau appelé Current Sprint
  • Cliquer sur Expand
    • A coté d’Itération cliquer sur Edit > Current

Gitlab current sprint issue board

Vous avez un tableau des Issues filtré par Itération.
Les story de l’itération apparaissent dans le tableau Current Sprint

  • Ajouter 3 listes au tableau Current Sprint
  • New list → Label
    status::ready 
    status::in progress 
    status::done
    

Gitlab current sprint issue board add listes

Finaliser la configuration des Issues

La gestion de projet Agile est un cours séparé.
Pour finaliser la configuration, vous allez donner un poids aux Issues en fonction de leur difficultés (1, 2, 3, 5, 8, 13)

  • Pour chacune des story
    • Cliquer sur la story
    • Indiquer le label type::story
    • Indiquer le poids de la tâche selon sa difficulté estimée
  • Déplacer les Story sur le label status::ready

Info Gitlab est configuré pour un projet SCRUM. Vous êtes prêt à travailler !

Remarques Toutes les actions de configuration ont été réalisées dans le groupe.
Noter que :
Les Epics sont liées à une itération
Les story d’une Epics sont liées à un projet

L’équipe projet retrouve les story de l’itération dans l’issue board du projet et les gère dans le projet.

Pour savoir comment utiliser le Gitlab Workflow, consulter la page suivante.
Gitlab Workflow