agile_tools
Octobre 2024Octobre 2024

Agile Tools : Utiliser la méthodologie Scrum

Quel est le commanditaire du projet ?

Le commanditaire du projet est un client qui souhaitait disposer d’une application web, plus précisément d’un outil en ligne, qui lui permettrait de suivit de projet où la méthodologie SCRUM (basé sur la méthode Agile) est appliquée.

Quelle est la demande de départ ?

L’application web facilitera l’application de la méthode agile SCRUM à travers des actions régulières de suivi et évolution de tâches, de planification de sprints et saisies de feedback. De plus, en vu d’une activité d’analyse des données, l’application devait permettre d’exploiter les données d’activités, disposer d’indicateur sur l’activité des individus et équipes (vélocité) et sur l’avancement et coûts des projets.

Avant de commencer, c’est quoi la méthode agile SCRUM ?

La méthode agile est une approche de développement logiciel qui privilégie la flexibilité, la collaboration et les livraisons rapides. Elle repose sur des cycles courts appelés itérations, permettant de produire des versions fonctionnelles du produit tout en intégrant les retours des utilisateurs au fur et à mesure. Contrairement aux méthodes traditionnelles, l'agilité permet de s'adapter facilement aux changements, qu'ils soient liés aux besoins des clients ou aux contraintes techniques. Elle favorise également une communication constante entre les membres de l'équipe, ce qui améliore la qualité du produit et réduit les risques d'erreurs.

Capture d'écran des sprints d'un projet

Capture d'écran des sprints d'un projet

SCRUM est une méthode agile qui organise le travail en sprints, des périodes de deux à quatre semaines où l'équipe se concentre sur des objectifs précis. Chaque sprint commence par une planification et se termine par une revue pour évaluer les résultats. Trois rôles principaux structurent SCRUM : le Product Owner, qui gère les priorités du projet ; le Scrum Master, qui facilite le travail de l'équipe ; et les développeurs, qui réalisent les tâches. Grâce à sa transparence et à sa capacité d'adaptation, SCRUM permet de livrer des produits de qualité tout en répondant rapidement aux besoins changeants des clients.

Quelles sont les grandes lignes et objectifs du cahier des charges ?

  • Définir les tâches

    • Identifier les cas d'utilisation, établir les priorités, estimer les coûts, préciser les spécialités nécessaires, et constituer un product backlog.
  • Gérer les utilisateurs et les équipes

    • Enregistrer les utilisateurs, former des équipes pour chaque projet, et attribuer les rôles associés.
  • Planifier les sprints

    • Définir les sprints avec leur sprint backlog et produire des rapports d'activités (mêlées quotidiennes, rétrospectives, revues de sprint).
  • Suivre les tâches individuelles

    • Permettre à chaque utilisateur de gérer l'état de ses tâches pendant un sprint.
  • Fournir des tableaux de bord

    • Offrir une vue d'ensemble des activités d'un utilisateur, ainsi que de l'avancement global d'un projet.
  • Intégrer un outil collaboratif

    • Proposer une solution en ligne pour le planning poker.
  • Adapter les actions selon les rôles

    • Fournir des actions ou des informations spécifiques en fonction du rôle de l'utilisateur connecté.
agile_tools_product_backlog

Capture d'écran du product backlog d'un projet

Description détaillée des différentes étapes

Dans un premier temps, il a été nécessaire de recueillir les besoins du commanditaire afin de bien comprendre ses attentes et les fonctionnalités qu'il souhaitait intégrer à l'application. Cette phase d'analyse a permis de définir les objectifs principaux, notamment la gestion des tâches, la planification des sprints et le suivi des activités selon la méthodologie SCRUM. Une fois les besoins clarifiés, un cahier des charges a été rédigé pour formaliser les grandes lignes du projet et servir de référence tout au long de son développement.

La deuxième étape a consisté à concevoir l'architecture de l'application. Cela incluait la définition des bases de données nécessaires pour stocker les informations sur les utilisateurs, les équipes, les projets, les tâches et les sprints. Une attention particulière a été portée à la structuration des données pour garantir leur cohérence et leur exploitation efficace. Parallèlement, une maquette de l'interface utilisateur a été réalisée pour visualiser l'organisation des différentes fonctionnalités et s'assurer qu'elles répondaient aux attentes du client.

Ensuite, le développement de l'application a débuté. Cette phase a été réalisée en utilisant PHP pour le développement côté serveur et MySQL pour la gestion des données. L'outil phpMyAdmin a été utilisé pour administrer la base de données. Les fonctionnalités principales ont été développées progressivement, en commençant par les modules essentiels comme la gestion des utilisateurs, la création des projets et des tâches, et la planification des sprints. Chaque fonctionnalité a été testée individuellement pour garantir son bon fonctionnement avant de passer à l'intégration des différents modules sur la version finale du site.

Enfin, une fois le développement terminé, une phase de tests a été menée. Elle avait pour but de vérifier la stabilité de l'application, d'identifier et de corriger les éventuels bugs, et de s'assurer que toutes les fonctionnalités répondaient aux exigences définies dans le cahier des charges.

Compétences techniques, transversales, humaines développées avec Agile Tools

Compétences techniquesSur le plan technique, la maîtrise de PHP a été au cœur du développement côté serveur, permettant de concevoir une application robuste et dynamique. La gestion de la base de données avec MySQL a renforcé les compétences en modélisation et manipulation des données, tandis que l'utilisation de phpMyAdmin a facilité l'administration et le débogage des données. Par ailleurs, la conception de l'architecture de l'application et l'intégration des différentes fonctionnalités ont permis de développer une approche méthodique et structurée du développement logiciel.
Compétences transversalesEn termes de compétences transversales, la gestion de projet a occupé une place centrale. Bien que la méthodologie SCRUM ait constitué le but de l'application, elle n'a pas été directement appliquée dans le cadre du développement de ce projet. Cependant, la structuration du travail a suivi une approche méthodique, permettant une organisation efficace et une progression cohérente des différentes étapes. La rédaction du cahier des charges, la planification des tâches et la priorisation des objectifs ont renforcé les compétences en gestion du temps et en planification stratégique. De plus, l'analyse des besoins du client et la conception de solutions adaptées ont permis de développer une capacité à résoudre des problèmes complexes tout en tenant compte des contraintes techniques et fonctionnelles.
Compétences humainesEnfin, sur le plan humain, ce projet a été une opportunité précieuse pour développer des compétences en communication et en travail d'équipe. Une réunion finale avec le client, représenté par notre professeur, a permis de présenter les résultats du projet, d'expliquer les choix techniques et fonctionnel. Parallèlement, la collaboration avec les membres de l'équipe tout au long du projet a permis de partager les responsabilités ainsi que les tâches, favorisant le développement d'un esprit d'équipe. Ces compétences humaines, combinées aux compétences techniques et transversales, ont été essentielles pour mener à bien le projet et répondre aux attentes du cahier des charges.

Conclusion

En conclusion, ce projet a été développé dans le but de fournir un outil intranet permettant d'appliquer la méthodologie SCRUM pour la gestion d'un autre projet. L'application a été conçue pour faciliter l'organisation et le suivi des tâches, la planification des sprints, ainsi que la collaboration entre les membres d'une équipe, conformément aux principes de la méthode Agile. Ce travail m'a permis de mieux appréhender les besoins spécifiques liés à la mise en œuvre de SCRUM, tout en développant une solution adaptée pour structurer et optimiser le déroulement d'un projet. Le rendu final reflète une compréhension approfondie des concepts de SCRUM et leur traduction en fonctionnalités concrètes.

ascii_art

ASCII Art : Traitement d'images

neural_network

Réseaux de neurones sans bibliothèques tierces

TRAVAILLONS

ENSEMBLE