Code et programmation

Acteurs et organisation d'un projet web/mobile

Master Information-Communication Ecosystèmes médiatiques et transition numérique - ICP 2025

Objectifs

 Identifier les différents rôles et métiers impliqués dans un projet web

 

 Comprendre leurs responsabilités

 

✅ Appréhender les méthodologies de travail qui les unissent

Conception

Chef de projet / product owner

  • Pont entre le client et l'équipe
     
  • Définit la vision du produit
     
  • Alimente le backlog avec des user stories
     
  • Priorise le backlog selon les priorités du client et la bande passante de l'équipe

UX Designer

  • Se concentre sur la logique et la facilité d'utilisation
     
  • Définit le parcours utilisateur (découpage des écrans, interactions...)
     
  • Crée des wireframes (maquettes "fil de fer", sans design)

UI Designer

  • Se concentre sur l'apparence
     
  • Produit des maquettes graphiques (sur Figma, Sketch...)
     
  • Charte graphique (couleurs, polices, espacements, icônes...)
     

  • Prend en compte les recommandations de l'UX designer
     

  • Est parfois la même personne que l'UX designer

Technique

Développeur back-end

  • Construit tout ce que l'utilisateur ne voit pas : le "cerveau" de l'application
     
  • Le serveur, la base de données, l'API (avec des langages comme Node.js, Python, PHP, Java...)
     
  • Fournit au développeur front-end une interface pour accéder aux données et en envoyer

Développeur front-end

  • Construit tout ce que l'utilisateur voit et avec quoi il interagit dans son navigateur
     
  • HTML, CSS, JavaScript (et des frameworks comme React, Angular, Vue.js)
     
  • Base son travail sur les maquettes de l'UI designer
     
  • Récupère et envoie des données du/au back-end

Tech lead

  • Le référent technique de l'équipe. C'est un développeur senior qui guide les autres
     
  • Fait les choix d'architecture
     
  • Garantit la qualité du code
     

  • Aide les autres développeurs

Qualité et support

Testeur QA

  • Son métier est de "casser" l'application pour trouver les bugs avant l'utilisateur
     
  • Suit des plans de test, teste sur différents appareils, essaie tous les cas extrêmes
     
  • Fournit des rapports de bugs, qui alimentent le backlog

DevOps

  • Fait le pont entre les développeurs (Dev) et la production (Ops)
     
  • Il s'assure que le code peut être mis en ligne de manière fiable et rapide
     
  • Gère les serveurs, l'hébergement
     

  • Automatise l'intégration du nouveau code dans la base de code existante (CI - Continuous Integration) et les déploiements (CD - Continuous Deployment)

Méthodes de gestion
de projet

Le cycle en V

Analyse des
besoins

Conception
(UX/UI)

Développement

Test

Déploiement

Maintenance

Le cycle en V

Avantages :

  • Très structuré

  • Facile à planifier

  • Budget et délais sont (théoriquement) fixés à l'avance

Inconvénients :

  • Extrêmement rigide

  • Effet tunnel

  • Difficulté de prendre en compte un changement de besoin en cours de cycle

Méthodes agiles

Scrum / Kanban

Il existe plusieurs méthodes agiles. Les plus répandues sont Scrum et Kanban.

 

Peu importe la méthode précise utilisée, l'idée de base est la même pour toutes : mettre en place un processus itératif (on fait par cycles) et incrémental (on ajoute des petits bouts fonctionnels).

 

Les itérations sont appelés des sprints. Elles doivent être courtes (entre 2 et 4 semaines généralement).
L'objectif est de livrer un logiciel fonctionnel à la fin de chaque sprint.

Ensemble des user stories (~fonctionnalités) restant à implémenter.

Le backlog est vivant, c'est à dire qu'il va évoluer pendant que l'équipe travaillera à l'implémentation des user stories.

User stories sélectionnées pour le sprint à venir.

Les user stories sont choisies par rapport à

  • Leur importance pour le projet
  • Leur "taille"

Pour déterminer la taille d'une user story, on peut utiliser un système de points. L'équipe se fixe un nombre de points maximum à atteindre pour un sprint. On essaye de remplir le sprint.

Prenons l'exemple d'une équipe se fixe un objectif de 10 points sur le sprint. Une planification possible serait : une story à 5 points, deux stories à 2 points et une story à 1 point.

Pendant la durée du sprint, l'équipe travaille à l'implémentation des user stories sélectionnées.

Chaque jour, un daily meeting est organisé pour faire le point sur l'avancement, prévoir le programme de la journée à venir et lever les points de blocage identifiés.

A la fin du sprint, l'équipe présente le résultat de son itération au client.

Des discussions ont lieu autour de ce résultat. Il peut s'agir de nouvelles idées qui émergent en voyant les fonctionnalités "vivantes", de cas non anticipés ou même de changement complet de cap.

L'équipe se réunit afin de faire un débrief de l'itération qui vient de se terminer.

L'objectif est d'identifier ce qui s'est bien passé et ce qui s'est mal passé, afin d'améliorer les méthodes de travail au sein de l'équipe, et donc être plus efficaces lors des prochains sprints.

Le résultat du sprint écoulé est mis en ligne.

De cette manière, les utilisateurs bénéficient fréquemment de nouvelles fonctionnalités ou corrections de bug.

Le travail de l'équipe ne reste pas indéfiniment "inutile".

Le principal avantage des méthodes agiles est la flexibilité. Le changement est le bienvenu. Le client est impliqué en permanence et voit le produit évoluer, ce qui lui permet de réagir à cette évolution et de l'adapter au fur et à mesure.

 

En contrepartie, le périmètre total et le budget final du projet sont beaucoup plus difficiles à prévoir dès le départ.

 

Ces méthodes sont les plus utilisées dans le développement. Contrairement à la fabrication d'un batiment, par exemple, il est facile de changer de direction au cours d'un projet. Même si on a passé du temps sur une fonctionnalité, si celle-ci n'est finalement pas pertinente, rien n'empêche de la laisser tomber complètement au profit d'une autre.

Conclusion

06 - Acteurs

By Cyrille Perois

06 - Acteurs

  • 44