Ce projet est vraiment compliqué : des dates agressives, de multiples rework, et des heures qui s’accumulent. On aurait aimé être plus efficaces entre nos résultats et nos efforts, une partie de la définition de la qualité.
On s’imagine même à penser : “avec 30% du budget projet alloué à la qualité, ce serait bien plus facile ; les exigences auraient mieux été définies, les tests nous donneraient des retours rapides en amont”. La réalité en est loin.
Il ne suffit pas d’allouer arbitrairement du temps à la qualité, d’autant plus que les contraintes des entreprises ne le permettent pas. C’était le thème de notre table-ronde suggérée par Arnaud “Comment négocier un budget projet affecté à la Qualité ?”.
Vous pouvez rejoindre la QE Unit pour participer à de prochains événements ou proposer des sujets. Cet événement réunissait les participants suivants que je remercie de leur participation, contributions et relecture de cet article :
- Arnaud Dutrillaux, Senior Quality Engineer @ La Javaness
- Emna Ayadi, Testing Consultant @ Sogeti
- Julien Barlet, Senior Engineering Manager @ Decathlon
- Zoé Thivet, Spécialiste en test applicatif @ Hightest, Nouvelle-Calédonie
Cet article récapitulatif s’inspire du processus de résolution de problèmes et des méthodes du Quality Engineering, du pourquoi jusqu’aux itérations :
- Pourquoi devoir négocier un budget qualité ?
- Préparer une négociation en amont d’ateliers collaboratifs
- Aligner les parties prenantes autour d’intérêts communs
- Définir les mesures de valeur à suivre dans les itérations
- Que faire quand la négociation semble fermée ?
- Les erreurs de négociation à éviter
Les titres laissent des pistes quant aux pratiques à mettre en place. Si elles vous semblent loin de la pure négociation d’un budget qualité, c’est normal, ce n’est pas le premier sujet à adresser.
Commençons par cerner le pourquoi.
Pourquoi négocier un budget affecté à la Qualité ?
Le principe Start With Why nous permet de suivre les étapes de résolution des problèmes, en commençant par le pourquoi. Combiné à la méthodologie 5 Why, nous pouvons creuser les véritables priorités à adresser, les causes racines.
Vouloir négocier un budget qualité implique son inexistence initiale. Pourquoi le budget n’est-il pas affecté ? La qualité n’est pas une priorité. Pourquoi ? Elle n’est ni comprise ni définie. Pourquoi ? Les attributs de qualité n’ont pas été exprimés. Pourquoi ? Elle est subjective et n’a pas été partagée entre les différents acteurs. Pourquoi ? Les acteurs n’ont pas réellement collaboré pour aligner une vision commune de la qualité.
Cette conclusion nous est déjà très utile sur les pistes à explorer. Nous pourrions complémentairement effectuer le même exercice sur pourquoi affecter un budget à la qualité. Le raccourci des 5 pourquoi nous amène à une conclusion similaire : les attributs qualités n’ont pas été exprimés, définis et encore moins alignés. D’autres causes complémentaires peuvent s’ajouter à la partie, comme un manque de leadership, d’ouverture du management. Nous y viendrons plus tard.
Le dernier pourquoi à explorer est celui de la négociation. Pourquoi devoir négocier, et pas simplement décider ? La réalité nous rattrape pour plusieurs raisons. Les parties prenantes ont souvent du mal à prioriser leurs besoins. C’est le typique “débrouillez-vous pour tout faire !”. Cela rejoint la seconde contrainte, celle des ressources limitées. En complément, même à budget illimité, des contraintes restent incompressibles et contradictoires, nécessitant des compromis. La négociation est donc nécessaire car nous ne pouvons pas tout réaliser.
Négocier sans une base commune est une peine perdue ; il est donc important d’adresser dans un premier temps la cause racine d’alignement de la qualité. Négocier sans préparation est risqué la plupart du temps, il vaut mieux sécuriser cette étape.
Préparer une négociation en amont d’ateliers collaboratifs
Start with the end in mind est le second principe à suivre dans notre exercice. Une négociation requiert des objectifs clairs permettant d’aligner nos priorités de travail. Dans notre cas, c’est la définition de la qualité dans notre contexte.
Un objectif commun du Quality Engineering est l’apport de la valeur continue et pérenne aux utilisateurs du produit. C’est cette valeur qu’il faut réussir à matérialiser pour l’ensemble des acteurs en la traduisant dans leur contexte particulier. La préparation consiste à identifier les parties prenantes, leur niveau d’intérêts et de pouvoir sur les sujets que vous voulez prioriser. Cette cartographie vous sera utile pour planifier et adapter les ateliers en fonction des interlocuteurs,
La seconde étape est de définir notre position de négociation utilisant les acronymes BATNA (Best Alternative To a Negotiated Agreement) et ZOPA (Zone Of Potential Agreement), définissant notre intervalle acceptable de position..
L’objectif de cet exercice n’est pas de prédire le futur mais de nous aider à :
- Prendre conscience de ce que nous voulons atteindre,
- Comparer la priorité des attributs de qualité entre eux,
- Avoir une meilleure perspective des trade-offs à moyen et long-terme
- Mieux cerner la valeur de la qualité et de la non-qualité
C’est une préparation nécessaire à une bonne vision d’ensemble avant d’entrer dans le détail des ateliers.
La troisième étape est de préparer le contenu des ateliers. L’objectif étant de matérialiser les attributs de la qualité reliés au produit ; les supports doivent donc être axés en ce sens pour cartographier les différents attributs. L’exercice se voulant collaboratif, les supports physiques ou digitaux devront permettre l’insertion d’éléments en parallèle, pour ensuite supporter un partage par chacun des acteurs.
Nous pouvons compléter notre approche en Question Asker en préparant une liste de questions afin d’affiner la compréhension des acteurs.
Les ateliers win-win peuvent à présent être organisés.
Aligner les parties prenantes autour d’intérêts communs
Seek first to understand before being understood est le troisième principe à appliquer. Iman Benlekehal a partagé le concept du Shift-Up & Spread qui illustre bien ce que nous voulons réaliser : aligner les acteurs sur une qualité communément définie.
Les modèles collaboratifs ont pour objectif de cerner les attentes des différentes parties prenantes. Il faut veiller à réaliser les étapes d’écoute active, de questionnement et de reformulation pour aligner un vocabulaire commun. Ensuite seulement, un exercice de convergence peut être réalisé.
À ce stade, les mots “qualité” ou “tests” n’ont pas forcément été évoqués ; ce n’est pas le sujet. Les modèles d’attributs de la qualité sont utiles pour une approche cartésienne et les profils naviguant dans cet écosystème. La préparation des ateliers vous aura permis d’identifier les questions que les acteurs peuvent omettre. C’est ensuite votre travail de faire le lien entre les attentes et les attributs de qualité.
Ce travail est celui de l’alignement d’une stratégie de qualité, loin d’un exercice réalisé seul en chambre. Sans nous en rendre compte, nous avons naturellement négocié le budget qualité, sans forcément être synonyme d’un débat animé. Le travail de compilation aura pour but de définir quoi implémenter et mesurer dans l’exécution.
Notre but est effectivement de combler un écart entre valeur attendue et actuelle.
Définir les mesures de valeur à suivre dans les itérations
La mise en place du Quality Engineering va venir contraindre le cycle de vie du logiciel pour répondre aux attentes définies. La capacité à mesurer la création de valeur pour répondre aux attentes est donc nécessaire.
La valeur est comme la qualité, subjective et contextuelle. Les organisations au service d’utilisateurs ont néanmoins un point en commun : elles cherchent à résoudre des problèmes pour lesquels les utilisateurs sont prêts à payer. Leur niveau d’engagement, de satisfaction ou leur taux d’achat sont donc des mesures utiles.
Pour être pertinentes, des mesures locales et globales doivent être utilisées. Les mesures locales permettent de valider l’apport de valeur d’actions chirurgicales. La mesure globale aide à garantir la contribution d’action locale au système dans sa globalité. Nous voulons éviter les optimisations locales destructives de valeur.
“If you deliberately downgrade quality, your team might go faster at first, but soon the demoralization of producing crap will overwhelm any gains you temporarily made from not testing, or not reviewing, or not sticking to standards.”
Kent Beck, Extreme Programming Explained.
Le management est l’un des domaines clés pour conduire un système vers ses objectifs. La tendance naturelle des acteurs sera à l’expansion graduelle du périmètre aux détriments des attributs initialement définis. La mesure et la mise en place corrective est donc le rôle des acteurs de la Qualité. Cela passe par un bon nombre de pratiques systématiques.
Prioriser est une pratique fondamentale. Nous devons continuellement limiter le volume de travail et juger de la pertinence des sujets pour l’apport de valeur. Le Kanban, Limit WIP du TQM ou les pratiques Agiles de planning sont à ces fins plus qu’utiles. Les mécanismes de rétrospectives sont quant à eux utiles pour contenir la complexité, dette et surprises rencontrées dans l’exécution.
Dans certains cas, une négociation directe et plus frontale est requise.
Que faire quand la négociation semble fermée
Certains contextes ne sont pas favorables aux démarches évoquées : un manager dictateur, des conflits historiques, la culture de l’organisation. Effectivement, ce n’est pas gagné pour faire de la Qualité, mais que faire ?
Play or Pass est un principe à utiliser afin de choisir ses combats. Certaines démarches ont une probabilité trop faible de réussite dans certains contextes.
Il vaut mieux savoir éviter le sujet pour y revenir quand le contexte y sera plus propice, travaillant sa patience. Le manque de qualité finit par se ressentir tôt ou tard par l’effet de la dette technique, d’une équipe fatiguée, etc. Une approche indirecte reste ensuite possible pour les combats retenus.
Nous pouvons tenter d’identifier des métriques alarmantes ou d’autres dysfonctionnements concrets. Certains relais ou influenceurs internes peuvent devenir des ambassadeurs de la démarche si nous arrivons à les convaincre par nos arguments, et encore plus par l’exemple. Une approche peut être de mettre les décideurs en situation, devant réaliser des changements dans un software plein de dette technique Un exemple est disponible ici. Si vous êtes convaincus d’un sujet et de sa mise en place, qu’est-ce qui vous empêche de le démontrer, quitte à faire un effort supplémentaire ?
The success of this early TQM project team was sometimes invoked to demonstrate how TQM worked.”
Joan E. Manley, Negotiating Quality
Emna et Zoé ont en complément partagé l’utilité des techniques de gamification pour une approche passant par l’équipe. Ces méthodes peuvent être tant utilisées dans la phase d’alignement que pour indirectement favoriser la qualité. Un exemple est ce jeu sur les tests unitaires partagé par Zoé. Imaginer également que les acteurs ayant démontré la valeur de la qualité obtiennent une reconnaissance visible envers l’équipe, cela en fera réfléchir plus d’un.
Soyez clair sur ce qui ne semble pas négociable pour les acteurs et pour vous-même. Nous pouvons atteindre une situation où voler vers d’autres horizons est la seule porte de sortie.
Avant d’en arriver là, restons combatifs et évitons les erreurs de parcours.
Les erreurs de négociation à éviter
La majeure partie des erreurs que nous avons identifiées sont dues à une approche purement instinctive manquant de méthode. En qualité et en ingénierie, les approches purement techniques sont un piège courant.
Oublions les argumentaires démarrant par les tests à réaliser, manuels ou automatiques. Reprenons l’exemple introductif d’allocation de “30 % du temps à la qualité”. Accepteriez-vous une augmentation de 30 % des impôts pour “la qualité du pays” ? Probablement pas, une argumentation sera nécessaire. Se mettre à la place des parties prenantes est donc fondamental pour articuler une proposition de valeur.
Nous arrivons au deuxième piège, adopter une approche frontale sans écoute ni préparation de l’échange. On cherchera à pousser des solutions sans avoir compris les problématiques et besoins de nos interlocuteurs. C’est peine perdue, ou en tout cas inefficace. Cette tactique matérialise souvent un manque de compréhension, la qualité nécessite une influence et des processus pérennes.
Les opérations “coup-de-poing” sont donc à éviter.
La négociation de la qualité est celle d’une valeur partagée
Notre question initiale était d’identifier des pratiques actionnables pour négocier un budget projet affecté à la qualité. L’absence initiale de budget est souvent causée par un manque d’alignement des attributs de la qualité. Notre échange nous a amené sur celui de la définition d’une valeur partagée.
L’exploration du pourquoi a mis en lumière le besoin d’un processus structuré afin de naturellement traduire la qualité en livrables :
- Préparation de notre négociation et des ateliers
- Animation d’échanges collaboratifs entre les diverses parties prenantes
- Alignement de la valeur à créer et de sa mesure lors d’itérations
À l’instar des rétrospectives ayant un but d’apprentissage, nous avons également identifié les issues de secours et erreurs à éviter dans la négociation de la qualité. On retiendra le manque de préparation comme une cause récurrente.
La négociation est un art mélangeant compétences humaines et techniques, à l’instar du Quality Engineering. Emna a d’ailleurs lancé le débat sur l’importance de cette compétence sur le forum du Ministry of Testing.
La Qualité comme la confiance, se gagne avec le temps. Restons néanmoins dynamiques, nous n’avons pas des mois devant nous pour changer.
Références
Joan E. Manley, Negotiating Quality: Total Quality Management and the Complexities of Transforming Professional Organizations, JSTOR. https://www.jstor.org/stable/pdf/684806.pdf