5 conseils pour garantir un développement logiciel sans bogue
Publié: 2017-10-24Votre application logicielle a-t-elle des bugs ? Bien sûr que c'est le cas, car chaque logiciel disponible sur le marché a des problèmes et l'histoire d'un logiciel sans bogue est un mythe. Cependant, il est toujours possible de minimiser considérablement les bogues, les erreurs et les problèmes de sécurité en suivant quelques techniques de réduction livresques mais pratiques.
Il y a beaucoup de discipline en ce qui concerne le suivi des bogues, car cela nécessite d'encourager tout le monde à respecter les règles. Surtout dans les startups et les industries axées sur la créativité, il peut être assez difficile de décourager toute communication informelle. En fait, dans de nombreux cas, les gens ne citent pas le « suivi des bogues » comme la partie la plus ciblée d'un projet.
En quoi consiste vraiment le suivi des bogues ?
Selon Technopedia : « Le suivi des bogues est un processus utilisé par le personnel d'assurance qualité et les programmeurs pour suivre les problèmes logiciels et les résolutions. "
Un système de suivi des bogues gère donc toutes les informations sur les erreurs signalées et suit l'état de chaque bogue. Vous voyez certainement le besoin d'informations détaillées lors du suivi des problèmes. Fournir des données suffisantes nécessite non seulement une quantité énorme de temps, mais également des compétences abondantes dans le domaine du développement de logiciels.
Le classement des bogues
Il existe trois types de bogues logiciels :
- Spécifications incorrectes
- Défauts de mise en œuvre
- Spécification manquante
N'importe lequel de ces types de bogues peut être facilement classé comme un problème critique (ou reclassé comme une amélioration). Certaines des directives de reclassification utilisées par Sam Hatoum, fondateur de Xolv.io, sont mentionnées ci-dessus.
- La spécification incorrecte nous cause-t-elle une perte ? Par exemple, la spécification indique le nombre de clics de suivi, alors qu'il devrait s'agir du suivi des dépenses Reclassify Bug.
- Le défaut de mise en œuvre peut-il être négligé ? Par exemple, la police Web est installée alors qu'elle devrait être intégrée au logiciel.
- La spécification manquante implique-t-elle de nouvelles fonctions ? Par exemple, les utilisateurs ne peuvent pas partager et modifier les détails de leur profil sur les réseaux sociaux.
Les enjeux sont élevés pour les chefs de produit de classer efficacement les bogues, puisque l'équipe de développement est chargée de prioriser les bogues sur tout autre travail. Les développeurs ne fonctionneront pas ou quoi que ce soit d'autre jusqu'à ce que tous les bogues soient supprimés.
Formant des normes de qualité d'équipe
Lorsqu'une équipe de conception et de développement décide si un virus d'application peut ou non être reclassé comme une amélioration, ce processus de décision énonce implicitement les normes de qualité de l'équipe. Par exemple, un propriétaire de marque qui met l'accent sur des visuels de haute qualité peut avoir une faible tolérance aux écarts de conception. Au lieu de cela, ils requalifieraient ces problèmes en bogues.
Un système de reclassification cohérent vous permet d'adapter en permanence les attentes à la réalité, tout en maintenant une approche de livraison structurée qui place les normes de qualité de votre équipe au premier plan.
Les échecs de bogue
Des études récentes affirment que près de 40 % des défaillances du système sont causées par des bogues logiciels, tandis que d'autres problèmes de sécurité et vulnérabilités de programme représentent 60 %, causés par des problèmes courants liés à la mémoire et à la concurrence. Réduire les bogues logiciels dans votre application est le meilleur moyen d'augmenter la sécurité, la stabilité et la fiabilité de votre logiciel.
Conseils pour garantir un développement logiciel sans bogue
Lors du développement de l'outil de journalisation SmartInspect, les développeurs ont utilisé de nombreuses méthodes pour maintenir la qualité de leur système à un niveau élevé. La liste mentionnée ci-dessus contient certaines des techniques qu'ils ont utilisées.
1. Créer un espace de communication
La détection et le signalement des bogues nécessitent des compétences pour identifier les informations pertinentes qui sont ensuite ajoutées à chaque rapport de problème. Il existe de nombreux outils de suivi des bogues et d'assurance qualité comme Usersnap qui offrent la possibilité de joindre automatiquement les informations nécessaires. Néanmoins, il y aura toujours de la place pour des informations manquantes ou mal comprises, ce qui nécessitera une communication appropriée.
Dans certains scénarios de test, il n'y a pas de place pour ce type de divulgation entre les développeurs et les testeurs. Des questions comme : 'Comment puis-je entrer en contact avec les experts en charge ?' ou "Est-il acceptable de demander des commentaires par téléphone ou par e-mail ?" doivent recevoir une réponse au début du processus de suivi des bogues.
Pour éviter les malentendus de la part des testeurs et des développeurs, essayez de mettre tout le monde sur la même longueur d'onde et de créer une culture orientée feedback où le travail des deux parties est respecté de la même manière.
2. Gardez-le en tête-à-tête
Évitez de discuter des bugs lors d'une réunion de projet. Ne vous méprenez pas. Il n'y a rien de mal à travailler en équipe, à reproduire et corriger les bogues. Mais ne discutez pas des problèmes lors de réunions prolongées avec l'ensemble du cabinet. Selon Thomas Peham, un blogueur technologique chez Usersnap.com, signaler des bogues puis en discuter lors de la prochaine phase de développement « retest » est une approche assez lente.
Il est, en effet, beaucoup plus efficace de le garder en tête-à-tête. Comme Yegor l'a écrit dans son article sur les 5 principes du suivi des bogues, chaque rapport de bogue est lié entre deux personnes - le spécificateur et le solutionneur de problèmes. Peu importe le nombre de personnes impliquées dans le processus, il n'y a que 2 responsabilités principales (avec deux rôles différents) pour résoudre un problème signalé.
3. Assurez-vous de l'adhésion de votre équipe
Si toute votre équipe ne l'utilise pas, une bonne base de données de suivi des bogues serait inefficace. Il est préférable de commencer par faire évaluer les outils par toutes vos parties prenantes (service client, assurance qualité, chefs de projet et développeurs) et essayer de prendre une décision ensemble ; consigner et traiter les défauts de manière cohérente en utilisant le même système.
Si vous avez du mal à faire participer les gens, voici ce que vous pouvez faire ;
Pour les développeurs, établissez la loi d'acceptation des rapports de bogues via des bases de données individuelles et pas toute autre méthode. Lorsque les testeurs vous envoient des e-mails avec des commentaires, demandez-leur simplement de jeter les rapports dans le système d'information à la place. En plus de garantir que les choses restent organisées, cela aide également au reporting en fournissant toutes les informations nécessaires et en définissant les champs nécessaires.
Une autre façon de créer un processus plus efficace consiste à demander à l'assurance qualité ou à l'assistance de vérifier les bogues des clients et d'ajouter les étapes exactes dans la base de données avant même que les développeurs ne soient avertis. Le suivi efficace de vos problèmes logiciels est l'un des aspects les plus essentiels pour disposer d'un cadre de gestion de projet fiable et cohérent.
- Un bon débogueur
Si vous utilisez des systèmes comme Visual Studio ou Delphi, vous avez déjà accès à un débogueur extrêmement puissant que vous devriez utiliser. Dans le cas d'un environnement de script où les développeurs essaient souvent d'éliminer les bogues par essais et erreurs, le processus devient non seulement un moyen fastidieux d'identifier et de résoudre les problèmes, mais il est également très dangereux si vous ne comprenez pas entièrement votre code et que vous ne parvenez pas à parcourez-le avec un débogueur. Rendez-vous service en obtenant une bonne plateforme de débogage pour votre équipe – il existe des débogueurs pour presque tout.
4. Sachez ce que signifie un bogue "fermé"
Avez-vous déjà participé à une discussion sur la fermeture d'un bogue ? Eh bien, félicitations, vous avez été dans la pire situation de suivi de bogues qui puisse avoir lieu.
Si vous vous retrouvez dans une discussion sur le « statut du bogue », envisagez de prendre du recul et de vous poser les questions suivantes :
- À qui incombe la responsabilité d'accepter les résultats ?
- Quels sont les critères d'acceptation ?
- Qui est responsable de donner la commande?
Jetez un oeil à la signification de «fermé». Dans la majorité des équipes de développement, un bogue est fermé par la personne qui a corrigé l'erreur. Peham recommande de fermer le rapport de bogue par la personne qui a signalé le problème. Une fois que la solution pour un certain bogue est proposée par le développeur, le rapporteur doit être invité à fermer le rapport. Cela garantirait que le retour d'information est une solution suffisante pour les embrouilles logicielles.
5. Machines virtuelles
Afin de tester votre logiciel à la recherche de bogues sur de nombreux systèmes d'exploitation et environnements différents, vous devez utiliser des machines virtuelles avec des outils tels que Virtual PC ou d'autres logiciels de virtualisation disponibles. Vous pouvez gagner beaucoup de temps grâce à cette méthode car vous pouvez facilement copier, partager et réinitialiser les machines virtuelles, ce qui vous permet de tester votre logiciel sur toutes sortes de configurations.
Il est toujours préférable de créer différentes images standard pour tous les systèmes d'exploitation que vous testez régulièrement et de les mettre sur un serveur de fichiers. Lorsque vous avez besoin d'une configuration très spécifique pour tester quelque chose, vous pouvez commencer avec l'une des images de base sans installer le système d'exploitation, les logiciels et pilotes requis, etc.
Ce n'est pas un nouveau concept
Lorsque Hatoum a proposé ce concept, il a découvert que l'idée du logiciel Zero-Bug n'était pas nouvelle. Il existe en fait depuis les années 1960, comme beaucoup de philosophies de la vieille école oubliées.
Le légendaire expert en qualité, Phillip Crosby, a inventé le terme Zero-Defect alors qu'il travaillait à la société Martin ou sous le nom actuel de « Lockheed Martin » où il a été signalé qu'ils avaient atteint « une réduction de 54 % des défauts dans le matériel sous audit gouvernemental ».
Initialement, la technique Zero-Defect a été utilisée dans la fabrication aérospatiale dans les années 60, puis a été appliquée dans la fabrication automobile dans les années 1990. Il existe de nombreuses similitudes entre l'industrie manufacturière et la livraison de logiciels.
La modalité de gestion agile populaire Kanban, par exemple, est issue du système de production Toyota. Ce que cela nous dit essentiellement, c'est que nous pouvons facilement examiner ces processus de fabrication pour nous inspirer de la technologie dans le développement de logiciels ou d'applications, et Zero-Bug est l'une de ces inspirations.
Le coût extrême du respect de la norme est cependant l'une des principales critiques de l'approche zéro défaut. Et s'il est mal implémenté, cela peut en effet être vrai. Dans l'approche Zero-Bug, Hatoum a directement traité ce problème à travers la reclassification des bugs en fonctionnalités et des améliorations significatives, permettant de contrôler le coût grâce aux normes de qualité de l'équipe.
Commencez aujourd'hui
En tant qu'utilisateurs techniques et développeurs, vous pouvez commencer à parcourir tous les problèmes existants et les classer en utilisant le système susmentionné. Si vous pensez que vous avez des centaines de milliers de problèmes, c'est peut-être le bon moment pour les retarder et recommencer. Ne vous inquiétez pas, vous pouvez toujours déplacer les bogues des archives vers le domaine actuel selon vos besoins.
L'équipe de développement n'a pas nécessairement besoin d'attendre que l'ensemble de l'exercice de classification soit terminé avant de commencer à éliminer les bogues ; ils peuvent commencer dès que quelques bugs sont classés. L'équipe ne doit pas commencer à travailler sur d'autres éléments du backlog tant que tous les éléments n'ont pas été « corrigés » ou reclassés. C'est cette règle même qui oblige les chefs de produit à hiérarchiser correctement les nouveaux travaux.
En résumé
Chaque bogue signalé dans un projet nécessite un délai supplémentaire pour être corrigé. Le suivi des bogues nécessite donc de grandes compétences en communication de la part des personnes qui suivent les bogues ainsi que la sensibilité de ceux qui les corrigent. Avec les piratages de suivi susmentionnés, votre équipe peut essayer d'être plus productive tout en signalant tout type d'obstacle technologique ou de sécurité.