Qu'est-ce qu'une «équipe interfonctionnelle» en réalité? [fermé]

18

Le sens général de «équipe interfonctionnelle» est une équipe qui combine des spécialistes dans différents domaines qui sont nécessaires pour atteindre l'objectif.

Mais il semble qu'en agile, la fonctionnalité croisée signifie non seulement combiner différents spécialistes, mais les faire se mélanger. Henrik Kniberg définit l'équipe interfonctionnelle de cette façon: «L' interfonctionnelle signifie simplement que l'équipe dans son ensemble possède toutes les compétences nécessaires pour construire le produit, et que chaque membre de l'équipe est prêt à faire plus que sa propre affaire.

Mais où est tracée la ligne? Est-il normal de demander aux développeurs de devenir testeurs pour une itération si cela est nécessaire?

SiberianGuy
la source
Il est courant que chaque développeur teste son code. Par exemple, l'équipe Scrum ne devrait pas avoir de spécialisation - tout le monde devrait pouvoir écrire et tester du code. La raison en est qu'au début de l'itération (sprint) il n'y a rien à tester donc le pure tester n'a rien à faire.
Ladislav Mrnka
2
@LadislavMrnka L'interfonctionnel ne signifie pas que vous ne devriez pas encore avoir de spécialistes!
Michael
@Michael: Oui, vous pouvez avoir des spécialistes mais ils devraient être interfonctionnels = ils devraient également être capables d'effectuer d'autres tâches.
Ladislav Mrnka
Être spécialiste ne signifie pas savoir une chose au détriment de toutes les autres.
JeffO
3
Pourquoi est-ce si souvent que je vois parler de "les programmeurs devraient être capables de tester" mais jamais "les testeurs devraient être capables de programmer"?
Steve Folly

Réponses:

11

Mon point de vue est qu'une équipe interfonctionnelle est une équipe qui comprend des personnes des différentes fonctions d'une entreprise: ingénierie, informatique, rédaction technique, marketing, finance, juridique, ventes, RH, opérations, qualité et cadre.

Dans les grandes entreprises, ces «fonctions» sont placées dans des silos (lignes de gestion), mais pour faire avancer les choses, il faut généralement du temps à quelqu'un de toutes.

Si vous faites du TDD ou quelque chose du genre, oui, c'est parfaitement normal.

Cependant, en général, la responsabilité de la signature du travail de développeur ne devrait pas être confiée à ces mêmes développeurs.

Peter K.
la source
2
C'est exactement ce que la fonctionnalité croisée n'est pas dans les méthodologies agiles comme Scrum.
Ladislav Mrnka
1
@Ladislav Mrnka: Il n'était pas clair de la question que c'était spécifique à Agile. Dans les méthodologies Agiles, je pense toujours que ça tient. Dans toute méthodologie, vous devez parfois faire quelque chose en dehors de votre domaine d'expertise («fonction») pour faire le travail. C'est la vie, c'est la guerre!
Peter K.20
Pourquoi "la responsabilité de la signature du travail de développeur ne devrait pas être entre les mains de ces mêmes développeurs"? Pas si vous voulez diminuer le temps de cycle.
Todd Owen
@ToddOwen Et diminuez la qualité du logiciel.
Peter K.
@Downvoter: Un commentaire sur la raison pour laquelle vous n'êtes pas d'accord? :-)
Peter K.
7

Une équipe interfonctionnelle est une équipe où des experts fonctionnels de différents domaines se réunissent pour définir ce qu'il faut construire et pour évaluer si ce qui est construit est utile. Dans un environnement agile, ces évaluations se produisent souvent.

Cependant, les experts du domaine détermineront comment réaliser leur partie particulière d'un projet . Les développeurs de logiciels développeront des logiciels. Les testeurs vont tester. Les personnes chargées des opérations exécuteront le logiciel, etc.

Avoir des opinions sur le développement, les tests et les opérations est extrêmement utile pour définir un bon produit, et c'est là que réside la valeur des équipes interfonctionnelles.

Jay Godse
la source
Je ne pense pas que l'équipe définisse quoi construire, mais comment le construire. Le propriétaire du produit décide de quoi. Je pense aussi que les membres de l'équipe ne devraient pas limiter leurs activités à un domaine dans lequel ils sont spécialisés. L'idée est de faire les tâches qui doivent être faites pour réaliser l'objectif de l'équipe, créer un produit de qualité de production.
Kwebble
4

Une bonne équipe interfonctionnelle a et a besoin de gens qui sont «un cric de tous les métiers» mais aussi un maître de certains . Habituellement un ou deux.

Par exemple, sur ceux sur lesquels j'ai travaillé. Je me spécialise en C ++ et quelques langages Web, mais j'en connais un million. Je parle couramment le montage vidéo et les médias 3D et ce genre de choses en plus de la gestion des affaires et des projets. Donc, dans cette équipe plutôt petite qui s'occupe de grands projets, je faisais du codage hardcore presque toute la journée et j'en passais une partie à faire un travail de grognement sur le site et à préparer différents médias.

Peu de projets utilisent toutes mes compétences mais s'appuyer sur plusieurs, je pense que c'est de la «transversalité». Parfois, c'est une conception vraiment bonne et efficace, d'autres pas moins.

Dieu merci, quand je n'ai pas besoin d'être développeur / administrateur réseau ... ce n'est pas amusant. Ces petites entreprises de ma région sont folles. Qui fait confiance à leur réseau aux programmeurs, sheesh. La dernière chose que vous voulez, c'est de me voir essayer de «déboguer» votre table de routage: P

Garet Claborn
la source
4

Une «équipe interfonctionnelle», à mon avis, est plutôt un groupe de généralistes qui se réunissent pour faire le travail. L'avantage réside dans la polyvalence de la gestion de différents types de tâches, car il n'y a pas le goulot d'étranglement qui se produirait dans un groupe de spécialistes où certaines personnes ne peuvent assumer que certaines tâches.

Oui, il est normal que les développeurs deviennent des testeurs s'il est nécessaire de faire le travail pour une itération.


L'interfonctionnel peut tomber dans ce territoire où c'est un mot à la mode qui peut avoir différentes significations selon l'entreprise. Certains peuvent le considérer comme le plus haut niveau, où un développeur peut être n'importe quoi, d'un gopher à un PDG temporaire et d'autres peuvent le voir beaucoup plus spécialisé de sorte qu'il s'agit de différents types de développeurs utilisés. Un développeur peut parfois être analyste métier, administrateur système ou testeur. Je me souviens il y a quelques années maintenant où je venais de commencer un travail et un autre développeur et je testais une version comme l'une de nos premières tâches car il y avait une pénurie de testeurs à l'époque pour tester correctement la version.

JB King
la source
1
Je ne pense pas que les développeurs testeurs correspondent à la définition interfonctionnelle. Cela ressemble plus à un scénario de type jack-of-all-trades où les développeurs testent également, prennent des appels de vente, sortent et achètent du café pour réapprovisionner le bureau, etc., ce qui peut être typique dans une startup. Un scénario interfonctionnel ressemble plus à une situation où, par exemple, vous pourriez être développeur, et je pourrais être dans le marketing, mais nous travaillons ensemble en équipe pour créer et commercialiser le produit.
jmort253
2

Une équipe interfonctionnelle ne se limite pas aux domaines d'expertise mais à l'attitude envers la réalisation des tâches. Les membres se mobilisent et assument les tâches à accomplir. Vous n'entendez pas: "Ce n'est pas mon travail."

Les contraintes d'un projet ne sont pas toujours techniques. Parfois, vous n'avez pas le luxe d'engager un expert à chaque tâche et ne demandez à tout le monde que de travailler dans leur domaine préféré.

Vous ne voulez jamais éloigner les développeurs du codage, mais dans certaines équipes, cela ne peut pas être aidé. La normale est relative.

JeffO
la source