Simyl
simylflow
Accueil du cours
Module 3 : Pratiques de planification
Leçon 5 sur 5
11 min

Le client sur place

De vrais clients, disponibles pour répondre aux questions et prendre des décisions en temps réel.

1Pourquoi les clients doivent être disponibles

XP préconisait à l'origine un client sur place — un véritable utilisateur ou son représentant, physiquement présent avec l'équipe.

Pourquoi une telle exigence?

Le développement logiciel est une prise de décision constante :

  • Comment ce cas limite devrait-il se comporter?
  • Lequel de ces deux designs est meilleur pour les utilisateurs?
  • Ce bogue vaut-il la peine d'être corrigé ou est-ce une limitation connue?
  • Qu'est-ce qui est plus important : la fonctionnalité A ou la fonctionnalité B?

Si le client n'est pas disponible, les développeurs devinent. Ils devinent mal. Ils construisent la mauvaise chose. Ou ils attendent, bloquant les progrès jusqu'à ce qu'ils puissent obtenir une réponse.

Des clients disponibles :

  • Débloquent les décisions en quelques minutes, pas en quelques jours
  • Détectent les malentendus tôt
  • Prennent des décisions de priorité en contexte
  • Bâtissent la confiance grâce à une collaboration étroite

Le coût d'une mauvaise réponse détectée immédiatement : quelques minutes. Le coût d'une mauvaise réponse détectée après la livraison : des jours ou des semaines. La disponibilité du client est rentable.

2Droits et responsabilités du client

Le rôle de client XP comporte à la fois des droits et des responsabilités.

Droits du client :

  • Connaître le coût estimé de chaque story
  • Connaître la vélocité de l'équipe et quand les choses seront terminées
  • Changer les priorités à tout moment (dans les limites de l'itération)
  • Annuler le projet et obtenir un système fonctionnel (tout ce qui a été fait)
  • Voir les progrès à travers un logiciel fonctionnel, pas seulement des rapports

Responsabilités du client :

  • Être disponible pour répondre rapidement aux questions
  • Prendre des décisions de priorité lorsqu'on le demande
  • Fournir des critères d'acceptation pour les stories
  • Accepter les compromis lorsque la portée dépasse la capacité
  • Donner rapidement des commentaires sur le logiciel livré

C'est un partenariat. Le client n'est pas un intervenant distant qui lance des exigences par-dessus le mur. C'est un membre de l'équipe qui prend des décisions quotidiennement.

3Le représentant du propriétaire de produit

En pratique, le « vrai client » est souvent indisponible. Il a un emploi. Il ne peut pas rester assis avec les développeurs toute la journée.

Voici le représentant du propriétaire de produit — quelqu'un qui représente le client :

  • Gestionnaires de produit
  • Analystes d'affaires
  • Propriétaires de produit (terminologie Scrum)
  • Experts internes en la matière

Le modèle de représentant fonctionne lorsque :

  • Le représentant comprend vraiment les besoins des utilisateurs
  • Le représentant a l'autorité de prendre des décisions
  • Le représentant est vraiment disponible (pas surbooké)
  • Les vrais clients fournissent des commentaires réguliers (démos, séances de rétroaction)

Le modèle de représentant échoue lorsque :

  • Le représentant ne comprend pas le domaine
  • Le représentant ne peut pas prendre de décisions sans escalade
  • Le représentant est trop occupé pour être disponible
  • Les vrais clients ne voient jamais le logiciel
Bonne implication du client

Le gestionnaire de produit est assis avec l'équipe et répond aux questions tout au long de la journée. Il participe à la mêlée quotidienne. Il fait des démos aux vrais utilisateurs toutes les deux semaines et rapporte les commentaires à l'équipe.

Absence du client

Le gestionnaire de produit assiste aux réunions de planification mais est autrement indisponible. Les questions s'accumulent dans les courriels. Les décisions prennent des jours. Les développeurs construisent ce qu'ils pensent être correct et devinent souvent mal.

4Les tests d'acceptation comme compréhension partagée

Les tests d'acceptation sont la façon dont les clients et les développeurs vérifient qu'ils se comprennent mutuellement.

Pour chaque story, le client définit des critères d'acceptation :

  • Étant donné [ce contexte]
  • Lorsque [cette action se produit]
  • Alors [ceci devrait être le résultat]

Ceux-ci deviennent des tests exécutables. Lorsque les tests réussissent, la story est terminée. Aucun débat sur le fait qu'elle soit « vraiment terminée ».

Avantages :

  • Exigences sans ambiguïté (si le test réussit, ça fonctionne)
  • Documentation vivante (les tests décrivent ce que le système fait)
  • Sécurité de régression (les tests détectent quand le comportement change)
  • Engagement du client (écrire des critères nécessite de réfléchir)

Dans XP moderne, les tests d'acceptation sont souvent écrits en collaboration entre le client et les développeurs. Le client décrit le comportement; les développeurs aident à traduire sous forme testable.

5Clients à distance et distribués

Les équipes modernes sont souvent distribuées. Le client « sur place » est un canal Slack, un appel Zoom ou un message asynchrone.

Pour que ça fonctionne à distance :

  • Surcommuniquer (ne rien supposer d'évident)
  • Utiliser la vidéo pour l'interaction face à face lorsque possible
  • Créer des moyens à faible friction pour poser des questions (clavardage plutôt que courriel)
  • Enregistrer les décisions pour qu'elles soient retrouvables plus tard
  • Respecter les fuseaux horaires (ne pas s'attendre à des réponses instantanées à 3 h du matin)

Implication asynchrone du client :

  • Écrire des questions claires avec du contexte
  • Offrir des options plutôt que des questions ouvertes
  • Établir des attentes pour le temps de réponse
  • Utiliser des documents pour les décisions complexes (plus facile à réviser en asynchrone)

Le principe demeure : minimiser le temps entre la question et la réponse. Le travail à distance rend cela plus difficile mais pas impossible.

Si votre client ne peut pas être disponible de façon synchrone, intégrez des points de contrôle asynchrones dans votre flux de travail. Ne commencez pas une story sans critères d'acceptation. Ne terminez pas sans l'approbation du client.

Points clés
  • La disponibilité du client débloque les décisions en quelques minutes au lieu de quelques jours
  • Les clients ont des droits (transparence, logiciel fonctionnel) et des responsabilités (disponibilité, décisions)
  • Les représentants du propriétaire de produit fonctionnent lorsqu'ils comprennent vraiment et peuvent décider
  • Les tests d'acceptation créent une compréhension partagée et une documentation vivante
  • Les clients à distance nécessitent une surcommunication et des canaux de questions à faible friction
Pièges courants à éviter
  • Supposer que les développeurs peuvent deviner ce que les clients veulent
  • Des représentants qui ne peuvent pas vraiment prendre de décisions
  • Attendre des réponses au lieu d'augmenter l'urgence
  • Des clients qui révisent seulement à la fin (au lieu de continuellement)

Exercices pratiques