Les acteurs sont au centre du Quality Engineering.
La livraison continue de valeur repose sur la collaboration efficace de différents acteurs tout au long de la chaîne de valeur logicielle. La concurrence accélérée impose de tirer rapidement parti des compétences au high standard pour offrir du Quality at Speed.
Mais la réalité est dure. Les talents sont difficiles à attirer et à retenir tandis que les compétences évoluent rapidement avec peu de temps pour la formation. De plus, la complexité croissante pousse à plus de spécialisation lorsque nous avons besoin de plus de collaboration transversale.
Dans ce contexte, nous devons sélectionner les compétences nécessaires et réussir à les composer dans nos contextes. Avec le temps, nous devons équilibrer les solutions à court terme et les plans durables à long terme pour la disponibilité de ces compétences.
Le Quality Engineering est le paradigme qui contraint la chaîne de valeur logicielle à une livraison de valeur continue. Cet article partage les compétences à plus forte valeur ajoutée pour initier votre transition vers le Quality Engineering.
Suivez la QE Unit pour plus de Quality Engineering.
Méthodologie
Ce guide est un chantier à adapter en fonction des retours d’expérience et susceptible d’évoluer au sein du framework de Quality Engineering MAMOS : Methods, Architecture, Management, Organization, Skills..
Chaque pratique a été classée pour sa contribution à la qualité, la rapidité et la complexité par un score maximum représentant la priorité de mise en œuvre. Cet article n’est qu’un extrait, vous pouvez accéder à la hiérarchisation complète de ces pratiques disponible ici.
Les Compétences à composer pour le Quality Engineering
Le Quality Engineering est une transformation organisationnelle nécessitant une composition spécifique de compétences pour itérer rapidement sur la chaîne de valeur logicielle. Les capacités de l’organisation doivent évoluer sur les deux facettes de la livraison de valeur et de la livraison de logiciels.
D’une part, les équipes transverses qui produisent et exploitent le logiciel doivent développer des compétences de qualité pour apporter plus de valeur. D’un autre côté, les rôles de Quality Engineering doivent permettre aux autres équipes de fournir une livraison efficace des changements logiciels.
Nous pouvons diviser les compétences de Quality Engineering en trois catégories.
La première contient les compétences fondamentales nécessaires pour réussir la transition avec le coaching, la facilitation et la communication. Sans eux, une organisation ne peut pas développer une capacité de qualité de l’autre équipe et reste dans des silos.
Viennent ensuite les compétences pour développer les équipes d’ingénierie de première ligne, tandis que la dernière catégorie consiste à créer efficacement des compétences de Quality Engineers pouvant jouer divers rôles tels que Quality Advisors, Quality Engineers, Engineering Productivity.
Skills Framework
La courbe de mise en œuvre de Quality Engineering recommandée par impact pour les compétences est la suivante.
Pratiques des Skills
Compétences fondamentales
Coaching
Le coaching aide les individus à améliorer leurs performances. Il est nécessaire à la fois de développer et d’accompagner les équipes d’ingénierie dans leur apprentissage de la qualité mais aussi de les aider à résoudre les problèmes par elles-mêmes.
Les coachs sont traditionnellement à l’extérieur de l’équipe, disponibles sur une base régulière et à la demande. Un coach essentiel pour développer le talent de l’organisation en matière de quality engineering ou de craftsmanship.
Facilitation
Les choses ne se passent pas toujours comme prévu. Il y a différentes personnes avec des opinions différentes, des surprises dans la livraison des fonctionnalités, des activités conflictuelles entre les équipes. Une force continue est nécessaire pour débloquer et accélérer ces situations.
La facilitation est essentielle pour maintenir la vitesse d’itération. Dans le moyen terme, l’objectif est d’enseigner aux équipes à pêcher au lieu de leur donner le poisson pour résoudre plus de problèmes plus rapidement et accélérer la livraison logicielle.
Communication
Les compétences de communication de base pour le Quality Engineering sont l’intelligence émotionnelle, l’écoute active et le feedback. L’intelligence émotionnelle soutient les interactions positives entre différentes personnes et favorise le développement personnel.
L’écoute active est essentielle pour favoriser la qualité de bout en bout, la résolution de problèmes et l’ambiance générale de travail. Le feedback est la force de soutien de l’amélioration continue, de la confiance et de la capacité d’apprentissage de l’organisation.
Pour que les software engineers progressent en qualité
Gestion des exigences
Les équipes interfonctionnelles doivent maîtriser la gestion des exigences pour offrir plus de qualité en premier lieu. En s’attaquant au bon problème, ils raccourcissent la livraison de valeur pour capturer des économies de vitesse, pour ensuite faire évoluer plus rapidement ce qui fonctionne.
En spécifiant mieux, les tests minimaux requis peuvent être plus facilement mis en œuvre et maintenus. La clarté des exigences est également essentielle à l’évolutivité de l’organisation qui peut maintenir une proposition et une exécution client cohérentes.
Software Craftsmanship
Les équipes d’engineering répondent aux attributs de qualité logicielle définis par l’équipe et dans le cadre des exigences. L’artisanat est l’art de fournir des logiciels avec une qualité intégrée en utilisant les techniques les plus adéquates pour les problèmes à résoudre.
En combinaison avec les autres compétences, les coachs en artisanat logiciel peuvent considérablement aider à améliorer la qualité intégrée du code. Des boucles de rétroaction plus courtes avec plus de flexibilité pour évoluer sont indispensables pour une organisation de Quality Engineering.
Testing
L’association entre “testing ⇔ qualité” a été dissociée dans l’esprit des équipes par le management. Mais le test reste une activité nécessaire en Quality Engineering, géré directement par les équipes cross-fonctionnelles. ATDD, BDD et TDD sont des pratiques à valeur ajoutée à développer.
Les techniques doivent être complétées en fonction du contexte du produit. Par exemple, le continuous testing, les tests exploratoires ou la supervision de parcours clients peuvent être les plus pertinents. Utilisez les quadrants de test pour vous aider dans la sélection des priorités.
Pour que les Quality Engineers supportent les équipes
Lean Continuous Improvement
Le Quality Engineering n’est pas un sprint, c’est un marathon continu d’adaptation de la proposition de valeur client. Les quality engineers doivent maîtriser les approches incrémentales pour améliorer la qualité à l’échelle de l’entreprise.
Différentes équipes auront un niveau de maturité différent, elles doivent s’adapter à la composition et aux objectifs de l’équipe pour les aider à augmenter leur niveau de qualité. L’approche Lean soutient la livraison d’incréments précieux sur les bonnes priorités.
Lean Problem Solving
Travailler sur les bonnes priorités en premier lieu permet une performance rapide et efficace de l’organisation. La gestion des problèmes consiste à définir clairement les problèmes, à identifier les causes profondes et à s’assurer qu’ils sont résolus.
Cette compétence n’est pas la définition ITIL de « Gestion des problèmes » ; La résolution de problèmes en Lean est indispensable pour les équipes à haute performance dans leurs exigences, leur mise en œuvre et leurs défis opérationnels sur la chaîne de valeur de livraison de logiciels.
Influence
Les ingénieurs qualité ne sont pas les décideurs de toutes les questions de qualité. En étant plus facilitateurs que faiseurs, ils doivent convaincre l’équipe dans la direction à prendre, les moyens d’exécuter les processus pour développer avec succès la qualité.
L’influence est donc une compétence nécessaire dans les interactions quotidiennes entre les Quality Engineers et les différentes équipes transverses dans les nouveaux modèles d’interactions de Quality Engineering. Il est également nécessaire pour une collaboration intra-équipe efficace.
Framework
Ces pratiques vous prépareront à un parcours de transformation vers une organisation de Quality Engineering. Les pratiques vous aideront à développer les compétences nécessaires pour atteindre l’état de livraison de valeur continue avec Quality at Speed.
Ce contenu était limité au pilier des compétences, laissant les pratiques restantes des Methods, Architecture, Management & Organization dans des contenus séparés. L’objectif est de l’enrichir au sein de la communauté et d’améliorer son contenu.
Vous pouvez accéder au framework de Quality Engineering contenant le classement des pratiques en termes de qualité, de rapidité et de complexité. Il contient également une option pour personnaliser la priorité de certaines pratiques et vous laisse déjà avec un plan d’action.
Suivez la QE Unit pour plus de Quality Engineering.
La définition, le manifeste et le framework de Quality Engineering sont disponibles sous licence Creative Common Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).