Chez ELEPHANT, la majorité des projets de nos clients en électronique, embarqué et web évoluent vers l’agilité. 

“Réfléchissez à votre travail. Combien de temps est gaspillé à attendre que quelqu’un d’autre finisse son travail, une information, ou parce que vous essayez de faire trop de choses à la fois? Peut-être que vous aimez travailler du matin au soir - Pour ma part, je préfère aller surfer.” Sutherland dans son livre : The Art of Doing Twice the Work in Half the Time - Jeff Sutherland
 

Découvrez à travers cet article, le développement logiciel agile et les avantages et les inconvénients des méthodes SCRUM et KANBAN. 

Allez c’est parti !
 

Définition du développement logiciel agile :

 

Développer un logiciel agile signifie utiliser des méthodes et des pratiques plus collaboratives que dans une organisation en cycle en V pour produire du code plus rapidement et efficacement.

Les itérations dans un projet correspondent au moment où les équipes adaptent et revoient leurs techniques de développement afin de répondre au mieux aux besoins de l’entreprise.

Finalement, la méthode agile correspond à une gestion de projet flexible axée d’une part sur le produit et d’autre part sur le client grâce à une collaboration entre les différentes parties prenantes du projet.

Il existe plusieurs méthodes agiles toute basées sur le manifeste agile (Manifesto for Agile Software Development) et vous allez découvrir les 2 principalement utilisées chez nos clients tout de suite :

 

  • La méthode SCRUM

     

Le framework scrum a été créé par Sutherland en se basant sur les méthodes agiles. Il rencontre un véritable succès auprès des équipes de développement produit du monde entier et le framework Scrum de la méthode Agile devient très vite populaire.

Les utilisateurs de cette méthode sont les suivants : 

  • Le product owner qui représente le client et qui définit les fonctionnalités du produit final
  • Le scrum master (le manager)
  • Les développeurs

     

Les principales pratiques sont les suivantes : 

 

  • Le backlog : contient la liste de toutes les spécificités du projet, il est géré par le product owner
  • Le sprint : à partir du backlog, on identifie les tâches qui doivent être complétées lors du premier sprint. Ils sont délimités dans le temps et leur durée varie entre 1 à 4 semaines. 
  • Le stand up ou daily : la réunion quotidienne où chacun fait part de son avancement et des soucis rencontrés
  • La rétrospective : le retour d’expérience à la fin de chaque itération ou sprint afin d’être dans une logique d’amélioration continue. 

     

Les avantages : 

 

Elle est très structurée et permet aux équipes novices de rapidement comprendre l’agilité grâce à son caractère cadré. 

 

Les limites :

 

Le souci de la méthode SCRUM est qu’un changement de périmètre du projet ne peut se faire qu' une fois que le sprint est terminé. Si le sprint est d’une semaine cela n’est pas gênant mais parfois il peut aller jusqu’à 4 semaines. 

 

  • La méthode KANBAN

     

Basée sur une amélioration continue évolutive, elle est souvent utilisée dans des projets de maintenance corrective avec la gestion de tickets ou le support. Contrairement à la méthode SCRUM, il n’existe pas de rôles attitrés, chaque personne évolue en fonction des avancées des besoins du projet. 

 

Les avantages :

 

Cette méthode est très simple à mettre en place car elle est moins cadrée et ritualisée que la méthode SCRUM. Elle permet de faciliter et de fluidifier le workflow des équipes en s’adaptant à la taille de l’équipe pour attribuer un volume de tâche différent. 

 

Les limites : 

 

La méthode KANBAN est née dans les années 50 pour la gestion des méthodes de production industrielle. Elle s’adresse donc à des tâches répétitives comme des projets de support ou de maintenance. L’absence de cadre peut avoir des conséquences négatives si les personnes sont novices sur les principes agiles. 

 

Conclusion : 

 

Finalement, selon vos besoins, vous adopterez une méthode différente. Celle-ci doit avant tout répondre aux besoins de l’équipe en charge du développement du projet.

Pour se faire, vous devez regarder ces différents facteurs : 
 

  • La disponibilité du client ou de l’utilisateur
  • Les caractéristiques du produit développé
  • Le besoin du client
  • La visibilité du produit
  • Les membres de l’équipe et l’expérience liée au fonctionnement des méthodes agiles


 

Retrouvez nos annonces d’emploi en Scrum Master et Product Owner juste ici :

https://www.elephant-technologies.fr/carriere/opportunite/14
 

https://www.elephant-technologies.fr/carriere/opportunite/5