Lecture: 5 mn

Les méthodes de développement agile, aussi appelé développement adaptatif, sont des méthodes axées sur les personnes avec pour objectif, la satisfaction du client en s’appuyant sur la réalisation d’un logiciel entièrement fonctionnel tout au long de sa fabrication.

PRINCIPE ET DIFFÉRENTES PHASES

 

Le principe de la méthode SCRUM est de développer un logiciel de manière incrémentale en maintenant une liste totalement transparente des demandes d’évolutions ou de corrections à implémenter (backlog). Avec des livraisons très fréquentes, toutes les 4 semaines en général, le client reçoit un logiciel à chaque fois, un logiciel possédant toujours plus de fonctionnalités et en parfait état de fonctionnement. Pour cela, la méthode s’appuie sur des développements itératifs à un rythme constant d’une durée de 2 à 4 semaines.  Les évolutions peuvent donc être plus facilement intégrées que dans un cycle en V.Méthode Agile Scrum Pentalog

Concrètement, cette méthode nécessite 4 types de réunions :

  • Les réunions quotidiennes : chaque jour, toute l’équipe se réunit, généralement debout, pendant 15 minutes environ pour répondre aux 3 questions suivantes : qu’ai-je fait hier ?, Que vais-je faire aujourd’hui ? Y a-t-il un obstacle gênant aujourd’hui ?
  • Les réunions de planifications : toute l’équipe se réunit pour décider des fonctionnalités qui vont composer le sprint suivant et mettre à jour la liste générale.
  • Les réunions de revue de travail : lors de cette réunion, chacun présente ce qu’il a fait pendant la durée du sprint. Une démonstration des nouvelles fonctionnalités ou de présentation de l’architecture est organisée. Il s’agit d’une réunion informelle de 2 heures environ à laquelle participe toute l’équipe.
  • Les réunions de rétrospectives : à chaque fin de sprint, l’équipe fait le point sur ce qui à bien fonctionné et sur ce qui a moins bien fonctionné. Lors de cette réunion d’une durée de 15 à 30 minutes où chacun est invité et parle en son nom, un vote de confiance est organisé pour décider des améliorations à apporter.

L’avantage de la méthode est de réduire au strict minimum la documentation afin de gagner en productivité. L’idée ici est de ne faire que la documentation minimale qui permet de garder l’historique des décisions prises sur le projet et de pouvoir facilement intervenir sur le logiciel lorsqu’il sera entré en phase de maintenance.

ORGANISATION

 

La méthode SCRUM AGILE fait intervenir 3 rôles principaux qui sont :

  • Product owner : Dans la majorité des projets, le responsable produit (product owner) est le responsable de l’équipe projet client. C’est lui qui va définir et prioriser la liste des fonctionnalités du produit et choisir la date et le contenu de chaque sprint sur la base des valeurs (charges) qui lui sont communiquées par l’équipe.
  • ScrumMaster : Véritable facilitateur sur le projet, il veille à ce que chacun puisse travailler au maximum de ses capacités en éliminant les obstacles et en protégeant l’équipe des perturbations extérieures. Il porte également une attention particulière au respect des différentes phases de SCRUM.
  • Equipe : d’une taille allant de 4 à 10 personnes en général, l’équipe regroupe tous les rôles habituellement nécessaires à un projet, à savoir l’architecte, le concepteur, le développeur, le testeur, etc. L’équipe s’organise elle-même et elle reste inchangée pendant toute la durée d’un sprint.

AVANTAGES DE LA MÉTHODE SCRUM AGILE

Scrum se différencie des autres méthodes de développement par ses avantages qui font de ce procédé une réponse pragmatique aux contraintes actuelles des chefs de produits :

  • Méthode itérative et incrémentielle : cela permet d’éviter “l’effet tunnel”, c’est-à-dire le fait de ne voir le résultat qu’à la livraison finale et rien ou presque rien pendant toute la phase de développement, si fréquent dans les développements avec le cycle en V.
  • Adaptabilité maximale pour du développement de produits et d’applications : la composition séquentielle du contenu des sprints permet d’ajouter une modification ou une fonctionnalité qui n’était pas prévue au départ. C’est principalement cela qui rend cette méthode “agile”.
  • Méthode participative : chaque membre de l’équipe est invité à s’exprimer et il peut participer à toutes les décisions prises sur le projet. Il est donc plus impliqué et plus motivé.
  • Augmentation de la communication : en travaillant dans la même salle de développement, ou en étant connecté avec différents moyens de communication, l’équipe peut communiquer facilement et échanger sur les obstacles afin de les supprimer au plus tôt.
  • Maximisation de la coopération : les échanges quotidiens entre le client et l’équipe Pentalog permettent un rapprochement et une entraide se met logiquement en place.
  • Augmentation de la productivité : en supprimant certaines “contraintes” des méthodes classiques comme la documentation ou la formalisation exagérée, SCRUM permet d’augmenter la productivité de l’équipe. En ajoutant à cela la qualification de chaque module permettant d’en déterminer un chiffrage, chacun peut se positionner par rapport à la productivité moyenne de l’équipe.

RISQUES ET SOLUTIONS DE LA MÉTHODE

La méthode SCRUM Agile n’est pas une réponse miracle à tous les problèmes inhérents au développement de logiciels informatiques. Il faut rester vigilant sur les risques ci-dessous, risques qui possèdent néanmoins, une réponse systématique puisée dans l’extrapolation de la méthode :

  • Taille de l’équipe : généralement limitée à 7 ou 10 personnes, la taille de l’équipe peut devenir un obstacle si elle dépasse ces préconisations. L’organisation des réunions devient alors impossible et les fondements mêmes de la méthode sont alors mises à mal.  La solution consiste à réaliser des Scrum de Scrum. Il s’agit ici de constituer de scinder le projet en équipes de taille recommandée et d’ajouter une instance de niveau supérieure regroupant les ScrumMaster de chaque Scrum.
  • Demandes multiples : Les demandes peuvent émaner de multiples canaux sur un projet et peuvent parfois être difficile à gérer du fait de leur aspect contradictoire. Au niveau de la recette des livraisons, ces contradictions peuvent alors ralentir le processus de validation. Pour remédier ce problème, il est impératif d’utiliser un outil unique de gestion des demandes, outil qui est proposé en standard sur les projets Pentalog.
  • Qualité des développements : Plus le nombre d’équipes augmente, plus la qualité est difficile à maîtriser. Ce postulat est d’autant plus vrai dès lors que le projet est réparti sur plusieurs sites. Les risques sont particulièrement liés à la qualité du code et au nombre de défauts répertoriés au moment de l’intégration. Pour cela, il est important d’avoir une politique qualité rigoureuse et un plan qualité projet qui définit précisément les règles du projet. Des audits de code fréquents et la mise en place d’indicateurs mesurant la performance des développeurs permettent de minimiser ce risque.

A QUI S’ADRESSE CE TYPE D’ORGANISATION ?

 

L’organisation SCRUM peut être utilisée dans la plupart des projets. Néanmoins, elle est particulièrement adaptée pour les projets ne répondant pas à un périmètre stricte et pour lesquels le client souhaite un suivi et une visibilité, en d’autres termes, une implication, très important dans le cycle de développement.

 

L’aspect “disponibilité” coté client est un critère déterminant dans le choix de cette méthode de développement. En effet, nous estimons un ETP proche de 1 le temps nécessaire au product owner pour répondre aux exigences de cette méthode : transfert de certaines actions du chef de projet dans une méthode classique vers le product owner (distance entre l’équipe et le besoin).

Vous avez des questions liées à l’organisation des projets informatique ? La méthode Scrum est-elle adaptée à votre organisation ?

Pour aller plus loin visitez ce lien.

Imprimer