Bien jouer son rôle dans l’équipe Agile : Tous pour Un, Un pour Tous!

roles-in-agile-berejeb

Tous les membres formant une équipe Agile se voient comme une seule équipe ayant un objectif commun. Il n’y a pas de place pour la mentalité de “jeter par dessus le mur” dans l’esprit Agile. Les analystes ne jettent pas les requis par dessus le mur aux designers, les designers et les architectes ne jettent pas leur designs par dessus le murs aux développeurs, les développeurs ne jettent pas leur code partiellement testé par dessus le mur aux testeurs. Une bonne équipe Agile est plutôt dans un esprit de “tout le monde est dans le même bateau”.

Par ailleurs, si les membres de l’équipe travaillent ensemble comme une équipe unie, chacun d’eux est voué à jouer un rôle spécifique. Il est très important de comprendre son rôle afin de bien le jouer pour livrer la valeur attendue du projet.

Mais que veut dire le mot rôle?

Un rôle est une fonction qu’un membre de l’équipe effectue au cours du projet. Un membre de l’équipe peut avoir plus d’un rôle dans chaque projet. Un rôle n’est pas égal à une position hiérarchique ou une personne, fait qu’on retrouve dans plusieurs équipes Agiles. En d’autres termes, un rôle est un ensemble de “responsabilités”.

Sommaire

Les différents rôles dans l’équipe Agile

Le Product Owner

Le premier rôle est le “product owner”. La première obligation du product owner est de s’assurer que tous les membres de l’équipe suivent la vision commune du projet. Il le fait en établissant les priorités de telle sorte que la fonctionnalité qui a la valeur la plus grande soit toujours celle que l’équipe est en train de livrer. Le product owner s’assure d’effectuer les décisions qui mènent à un bon retour d’investissement sur le projet. Généralement, dans le développement logiciel commercial, le Product owner est quelqu’un du service de Marketing ou Produit de l’entreprise. Si le développement est pour l’interne, le product owner peut être un employé, un analyste ou la personne finançant le projet.

Le Client

Le deuxième rôle est le client. Le client est la personne qui a décidé d’acheter le logiciel, ou de financer le projet. Si le développement est pour l’interne, le client est généralement un représentant d’un autre département. Généralement, dans ces cas, les rôles du product owner et du client sont combinés. Pour un produit distribué commercialement, le client est la personne qui achète le logiciel. Dans les deux cas, le client peut ou pas être l’utilisateur du logiciel, qui est bien sur un autre rôle important.

Le développeur

Un autre rôle très important est le développeur. Le terme développeur réfère généralement à n’importe quelle personne impliqué dans le développement du logiciel. Ceci inclut les programmeurs, les testeurs, les analystes, les Administrateurs et ingénieurs de Bases de Données, les experts en convivialité ou interface utilisateurs, les rédacteurs techniques, les architectes, les designers etc. Dans certains cas, même le product owner peut avoir un rôle de développeur.

Le Project Manager

Un rôle final est le project manager. Ce rôle change significativement dans les projets Agiles. Les gestionnaires Agiles se concentrent beaucoup plus sur le “leadership” que sur la gestion. Dans certains projets Agiles, la personne qui joue ce rôle joue également un deuxième rôle, le plus souvent le rôle de développeur, et très occasionnellement le rôle de product owner.

Pas de barrières entre les spécialités

Souvent teintes d’une mentalité de “commande et contrôle”, les méthodes classiques ont tendance à renforcer la séparation des rôles en effectuant une séparation entre les spécialités dans le temps. Par exemple, l’analyse des besoins se fait avant que le développement commence. L’architecture se fait au complet avant le développement. Le test ne peut commencer qu’après que tout le développement soit complété.

En agile, le concept est complètement différent, l’équipe est une unité. Les barrières entre les différents intervenants dans la livraison du produit tombent afin d’offrir un flot plus fluide.

Par exemple, le manifesto Agile dit que

Les meilleures architectures, spécifications et conceptions émergent d’équipes auto-organisées.

Dans ce cas, le mot “émergent” efface cette séparation, et l’objectif étant de livrer à petit incrément, nécessite que l’équipe formé par des membres de différentes spécialités travaille en unité.

Incompréhensions communes

Limiter soi même par son rôle

Dans ce cas, la personne  s’identifie avec le rôle et s’y limite. Des exemple courants sont :

  • “Je suis un programmeur, alors je ne sais faire que de la programmation, et non le test”
  • “Je suis un analyste QA, Je ne peux pas aider dans d’autre chose que le test”

Limiter les autres par son rôle

Dans ce cas, la personne limite son rôle a soi même et empêche les autres de le jouer. Par exemple :

  • “Je suis un architecte, je suis la seule personne qui peut travailler sur l’architecture du logiciel”
  • “Je suis un product owner, je suis la seule personne qui dicte les besoins”

Penser en Silo

Il est facile de tomber dans le cas :

  • “Ce n’est pas ma responsabilité, ce n’est donc pas mon problème puisque ce n’est pas mon rôle”.

Dans ce cas, si les rôles sont équivalents à des positions ou des départements, l’impact peut être majeur et très négatif.

Imaginez l’impact si vous avez un Département d’analystes, un Département de développeurs et un département de QA, et que chacun essaye d’optimiser ses propres rôles!

Lier les rôles à une compensation

Dans ce cas, si les rôles sont liés à des compensations, chaque responsabilité que la personne prend à l’extérieur du scope de son rôle est au mieux une perte de temps et peut être au détriment de sa carrière.

Conclusion

Les membres dans les équipes Agiles travaillent ensemble comme une équipe, mais chacun joue un ou plusieurs  rôles spécifiques. Il est très important de bien comprendre les responsabilités que chaque rôle implique. Jouer un rôle n’implique pas être le seul détenant de cette spécialité, mais il doit plutôt être considéré comme un apport à l’équipe, et ainsi de contribuer à atteindre l’objectif ultime de ramener de la valeur à l’entreprise.

Anis Berejeb

Anis est avant tout un passioné de l'agilité et du développement. Avec plus de 15 ans dans le domaine du développement web, son expertise combine des connaissances accrues dans l'ensemble des notions partant du développement logiciel jusqu'à l'organisation des équipes dans les environnements agiles à grande échelle.

You may also like...