Scrum 426

Post #233 written by Khodok in School

Content

Scrum

La première prise de contact avec Scrum va se faire via le guide scrum disponible en suivant le lien : Scrum Guide

But du guide Scrum

  • Scrum a été développé au début des années 1990.
  • Le guide contient la définition du cadre de travail.
  • Scrum est en utilisation croissante dans le monde.
  • Scrum est en constante évolution.

Définition de Scrum

Scrum est un cadre de travail léger qui aide les personnes, les équipes et les organisations à générer de la valeur grâce à des solutions adaptatives pour des problèmes complexes.
En bref, Scrum a besoin d’un Scrum Master pour favoriser un environnement où :
1. Un Product Owner ordonne le travail pour résoudre un problème complexe dans un backlog.
2. La Scrum Team transforme ce travail en un Increment de valeur lors d’un Sprint.
3. La Scrum Team et ses parties prenantes inspectent les résultats et s’adaptent pour le prochain Sprint.
4. Répéter.

Scrum est simple. Essayez‐le tel qu’il est et, déterminez si sa philosophie, sa théorie et sa structure aident à atteindre les objectifs et à créer de la valeur. Le cadre de travail Scrum est volontairement incomplet, ne définissant que les parties nécessaires pour mettre en œuvre la théorie Scrum. Scrum repose sur l’intelligence collective des personnes qui l’utilisent. Plutôt que de fournir aux gens des instructions détaillées, les règles de Scrum guident leurs relations et leurs interactions.

Scrum est un cadre de travail léger

Scrum n’est pas un processus complet (ni une méthode et encore moins une méthodologie), c’est un cadre de processus.

  • Un processus définit une façon de travailler.

Les origines

Scrum n’est pas un acronyme. Il est emprunté au rugby où il signifie mêlée. Au rugby, la mêlée permet de repartir sur des bases solides, avec une poussée synchronisée de tout le pack. C’est la quintessence de l’effort collectif.

Comment appliquer Scrum ?

  • Scrum permet aux gens de travailler en équipe.
  • Le rythme de travail est donné par une série d’itérations.
  • Toutes les tâches à faire se trouvent dans une liste.
  • Cette liste prioritisée permet d’alimenter la Team. Le travail est entrecoupé d’événements du Sprint.
    • La première séance de démarrage.
    • Mise au point quotidienne pour s’assurer de converger vers l’objectif.
    • A la fin du Sprint l’équipe présente le résultat pour obtenir du feedback.
      Réflexion pour prochain Sprint.

En quoi Scrum est-il différent ?

On peut utiliser l’acronyme EPATER pour mentionner les 6 notions par lesquelles le changement radical apporté par Scrum est visible :

  • Emergence : La complexité d’un produit.
    nous ne connaissons pas tout à l’avance. L’équipe est favorisée pour proposer de nouvelles idées.
  • Priorité : Pendant le Sprint on se focalise sur les tâches qui apportent de la valeur.
  • Auto-organisation : La Team s’organise dans son travail.
  • Transparence : Le suivit de l’avancement est connu et visible par tous.
  • Empirisme : -
  • Rythme : Le Sprint est une période de temps dont la fin n’est jamais repoussée.

Le Manifeste Agile

Le terme “agile”, maintenant associé à Scrum, est apparu dans le domaine du logiciel avec le Manifeste agile (2001). Ce manifeste définit une posture prise par rapport à des processus lourds et bureaucratiques :

  • Les gens et leurs interactions sont plus importants que les processus et les outils.
  • Un logiciel qui fonctionne prime sur de la documentation exhaustive.
  • La collaboration avec le client est préférable à la négociation contractuelle.
  • La réponse au changement passe avant le suivi d’un plan.

Il inclut en plus de ces quatre valeurs, douze principe dont le premier est tout simplement fondamental :

Satisfaire le client en livrant tôt et régulièrement des logiciels utiles qui offrent une véritable valeur ajoutée.

Méthode Agile

Scrum et eXtreme Programming (XP) existaient avant le Manifeste. Dès la publication de celui-ci, on les considéra comme des méthodes agiles, avec d’autres maintenant marginales. Depuis peu, Kanban fait partie de celles qui comptent.

L’agilité

L’agilité est la capacité d’une organisation à fournir tôt et souvent les services procurant de la valeur, tout en s’adaptant à temps aux changements dans son environnement.

  • Scrum accueille le changement, mais ne le rend pas permanent. Durant un Sprint, la Team ne doit pas être perturbée, le changement est possible à la fin du Sprint, mais pas pendant.

Le Sprint

Scrum et les méthodes agiles proposent un modèle de cycle de développement basé sur une phase qui se répète plusieurs fois successivement : le sprint.

  • Il a une durée fixe.
  • Il se déroule selon un schéma défini.
  • L’équipe a la responsabilité d’en définir les activités.

Scrum se base sur une approche “itérative et incrémentale” pour le développement d’un produit.

  • Incrémental : Le produit se construit morceau par morceau.
  • Itératif : Revenir sur ce qui a été fait, dans le but de l’améliorer.

Scrum combine les deux approches avec la notion du sprint : Un sprint est une itération qui produit un résultat qui ajoute un nouveau contenu (incrémental ) et enrichit (suite au feedback) du contenu ajouté dans un incrément précédent (itératif).

Rythme régulier

Quelles sont les caractéristiques du Sprint ?

  • Des itérations courtes : les sprints durent d’une semaine à un mois.
  • Une séquence stricte : les sprints ne se chevauchent pas.
  • Un rythme régulier : les sprints ont la même durée.
    On s’organise très facilement pour fixer la date de démonstration (feedback.
    La vélocité sera mesurée et appliquée pour les prochains sprints.

Bloc de temps

Pour le sprint, la notion de bloc de temps s’applique de la façon suivante : on ne change pas la date de fin une fois que le sprint a commencé. Même si on n’a pas fini tout ce qu’on voulait faire !

  • On évite le problème du : “J’ai presque fini, attends un peu”.
  • On ajuste le contenu des prochains sprints.

Durée du sprint
Bien qu’aujourd’hui, on constate une tendance à faire des sprints courts, de deux ou trois semaines, la question se pose concernant la stricte définition de cette durée.
Quelques critères à examiner pour définir la bonne durée :

  • La capacité de l’équipe à fournir le résultat.
  • L’implication des parties prenantes à donner le feedback.
  • La facilité à organiser les événements du Sprint.
  • La fréquence des changements.
    Lorsque le Sprint démarre : l’équipe ne doit plus être interrompue.

Activités d’un sprint

Un cycle de développement se présente comme un enchaînement de phases pendant lesquelles on effectue des activités : Spécification, Architecture (conception), Codage, Tests.
Avec Scrum, chacun des sprints se termine avec un résultat qui fonctionne, ce qui nécessite du travail dans toutes les activités de développement. A l’intérieur d’un sprint, le déroulement n’est pas séquentiel (S, A, C et T); l’idée qui prévaut est celle d’un flux continu juste interrompu en fin de sprint.

  • Spécification et conception sont des activités continues dans Scrum.
    De nouvelles idées émergent.
    D’où l’importance d’une bonne architecture.
  • La qualité n’est pas négligée.
    Les tests font partie de chaque Sprint.
    Dès le début la solution est fonctionnelle ! (TDD).

Résultat du sprint

La mise en service est l’action de procurer de la valeur aux utilisateurs en leur livrant une version.

  • Elle est faite au plus tôt pour procurer de la valeur au client.
    Pas forcément à la fin d’un Sprint.
  • Son avantage est de guider la suite du processus.

Un déploiement est l’action d’installer une version sur un environnement, pour apprendre quelque chose.
Que fait-on du résultat du sprint, si on ne le met pas en service pour les utilisateurs finaux ?

  • Réduire les risques : Utilisé par une équipe d’experts pour minimiser les risques liés à une technologie (Capacité de l’équipe à gérer ces composants).
  • Obtenir du feedback : On fait une sélection de parties prenantes.
    Pour obtenir des retours sur l’ergonomie ou les fonctionnalités.

Le déploiement en fin de sprint permet d’apprendre !

Le rythme des saisons

L’équipe

L’importance des gens, le côté humain, c’est le principal différenciateur de Scrum et de l’Agilité, ce qui est cohérent avec la première valeur du Manifeste agile :
Les gens et leurs interactions sont plus importants que les processus et les outils.

  • L’équipe est au coeur de Scrum.
  • Autour de l’équipe gravitent toutes les personnes intéressées par les résultats.
  • On cherche à ce que l’équipe se sublime (Grâce aux développeurs et à ceux qui sont autour).
  • Ils font tous partie du même écosystème.

L’écosystème Scrum inclut l’équipe et le résultat qu’elle produit à partir du backlog, ainsi que les personnes intéressées par ce résultat.

Ecosystème

  • Le feedback va réguler le backlog.
  • L’espace de travail dans lequel évolue l’équipe fait partie de l’écosystème.
  • Dans les équipes Scrum les gens ne sont pas considérés comme des expandables.Yes, you are ! lightsaber whooshes
    La confiance, l’auto organisation plutôt que le pouvoir du chef.

Auto-organisation

L’écosystème Scrum est celui mis en place pour développer un produit ou un service et il contiendra fréquemment des gens appartenant à plusieurs entités ou plusieurs entreprises.

  • Chacun est autonome dans la prise de décision.
  • Intégration de deux sortes de gens: ceux qui développent et ceux qui sont intéressés par le résultat.

Les valeurs partagées

Scrum est associé à cinq valeurs (FORCE) :

  • Focus : Objectif (volonté de ce concentrer sur cet objectif).
  • Ouverture d’esprit
  • Respect
  • Courage
  • Engagement

L’équipe Scrum

L’équipe Scrum est composée des personnes qui contribuent à produire un résultat à chaque sprint.
Scrum définit seulement trois rôles pour les membres de l’équipe :

  • Deux rôles spécifiques de Scrum :

  • Deux rôles spécifiques de Scrum : Product Owner (PO) et Scrum Master (S&M 😂).

  • Les membres de l’équipe de développement.

Une équipe Scrum est un système vivant produisant des résultats; pour optimiser son efficience elle devrait être de bonne Taille, Auto-organisée, Pluridisciplinaire, avec une Identité propre et Stable (TAPIS)

  • Taille : Le niveau de satisfaction : 7 (optimum).
    Entre 5 et 9 c’est ok.
  • Auto-organisation et intelligence collective : Elle oranise le travail de la façon qu’elle juge la plus efficace. Chaque membres apporte son expertise.
  • Pluridisciplinarité : Idéalement l’équipe possède toutes les compétences.
    On ne demande pas à ce que chaque membre dispose de toutes les compétences.
  • Identité : Le sentiment d’appartenance est fort. L’équipe se construit sur ses réussites. La fin des sprints = occasion de présenter le résultat ET de le fêter ensemble.
  • Stabilité : Demeurer dans une équipe = mieux travailler ensemble.

Tenir le rôle de membre de l’équipe

Pour constituer une équipe, on prend en général les gens qui sont là. Si on peut choisir, on prendra la personne qui rentre le mieux dans le cadre collectif et qui favorise le plus la pluridisciplinarité.

Chaque membre d’une équipe auto-organisée est responsable, devant ses pairs, de ses actions. Le partage du travail est décidé en commun avec les autres membres, dans un engagement collectif; il n’est donc pas imposé par une autorité quelconque.
Une personne de l’équipe exerce sa responsabilité en contribuant du mieux qu’elle peut à l’effort collectif; chacun est invité à prendre des initiatives et des décisions.
Les mesures que l’on collecte dans Scrum ne sont pas individuelles : pas de mesure du temps passé, ni de la performance.
Les compétences d’un membre de l’équipe qui peuvent être pointues ou variées sont mises au service de l’équipe pluridisciplinaire. Il est souhaitable de les partager avec les autres membres de l’équipe. Scrum pousse à ce partage, qui présente deux bénéfices :

  • Le risque qu’une seule personne = grandes connaissances, est limité.
  • Chacun acquiert de nouvelles compétences.

On ne constitue pas une équipe si chacun travaille sur son morceau de code dans son coin. Il existe des techniques pour organiser le travail car Scrum favorise l’entraide entre les gens, leur permettant de s’améliorer continuellement.
Dans une équipe Scrum, il n’y a pas de chef, il n’y a pas non plus de rôle pour un leader technique. Il est cependant possible d’avoir une personne qui possède un leadership technique reconnu qui peut favoriser la prise de décision sur des choix de conception. Le leadership est un comportement, pas un rôle.

Les parties prenantes

  • Toutes les personnes intéressées par les résultats produits par l’équipe.

Ce sont des utilisateurs, des clients mais aussi des sponsors, des représentants des utilisateurs, des gens du marketing ou du commerce, des managers, des personnes impliquées dans l’infrastructure, dans la qualité, etc.
Pour des produits grand public, il peut y avoir des milliers de personnes concernées et toutes ne seront pas des parties prenantes. Elles auront des représentants dans l’écosystème.

Parties prenantes

Une partie prenante est un peu moins impliquée qu’un membre de l’équipe : elle ne réalise pas de travaux contribuant au résultat. Néanmoins, elle participe activement à la réussite de l’objectif commun.

  • Dans Scrum elle est invltée à un événement (la revue).
    Elle est sollicitée pour donner son feedback.
    Apprendre quelque chose, etc. Son objectif est d’ajouter de la valeur au produit.
Comments

Please Log in to leave a comment.

No comments yet.