En coulisses : du développement logiciel et du rugby

Quand j’ai entendu pour la première fois que Creo était dans un Scrum (mêlée de rugby), mon esprit est retourné dans le passé, à l’époque où j’allais à l’école et où je jouais au rugby sur les terrains anglais. Je voyais des pelotons de joueurs sur trois rangées, soudés, inextricablement emmêlés, en train de pousser le ballon dans une forêt de jambes poilues et de chaussettes remontées jusqu’au genou.

Mais, chez PTC, le mot « Scrum » ne renvoie pas tout à fait à cela. En l’occurrence, Scrum désigne une approche de développement que nous utilisons pour Creo, sans véritable relation avec ce sport britannique. Pour paraphraser Wikipedia :

« Scrum est une méthode de gestion de projets incrémentale et itérative, souvent utilisée dans le cadre de la méthodologie Agile Software Development. La notion de Scrum date de 1986, lorsque Hirotaka Takeuchi et Ikujiro Nonaka ont défini une nouvelle approche qui augmenterait la vitesse et la flexibilité dans le développement de nouveaux produits. Dans celle-ci, les phases se chevauchent fortement et l’ensemble du processus est réalisé par une équipe multidisciplinaire à travers différentes phases. Ils ont comparé cette nouvelle approche au rugby où l’équipe essaie d’avancer unie, en faisant circuler la balle. »

J’ai demandé à Michael Pfrommer (vice-président du développement de produits Creo) ce que signifiait Scrum pour PTC et ses produits.

GH : Scrum est une nouvelle approche pour PTC, mais tout le monde ne sait pas à quoi ressemblait le développement logiciel avant Scrum ou d’autres méthodes agiles similaires. Pouvez-vous les décrire ?

Pfrommer : Avant Scrum, une version logicielle était généralement développée par phases (la recherche, la conception, le développement), ponctuées de jalons officiels, et cela pouvait durer des mois et des années. Scrum procure beaucoup plus rapidement des résultats immédiats, avec l’objectif de faire progresser le projet par petites étapes, généralement appelées sprints (itérations).

GH : J’ai entendu parler de ScrumMaster, de Sprint Owner, etc. De quoi s’agit-il ?

Pfrommer : Scrum est un processus squelette contenant des ensembles de pratiques et de rôles prédéfinis. Chez PTC, les rôles principaux Scrum sont les suivants :

le ScrumMaster (facilitateur/animateur) gère les processus et s’assure que toutes les équipes suivent l’approche Scrum (remplace globalement le chef de projet). Chez PTC, nous avons plusieurs ScrumMasters et plusieurs équipes Scrum.

Le Product Owner (directeur de produit) représente les intervenants et les clients. Le directeur de produit supervise les spécifications produit finales définies pour le produit commercial à sortir. Celles-ci incluent les exigences fonctionnelles et non fonctionnelles (infrastructure), ainsi que les exigences relatives à l’interface externe, aux données et aux performances. Chez PTC, ce rôle est généralement dévolu à une personne de l’équipe de gestion de produits. Le produit n’est pas validé tant que le directeur de produit n’est pas satisfait de l’intégration des exigences essentielles. Remarquez cependant que le directeur de produit n’agit pas de façon arbitraire. Chez PTC, les spécifications produit sont développées en tenant compte d’une série d’expériences utilisateur détaillées, appelées « epics ».

Chez PTC, le Sprint Owner est l’équipe de définition du produit. Il dirige chaque sprint à partir des exigences. Il tient compte des epics du directeur de produit et les décompose en éléments gérables à inclure dans un sprint. Nous appelons ces éléments des stories.

L’équipe est le groupe multidisciplinaire chargé concrètement de l’analyse, de la conception, de l’implémentation, du test, etc.

Tous les rôles collaborent et forment ensemble l’équipe Scrum qui est responsable de la livraison du produit ou des incréments potentiellement livrables du produit. L’équipe est dirigée par le Scrum Coach, et inclut le directeur de produit, des développeurs, etc.

GH : Pourquoi PTC a-t-il à la fois les rôles de directeur de produit et de Sprint Owner ? Ces deux rôles semblent similaires.

Pfrommer : C’est le directeur de produit qui possède réellement la vision des spécifications produit et qui sait quelles sont les exigences indispensables pour réussir la sortie du produit. Cette personne est également impliquée dans des aspects commerciaux, comme les licences, les packages et les prix. Le Sprint Owner s’attache uniquement à vérifier que chaque sprint a les exigences appropriées et respecte celles-ci.

GH : Cela semble bien compliqué. Pouvez-vous nous présenter un processus classique ?

Pfrommer : En fait, cela n’a rien de compliqué, surtout en comparaison avec le processus traditionnel.

Le sprint est au cœur du processus Scrum. Durant chaque sprint (qui dure généralement quatre semaines), l’équipe crée un incrément de produit potentiellement livrable (c’est-à-dire que tout ce qui est ajouté durant le sprint est fonctionnel et testé).

Le jeu de fonctions rentrant dans un sprint provient des epics qui sont des ensembles priorisés d’exigences générales donnés par le directeur de produit. Le Sprint Owner décompose ces epics en stories (ou éléments), puis dirige la réunion de planification du sprint pour déterminer quels éléments vont entrer dans le sprint suivant et dans le backlog de produit (une liste des fonctionnalités du produit en attente).

Au cours de cette réunion, l’équipe détermine les éléments qu’elle va pouvoir accomplir durant le prochain sprint. Dès que le sprint est défini, plus personne ne peut modifier les éléments du sprint : les exigences sont donc gelées.

Le développement est soumis à la méthode du timeboxing (limitation dans le temps), de sorte que chaque sprint doit se terminer à temps. Les éléments non réalisés sont laissés en l’état et renvoyés au backlog de produit. Lorsqu’un sprint est terminé, l’équipe effectue une démonstration du logiciel.

GH : Pour vous, quels sont les avantages de Scrum pour PTC ?

Pfrommer : Je vois trois avantages majeurs dans la méthode Scrum. Premièrement, dans chaque sprint, nous constatons un progrès rapide dans l’évolution du produit. Il s’agit d’une approche transparente par étape, de sorte que nous voyons immédiatement les résultats sur des périodes de quelques semaines à peine. Deuxièmement, il est possible de changer d’avis, en cours de projet, sur ce qui est souhaitable et indispensable. Avec les nouvelles technologies de Creo, Scrum offre une plate-forme permettant de gérer les problèmes imprévus qui ne peuvent pas être facilement résolus de façon classique par prévision ou planification. Troisièmement, à l’issue de chaque sprint, nous avons un candidat de sortie potentiel.

GH : S’agit-il de la première utilisation chez PTC ?

Pfrommer : Non, cela fait des années que nous utilisons les méthodes agiles pour un grand nombre de nos produits. En fait, nous avons suivi cette approche pour Creo Elements/Direct 17.0, et c’est pourquoi nous avons pu donner un aperçu des nouvelles fonctionnalités bien avant la sortie du produit. C’est vrai aussi pour Creo. Nous avons pu dévoiler des fonctionnalités pratiquement neuf mois avant la sortie.

GH : À la fin de chaque sprint, PTC peut sortir Creo ?

Pfrommer : Oui. Et le nombre de sprints accomplis augmente la probabilité de sortie du produit. Dès que nous avons identifié un candidat de sortie potentiel, nous entrons dans une approche de test plus large, dans laquelle nous impliquons davantage de personnes, notamment du personnel interne, des partenaires éditeurs de logiciels et des clients.

GH : Combien d’autres sprints sont encore prévus avant d’obtenir le candidat pour Creo 1.0 ?

Pfrommer : Nous avons terminé le dernier sprint juste avant Noël, et nous prévoyons encore 3 ou 4 sprints avant d’avoir le candidat Creo 1.0. Actuellement, nous pensons avoir une version beta en mars et commercialiser Creo 1.0 en juin.

Visitez régulièrement notre section En coulisses pour découvrir les prochains articles sur Creo et Scrum. Nous ferons le point sur le statut actuel du Scrum Creo 1.0 et détaillerons l’approche de test étendu.

Image de royskeane

Cet article a été publié dans En coulisses avec les mots-clefs : , , , , , , , , . Bookmarker le permalien. Laisser un commentaire ou faire un trackback : URL de trackback.

Poster un commentaire

Votre e-mail ne sera jamais publié ni communiqué. Les champs obligatoires sont indiqués par *

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <pre> <q cite=""> <s> <strike> <strong>