La méthode SCRUM

C’est quoi SCRUM?

La méthode SCRUM tire son nom du monde du rugby (scrum = mêlée). Au rugby, la mêlée survient après une faute. C’est une phase de reprise du jeu qui permet à une équipe, par un effort collectif, de repartir dans le bon sens.

Dans le monde informatique, SCRUM est considéré comme une méthode agile dédiée à la gestion de projet. Cette méthode de gestion à pour objectif d’améliorer la productivité de son équipe afin de pouvoir livrer un produit pleinement fonctionnel, dans un temps plus court, tout en fournissant une valeur métier plus élevée.

Les acteurs d’un projet SCRUM

  • Le Product  Owner : C’est le représentant des clients et utilisateurs dans le cadre du projet. Il est en charge de la tenue du backlog produit, notamment de l’ordre dans lequel vont être traitées les éléments de ce backlog (user stories, fonctionnalités à développer). En d’autres termes, il est « responsable » du succès du produit.
  • Le SCRUM Master : C’est le garant de l’application de la méthode SCRUM. Le scrum master n’est en réalité pas un chef de projet, il n’est pas un chef tout court. Son rôle principal est de faire en sorte que l’équipe puisse travailler au mieux sur les tâches pour lesquelles elle s’est engagée durant le sprint, notamment en la protégeant des éventuelles demandes extérieurs impromptues et en assumant les problèmes administratifs.
  • Equipe de développement : C’est l’équipe mandatée pour la réalisation du produit, elle a une responsabilité : « délivrer à la fin de chaque sprint les items qui ont été priorisés pour ce sprint ». L’équipe est généralement constitué de 2 à 10 personnes et elle doit s’auto-organiser.

Comment se déroule un projet SCRUM?

La vie d’un projet Scrum est rythmée par un ensemble de réunions clairement définies et strictement limitées dans le temps (timeboxing):

  • Planification du Sprint (Sprint = itération) : au cours de cette réunion, l’équipe de développement sélectionne les éléments prioritaires du « Product Backlog » (liste ordonnancée des exigences fonctionnelles et non fonctionnelles du projet) qu’elle pense pouvoir réaliser au cours du sprint (en accord avec le « Product Owner »).
  • Revue de Sprint : au cours de cette réunion qui a lieu à la fin du sprint, l’équipe de développement présente les fonctionnalités terminées au cours du sprint et recueille les feedbacks du Product Owner et des utilisateurs finaux. C’est également le moment d’anticiper le périmètre des prochains sprints et d’ajuster au besoin la planification de release (nombre de sprints restants).
  • Rétrospective de Sprint : la rétrospective qui a généralement lieu après la revue de sprint est l’occasion de s’améliorer (productivité, qualité, efficacité, conditions de travail, etc) à la lueur du « vécu » sur le sprint écoulé (principe d’amélioration continue).
  • Mêlée quotidienne : il s’agit d’une réunion de synchronisation de l’équipe de développement qui se fait debout (elle est aussi appelée « stand up meeting ») en 15 minutes maximum au cours de laquelle chacun répond principalement à 3 questions : « Qu’est ce que j’ai terminé depuis la dernière mêlée ? Qu’est ce que j’aurai terminé d’ici la prochaine mêlée ? Quels obstacles me retardent ? »
Publicités

Développeur Web

Le développeur web est un informaticien qui réalise l’ensemble des fonctionnalités d’un site internet. Le profil du développeur web est celui d’un technicien ou d’un ingénieur capable d’analyser les besoins des clients consignés au préalable dans un cahier des charges par le chef de projet.

Il préconise et met en oeuvre une solution technique pour concevoir des sites sur mesure ou adapter des solutions techniques existantes.
A ce titre, le développeur est en charge de :

  • L’analyse des besoins
  • Le choix de la solution technique
  • Le développement de toutes les fonctionnalités techniques du site
  • Le respect des bonnes pratiques de codage
  • Les tests et la validation des fonctionnalités développées

De façon complémentaire, il participe aussi à :

  • La formation du client lorsque le site internet lui est livré
  • Support technique tout au long de la vie du site internet
  • Corrections des problèmes remontés par le client

Après quelques années d’expérience, le développeur web peut évoluer vers le poste de directeur technique (chef de projet) ce qui l’amènera à asseoir son niveau d’expertise en développement et éventuellement à encadrer une équipe de développeurs.

Quelles sont les qualités d’un bon développeur ?

Quelles sont les qualités réelles d’un bon développeur ? une question qui revient sans cesse. Je vous donne ma vision des choses en 4 actes :

  1. L’analyse : Un bon développeur a un bon esprit d’analyse.
  2. La curiosité : Un bon développeur s’informe et partage ses connaissances.
  3. La patience : Un bon développeur est un amoureux du code et s’implique.
  4. La rigueur : Un bon développeur est précis et organisé.

Tous les qualités ne seraient rien sans la rigueur, c’est le pivot du métier !

Le pattern MVC

Le patron d’architecture logicielle modèle-vue-contrôleur (en abrégé MVC, en anglais model-view-controller), tout comme les patrons modèle-vue-présentation ou présentation, abstraction, contrôle, est un modèle destiné à répondre aux besoins des applications interactives en séparant les problématiques liées aux différents composants au sein de leur architecture respective.

Ce paradigme regroupe les fonctions nécessaires en trois catégories :

  1. un modèle (modèle de données) ;
  2. une vue (présentation, interface utilisateur) ;
  3. un contrôleur (logique de contrôle, gestion des événements, synchronisation).
les différentes interactions
les différentes interactions

Référence : Wikipedia

Le pattern Singleton

Le Singleton, en programmation orientée objet, répond à la problématique de n’avoir qu’une seule et unique instance d’une même classe dans un programme.

Par exemple, dans le cadre d’une application web dynamique, la connexion au serveur de bases de données est unique. Afin de préserver cette unicité, il est judicieux d’avoir recours à un objet qui adopte la forme d’un singleton. Il suffit donc par exemple de créer l’unique objet représentant l’accès à la base de données, et de stocker la référence à cet objet dans une variable globale du programme afin que l’on puisse y accéder de n’importe où dans le script.

Structure d’une classe Singleton

Concrètement, un singleton est très simple à mettre en place. Il est composé de 3 caractéristiques :

  • Un attribut privé et statique qui conservera l’instance unique de la classe.
  • Un constructeur privé afin d’empêcher la création d’objet depuis l’extérieur de la classe
  • Une méthode statique qui permet soit d’instancier la classe soit de retourner l’unique instance créée.