L'un des principes de l'agilité est ...
Collaboration client sur négociation de contrat
... un autre est ...
Individus et interactions sur les processus et les outils
Mais à mon avis, au moins en ce qui concerne l'interaction avec le client, il y a un problème fondamental:
La façon dont le client pense est différente de celle d'un ingénieur logiciel
C'est peut-être un peu une généralisation, oui. Sans doute, il existe des domaines commerciaux où ce n'est pas nécessairement vrai --- ils sont cependant rares. Dans de nombreux domaines cependant, le client type est:
- Intéressé par les préoccupations opérationnelles quotidiennes - tactiques à courte portée ... pas nécessairement stratégie;
- Naturellement, seulement concerné par la solution immédiate;
- Des penseurs pratiques, pas des penseurs abstraits;
- Beaucoup plus intéressé à «faire le travail» que de considérer comment la solution répondra aux préoccupations futures.
En revanche, dans l'idéal , les ingénieurs logiciels qui pratiquent l'agile sont:
- Des gens qui pensent beaucoup à la qualité;
- Les personnes qui apprécient comment un peu de travail initial peut économiser une tonne d'efforts sur toute la ligne;
- Des penseurs expérimentés et analytiques.
Il semble donc y avoir un écart de culture qui tend à inhiber la «collaboration client».
Quelle est la meilleure façon de résoudre ce problème?
Réponses:
Et pour être franc, ils ont généralement de bonnes raisons de penser comme ça. Tout d'abord, ils dirigent une entreprise qui devrait générer des revenus aujourd'hui et demain, pas dans un avenir lointain. Deuxièmement, ils ne sont pas des experts techniques - ils ne savent pas ce qui est possible et ce qui ne l'est pas, et quelles sont les conséquences de choix architecturaux / de conception / de mise en œuvre spécifiques. Voilà ce que nous savons.
La réponse est donc - ce n'est pas surprenant - la communication .
Vous devez beaucoup communiquer, vous éduquer, vous faire comprendre le point de vue de l'autre partie au moins à un niveau basique. Vous devez leur expliquer les conséquences à court et à long terme des alternatives possibles. Et vous devez utiliser un langage qu'ils comprennent .
OTOH, ils peuvent nous apprendre une ou deux choses sur la perspective commerciale. Les entreprises veulent être utilisables et suffisamment bonnes - pas parfaites - solutions. Et ils savent probablement mieux que quiconque que "le parfait est l'ennemi du bien". Vous devez donc garder à l'esprit que notre travail consiste à fournir des solutions aux problèmes de nos clients, plutôt que de produire des logiciels techniquement parfaits. Parfois, ces deux convergent vers le même, mais le plus souvent non. Cela peut sembler triste à beaucoup, mais c'est une réalité commerciale. Pour moi, si j'ai réussi à résoudre le problème de mon client, et que je vois que cela lui a visiblement facilité la vie, je suis aussi heureux qu'eux. OTOH si j'ai réussi à mettre en œuvre le design parfait que j'avais en tête, mais que l'entreprise fait faillite la semaine suivante, ce n'est guère une victoire pour personne, n'est-ce pas?
Un propriétaire d'entreprise sensé comprendra - si vous lui expliquez en utilisant son propre langage - pourquoi est-il important de garder le logiciel propre, d'écrire des tests unitaires, de refactoriser etc. Même si ceux-ci ne semblent rien apporter directement à court terme, ils sont essentiels pour l'entretien à long terme. Et les clients sensés se soucient de la maintenabilité à long terme de leur entreprise, donc ils sont sûrement prêts à y investir quand ils voient la valeur que leur investissement génère. Cependant, leurs ressources et votre temps sont limités, vous devez donc établir des priorités et vous concentrer sur les choses les plus importantes. Mais ce n'est important que s'il est important pour vous deux .
Vous voudrez peut-être refactoriser le module A parce que le code qu'il contient est tout simplement horrible, et vous avez une idée formidable comment refactoriser le code pour être concis, élégant et propre, en utilisant un modèle de conception que vous venez de lire. Cependant, si ce module n'a pas été touché depuis des années et qu'il fonctionne de manière fiable, vous feriez probablement mieux de vous concentrer sur le module B, qui sera étendu la semaine prochaine avec une nouvelle fonctionnalité très importante, et il contient des tonnes de bogues. déjà.
la source
Comment votre client se perçoit:
D'un autre côté, ils voient votre groupe comme:
Votre problème principal semble être qu'aucun de vous ne comprend ce dont il a besoin de l'autre partie.
la source
Eh bien, avant tout, Agile n'est pas la solution à tous les problèmes que vous rencontrez dans votre projet.
Oui. Parfois c'est vrai. Il y a même des cas où les clients ne savent pas quoi et comment ils veulent (c'est-à-dire que les exigences ne sont pas claires). Quoi qu'il en soit, si vous êtes agile, vous obtenez le résultat après chaque sprint (disons 2 semaines) et vous avez la possibilité d'obtenir les commentaires des clients et de vous assurer que tous sont sur la même page. Cela aide à identifier et à résoudre rapidement les problèmes, ce qui contribuera à instaurer la confiance en interne.
Il y a aussi un dicton, les utilisateurs sont comme des enfants fous, alors quand ils demandent une arme à feu et que vous savez que ce n'est pas sûr, vous pouvez envisager de donner une arme-jouet pour les calmer .
Comme je l'ai déjà dit, aucun bâton magique ne peut résoudre tous ces problèmes . Vous devez vous engager davantage avec vos clients afin de bien comprendre ce que font les uns et les autres. Promouvoir la visite du site, les commentaires ouverts, etc.
Assurez-vous que votre propriétaire de produit et les parties prenantes assistent aux démonstrations de sprint et donnent de précieuses suggestions pour améliorer le produit .
la source
Si vous n'avez pas d'adhésion du client, Agile peut être presque impossible.
Par buy in, je veux dire obtenir un pourcentage garanti du temps d'un représentant des clients par semaine ou par mois. Ce pourcentage variera selon le projet.
De toute évidence, ils ont leur travail de jour, donc ce n'est pas seulement au représentant du client eux-mêmes, c'est à leur direction de prendre le temps pour eux.
Donc, obtenir l'accord de la direction du côté client est la clé de ce problème
la source
N'oubliez pas que l'agilité ne signifie pas que le client est impliqué dans des standups quotidiens ou certains des autres aspects quotidiens de l'agilité. Agile, du point de vue du client, c'est la communication. Cela ne signifie pas qu'ils communiquent avec les ingénieurs au sujet des détails de mise en œuvre.
Les clients collaborent avec le propriétaire du produit pour obtenir et donner des commentaires constants. Le sujet concerne les fonctionnalités, mais pas la manière dont elles sont implémentées. Offrez-vous les fonctionnalités appropriées? Êtes-vous à l'heure? Ont-ils des exigences changeantes auxquelles vous devez vous adapter?
Agile vous aide, vous et votre client, à répondre à ces questions.
la source