Comment introduire les microsprints dans votre méthode de développement pour gagner en productivité?

methode-de-developpement

Les choses évoluent très rapidement chez Drift. Si vite d’ailleurs, que nous-mêmes n’arrivons même plus à nous suivre parfois !

On avait besoin d’un moyen d’améliorer la rapidité de mise en oeuvre des actualisations incrémentales de nos produits. Un sprint traditionnel nous prenait environ deux semaines pour pouvoir soumettre une nouveauté en production. On voulait un système qui nous permette de mettre en production des updates plus modestes, en parallèle, et de manière plus incrémentale.

Pendant des mois, on a cherché un système plus rapide qu’Agile et qui pourrait s’adapter facilement à notre réalité. Mais la plupart des frameworks nous a paru trop structuré et n'offrait pas la flexibilité dont nous avions besoin. On a continué à chercher...

Après de nombreuses recherches infructueuses, nous avons décidé de créer notre propre méthode de développement qui s’adapterait parfaitement à notre approche orientée client. Nous avons retroussé nos manches pour créer le framework dont nous savions qu’il allait répondre parfaitement à nos besoins.

Chez Drift, nous appelons cette méthode de développement le Framework Burndown, qui repose essentiellement sur des microsprints et sur la gestion sémantique de version. Les microsprints sont des éléments itératifs qui font parti d’une fonctionnalité et qui peuvent être validés indépendamment. La gestion sémantique de version correspond à la nomenclature qui nous permet d’organiser ces micro-envois et les rendre compréhensibles à n’importe quel membre de l’équipe.

methode-de-developpement-agile

Si nous allons construire une nouvelle version du tableau de bord client - appelons-le “Tableau de bord 2.0.0”, nous avons deux options:

  1. Nous pouvons envoyer la fonctionnalité complète en une fois, après deux semaines de travail, ou…
  2. Nous pouvons envoyer cinq actualisations incrémentales aux clients grâce à des microsprints de 2 jours.

Quelle option choisissez-vous? Pour nous, l’évidence saute aux yeux: l’option 2 est préférable, et de loin.

Pour compléter notre approche via microsprints, nous voulions un moyen de garder une trace de toutes les actualisations. On a introduit le concept de gestion sémantique des versions, un langage commun qui nous a permis de simplifier nos échanges en évitant les erreurs de communication.

(Mais soyons honnêtes, après un certain temps de rodage, notre aisance avec cette nouvelle méthode de développement nous a permis de nous passer de la gestion sémantique des versions; en somme, on a enlevé les roulettes du vélo!).

Pour concrétiser cette nouvelle approche, nous avons finalement choisi Trello, l’outil le mieux adapté à notre framework Burndown. On avait besoin de rapidité, de flexibilité (changement de priorisation constant), de releases incrémentales - et Trello nous a offert tout ce dont nous avions besoin en ce sens. Vérifiez par vous-même.

 

Les microsprints: la solution à vos besoins d’agilité

methode-de-developpement-trello

Chaque microsprint est une liste de Trello dont le nom est défini par notre système de gestion sémantique de version. Ces listes sont réévaluées quotidiennement pour vérifier qu’elles  correspondent toujours aux tâches prioritaires du moment.

Voici les principes qui guident notre méthode de développement avec le framework Burndown et la gestion sémantique de version:

  • Flexible
  • Approche orientée client
  • Itératif
  • Rapide
  • Incrémental
  • Évolution constante
  • Data-driven

Depuis l’introduction de ces concepts dans les méthodes de développement de l’équipe “Produit” de Drift, nous avons développé un nombre impressionnant de fonctionnalités en l’espace de quelques mois - toutes ayant directement contribué à accélérer le succès de Drift.

Notre flux de travail sur Trello est orienté de gauche à droite. Le plus à gauche, on retrouve les prochaines fonctionnalités à implémenter, tandis qu’à droite, ce sont les projets dont il manque le cahier des charges et qui doivent être mieux définis et attribués à un responsable.


Tandis que les listes se déplacent de droite à gauche dans le tableau de bord, elles traversent différentes phases, y compris l’attribution d’un responsable du projet. Suivant notre méthode de développement, c’est justement l’endossement du projet par le chef de produit qui constitue l’initialisation du projet.methode-de-developpement-drift

Une fois le cahier des charges du projet défini par l’équipe d’ingénieurs et les designers, la responsabilité de la liste va être transmise à l’équipe de conception produit, qui va transformer les idées en réalité. La conception est réalisée de manière itérative et le projet va être découpé en plusieurs microsprintsts qui peuvent être réalisés indépendamment les uns des autres. Ces microsprints pourraient être désignés par “Reporting 2.0.0” et “Reporting 2.1.0” par exemple.

Le designer va communiquer avec les ingénieurs pour réaliser l’implémentation et ces derniers vont prendre le relai. Grâce à notre méthode de développement, la gestion sémantique des versions permet de nous assurer que lorsque que nous re-priorisons les tâches au milieu du tableau de bord, il n’y ait pas de confusion dans la séquence des tâches. Impossible d’avoir une release de “Reporting 2.1.0” avant “Reporting 2.0.0” par exemple, ce serait mettre la charrue avant les boeufs!

Comment adapter le Framework Burndown à Trello?

methode-de-developpement-microsprint-trelloCertaines caractéristiques de Trello le rendent parfait pour cette méthode de développement:

Un outil visuel pour un framework visuel

Le framework Burndown est visuel par essence; les images et les screenshots accompagnement systématiquement le développement des fonctionnalités et servent à communiquer l’information exacte de ce qui doit être fait à chaque release. Au sommet de chaque microsprint, nous créons une carte de HAUT NIVEAU avec un screenshot qui montre exactement le résultat attendu de ce microsprint. Tout le monde a accès à ce tableau Trello, chaque département peut voir exactement quel sont les prochains éléments du pipeline - secteur commercial, direction marketing, managers, etc.

Un maximum de flexibilité - on évite les dépendances en cascade

Cette méthode de développement s’adapte parfaitement à Trello, où il est très facile de déplacer des tâches et des projets en toute liberté. Le framework Burndown et les microsprints définissent une méthodologie ultra agile et ultra flexible. On avait besoin d’un outil qui ne nous limite pas lorsque nous souhaitons chambouler les priorités.

Dans chaque tableau des équipes de développement de produit, les releases sont spécifiques à des parties distinctes du produit final, ce qui permet aux équipes de travailler en parallèle à l’aide de microsprints sans se bloquer les unes les autres. Si l’un des microsprint possède une dépendance vis à vis d’une autre équipe, nous créons un label “Dépendance d’une autre équipe” sur la carte Trello. L’ingénieur qui travaille sur ce sprint est alors responsable de la collaboration entre les équipes.

En effet, certains outils gèrent les dépendances entre les tâches de sorte qu’un simple déplacement de tâche met rapidement le bazar dans l’ensemble du projet. Avec Trello, pas d’effet domino du genre “Si je déplace ceci, est-ce que je vais avoir une mauvaise surprise et ma timeline va se retrouver sans dessus dessous?”

Fonctionnalités utiles comme les labels ou les pièces jointes

Trello autorise également l’ajout de pièces jointes et l’intégration des commentaires permet d’avoir de courtes discussions sur chaque microsprint, ce qui le rend très efficace et compatible avec notre méthode de développement.

Nous utilisons les étiquettes de manière à mettre en valeur les éléments qui ont encore besoin d’être conçus (étiquette rouge), les tâches bloquées (étiquette orange), et les dépendances liées aux rendus d’autres équipes (étiquette bleu).

Adopter Trello pour les microsprints et la gestion sémantique de version dans votre équipe de gestion de produit

Dans une grande structure organisée suivant des processus déjà très ancrés dans la culture de l’entreprise, il est préférable de faire un test au sein d’une première équipe de gestion de produit (ingénieur / chef de produit / designer).

En organisant les méthodes de développement d’une équipe en respectant le framework Burndown, avec des microsprints et la gestion sémantique des versions grâce à Trello, vous allez prouver à vous-même, à vos collaborateurs et à vos supérieurs que c’est une méthode efficace et efficiente de concevoir des produits, et vous pourrez envisager le déploiement de ce framework au sein d’autres équipes.

Si votre organisation se situe à un stade plus précoce, vous devriez adopter la méthode de microsprints gérés via Trello dès le départ, et disséminer ces pratiques dans la culture de l’entreprise.

L’idée est de prévoir deux à trois semaines d’activités à venir (10 à 15 microsprints). Nous n’allons pas plus loin afin que notre vision à long terme ne nous empêche pas de nous adapter rapidement aux changements, comme c’est souvent nécessaire dans une startup. Chaque ingénieur prend la responsabilité d’une seule carte Trello à la fois, et ils sont entièrement responsables de la mise en oeuvre de la fonctionnalité du produit liée à la carte.

Voici comment fonctionne notre système de gestion sémantique de version...

N.x.x (Major Release)

Correspond au développement d’une nouvelle branche du produit ou à la refonte complète d’une partie existante.

x.N.x (Minor Release)

Correspond à l’introduction d’une nouvelle fonctionnalité à l’intérieur d’un élément déjà existant.

x.x.N (Patch)

Quand un élément d’une fonctionnalité est légèrement modifié.

Là encore, je rappelle que la gestion sémantique des versions est un peu comme les roulettes du vélo: recommandée au début, on peut s’en passer après 3 ou 4 mois ou lorsque l’équipe est parfaitement à l’aise avec cette méthode de développement.

Chez Drift, nos équipes de gestion de produit sont divisés suivant les fonctionnalités associées aux différents profils d’utilisateurs, ce qui nous permet de travailler sur l’évolution de plusieurs aspects du produit en parallèle. Bien entendu, cela signifie également une organisation du code pour qu’il soit divisé suivant la même logique, afin de ne pas créer de dépendances.

Microsprintez pour améliorer la gestion produit

Si vos méthodes de développement sont semblables aux nôtres, si vous êtes orienté clients sur toute la chaîne de valeur, les microsprints et la gestion sémantique de version sont deux outils puissants pour créer de nouveaux produits plus rapidement.

Aujourd’hui, les solutions de software deviennent des “commodities”, nous avons besoin d’un cadre stratégique d’évolution, et ce dernier pourrait très bien être la rapidité à laquelle vous êtes capable de répondre aux changements du marché et aux nécessités des clients. Avec le framework Burndown et les microsprints gérés dans un outil comme Trello, vous pouvez atteindre un autre niveau en terme de compétitivité grâce à votre flexibilité dans l’adaptation aux changements.

 

Si vous avez la moindre question à propos du Burndown, des microsprints et de notre sémantique de version, vous trouverez plus d'informations ici (en anglais). N'héstez pas à me contacter si vous voulez en savoir plus, matt@drift.com ou @mattbilotti sur Twitter. 

Trello Business Class vous connecte à vos outils préférés, tels que Salesforce, Github et bien d'autres.

En Savoir plus!