Audit : Analyser la complétude fonctionnelle d’une application

Audit : Analyser la complétude fonctionnelle d’une application

Bien souvent, des indices signalent que votre application web ou mobile devient obsolète.

Les utilisateurs s’en plaignent ? Les besoins d’évolution sont urgents mais trop coûteux ? Les technologies sont problématiques ? Les tests automatisés sont absents ? Des problèmes importants de conception se font ressentir ou les compétences techniques sont manquantes ? Quels sont les problèmes et leur étendue ? Pour savoir ce qu’il en est précisément, la meilleure solution consiste à faire un état des lieux complet. 

L’audit d’une application web ou mobile comprend une phase d’analyse fonctionnelle. Elle sert à vérifier si l’application remplit son rôle et répond aux fonctionnalités demandées :

Remplit-elle son rôle ? Fait-elle ce pour quoi elle a été créée ? ou plus tout à fait ?

Évaluer les critères que nous vous présentons dans cet article  vous aidera à mesurer l’obsolescence de votre application d’un point de vue fonctionnel. Un audit éclairé s’appuyant sur l’analyse détaillée de la complétude  fonctionnelle vous permettra de définir vos priorités.

Cette première étape d’audit d’une application web ou mobile comporte deux objectifs essentiels.

Le premier sera de déterminer si les fonctionnalités métier clé sont complètes en fonction des besoins métier. Cela permet de garantir la pérennité de l’application.

Le deuxième objectif sera de vérifier si les demandes d’évolution sont maîtrisées par l’équipe de développement. Le but est de garantir la meilleure réponse aux utilisateurs face aux changements demandés.

Sommaire
 

Les fonctionnalités métier clés sont-elles complètes ? 

Définir les fonctionnalités métier clés de l’application

Une fonctionnalité  se définit par le fait qu’elle apporte de la “valeur” aux utilisateurs. Elle est fonctionnelle, pratique pour l’utilisateur. Une fonctionnalité métier répond à un besoin des utilisateurs de l’entreprise ou de l’organisation concernée. Elle rend un service en rapport avec le métier correspondant.

Quelques exemples de fonctionnalités : “Créer un devis pour un client.” “Planifier un rendez-vous.” “Comparer des produits du catalogue.” 

Une fonctionnalité métier est souvent appelée exigence fonctionnelle.

Une fonctionnalité métier clé  représente une fonction essentielle. Ce sont les fonctionnalités métiers clés qu’il faut d’abord identifier et lister, puis évaluer. Elles sont présentes dans toutes applications professionnelles.

Établir la liste des fonctionnalités métier clés

L’audit est une photographie de l’application à un instant donné. Pour établir la liste des fonctionnalités métier clés, vous avez différents moyens à votre disposition.

Voici une liste des ressources sur lesquelles se baser pour établir la liste des fonctionnalités de l’application.

  •  L’expression de besoin initiale indique les objectifs de l’application et les principales fonctionnalités (aussi appelées fonctionnalités métier clés). Pour aller plus loin, parcourez le cahier des charges ou  les spécifications fonctionnelles détaillées. Elles vous permettront de vérifier que vous n’avez rien oublié d’important. Ce sera la même chose avec la documentation utilisateur de l’application ;
  • Il est très fréquent qu’au fil des évolutions de l’application, les documents initiaux ne soient pas mis à jour. Vérifiez s’il y a des modifications dans les fonctionnalités métier clés. Pour cela, utilisez, inspectez et explorez l’application. Pensez à le faire au travers des différents profils utilisateurs ; 
  • Dans le même esprit, appuyez-vous sur les demandes d’évolutions faites par les utilisateurs.  Elles vous aideront à identifier les fonctionnalités métier clés de l’application qui n’étaient pas implémentées au départ. Ces demandes sont souvent référencées dans un gestionnaire de tickets (par exemple gitlab) ;
  • Utilisez la liste des tâches. Elle peut provenir, par exemple, d’un outil de gestion de projet.  Cela vous évitera d’oublier des fonctionnalités métiers clés dans l’inventaire  ;
  • Réalisez des interviews avec des utilisateurs identifiés, compétents et maîtrisant l’application. Attention, l’exercice risque d’être trompeur.  Les utilisateurs ne parlent généralement que des fonctionnalités qu’ils utilisent, et plus encore, de celles qui leur posent problème. Il est possible qu’ils manquent d’une vue globale de l’application. 

Généralement, ce travail préliminaire ressemble à un jeu de piste ! Idéalement, il doit être réalisé par le chef de projet de l’application. Il sera d’autant plus efficace et rapide.

Astuce : Vous pouvez utiliser un tableur pour gérer cette liste.

Favorisez plutôt des outils collaboratifs pour échanger plus facilement avec les parties prenantes.

Les critères d’évaluation des fonctionnalités

Prenez le temps de définir des critères qui vous permettront d’évaluer les fonctionnalités de façon objective.   Évaluez chaque fonctionnalité sur les différents critères que vous avez défini.  Comme dans l’exemple ci-dessous :

Vous pouvez associer une note à chaque critère. Cela vous permettra d’obtenir un score pour chaque fonctionnalité.  Une fois chaque fonctionnalité étudiée, obtenez le score global d’obsolescence fonctionnelle de votre application. N’hésitez pas à vous reporter à l’exemple fourni dans le fichier Excel que nous vous proposons.

Cliquez ici pour accéder à la page de téléchargement de la grille d’analyse excel et son mode d’emploi.

Nous préconisons l’utilisation de six critères d’évaluation des fonctionnalités :

 1. L’importance de la fonctionnalité ou sa criticité

La question à se poser : quelle est l’importance de la fonctionnalité ou sa criticité vis à vis du métier ? (Par rapport aux modalités de l’entreprise, aux actions que vont devoir effectuer les différents utilisateurs).

L’échelle de ce critère peut être définie de “Très haute” à “Très Basse” par exemple. Une fonctionnalité jugée “Très Haute” ou “Critique” pourrait mettre en péril l’activité si elle ne produit pas le résultat attendu.

2. La complexité de la fonctionnalité

La fonctionnalité est-elle complexe ? 

Cette complexité est à juger toujours du point de vue du métier. De la même manière, vous pouvez utiliser une échelle allant de “Très Difficile” à “Très Faible”.

3. La présence de spécifications fonctionnelles claires et précises

La fonctionnalité est-elle clairement décrite dans des spécifications fonctionnelles ?

Cette description respecte t-elle les bonnes pratiques d’écriture d’une exigence fonctionnelle ?

La notation peut être par exemple simplement Oui / Non ou une Mise à jour est nécessaire.

4. La couverture des tests

La fonctionnalité est-elle couverte par au moins un cas de test ?

Un cas de test, quelquefois aussi appelé test d’acceptance, décrit la manière dont la fonctionnalité devra être testée pour être acceptée, validée.

Un cas de test est défini par une séquence d’étapes de test. A chaque étape,  nous précisons l’action à effectuer et le résultat attendu.

Si l’ensemble des résultats attendus est correct alors le cas de test est correct.

L’ensemble des cas de tests sont consignés dans un plan de test.

De la même manière que précédemment, la notation peut être par exemple simplement Oui / Non ou une Mise à jour est nécessaire.

5.  La documentation

La fonctionnalité est-elle décrite dans la documentation utilisateur ?

Nous pouvons là encore utiliser la notation Oui / Non ou une mise à jour est nécessaire.

6. La conformité fonctionnelle (Probablement l’un des plus décisifs)

Cette fonctionnalité rend-elle le service attendu ?

Les quatre valeurs possibles s’approchent d’une conformité ou non (conforme, mise à jour nécessaire, non conforme, inutile).

Voici un exemple de liste des fonctionnalités avec la notation associée : 

modèle Excel pour auditer une application web ou mobile : audit fonctionnel

Chaque fonctionnalité métier de l’application est listée en indiquant son importance, sa complexité, si elle est spécifiée dans la documentation fonctionnelle, si elle est couverte par un ou des cas de test dans un plan de test, si d’un point de vue utilisateur elle est documentée, et si sa complétude répond bien aux besoins.

Article similaire :  L'importance d'un audit d'application Symfony

Les demandes d’évolution sont-elles maîtrisées ?

Le second objectif de l’audit d’une application web ou mobile vise à déterminer si l’équipe de développement maîtrise les demandes dévolution que vous souhaitez apporter. Le but est de garantir la meilleure réponse aux utilisateurs face aux changements demandés.

Il arrive que l’application ait évolué. Les demandes d’évolution ont lieu en général en cas de dysfonctionnement ou de changement fonctionnel.

Pour les besoins de l’audit, la source d’information sera généralement un outil de ticketing/support/bugtracker. Par exemple Github. Cet outil de ticketing sert à réaliser une demande auprès du développeur qui fera les modifications nécessaires. On peut aussi utiliser d’autres outils. Un tableur excel par exemple peut permettre de remonter les demandes. 

Là encore, nous cherchons à faire une photographie au moment de l’audit. Il n’y a donc pas d’utilité particulière à remonter le temps. Au moment de l’audit, l’historique des demandes clôturées n’est pas forcément utile. 

Établir la liste des demandes d’évolution

Il faut établir la liste des demandes d’évolution (non clôturées). Elle peut comporter les informations suivantes : 

  • L’intitulé de la demande, 
  • La fonctionnalité métier associée, 
  • La date de la demande, 
  • Le type de la demande : nouveauté, correction, amélioration,
  • L’état de la demande (ouverte, acceptée, refusée, validée, en cours, résolue), 
  • La date de prise en charge de la demande par l’équipe de développement, 
  • Et enfin la date de résolution de la demande.

Astuce : Utilisez un tableur collaboratif pour référencer les demandes, cela permettra ensuite de calculer des scores. 

Évaluer les demandes d’évolution

Comme pour les fonctionnalités, vous pouvez définir des critères d’évaluation des demandes d’évolution. 

Par exemple, posez-vous des questions sur  :

  • Le type de demande. S’agit-il d’une nouveauté, d’une amélioration ou d’une correction ?

Si les demandes sont nombreuses et que ce sont toutes des demandes de correction, cela signifie que l’application a un réel problème. Par contre, si les demandes sont des demandes d’évolution, c’est tout à fait normal.

En ce qui concerne l’analyse de l’obsolescence, plus on a des demandes de nouveauté, moins c’est grave. Plus on a de demandes de correction, plus cela traduit la présence de problèmes. 

Méthode de notation : Associer une note à chaque critère vous permettra d’obtenir un score pour chaque demande d’évolution. 

  • La priorité de la demande peut se mesurer par “très haute”, “haute”, “moyenne”, “basse”, “très basse”.

Si vous avez des priorités très hautes, cela traduit  un problème d’obsolescence important. A l’inverse, si les demandes représentent une priorité basse, il n’y a aucun souci.

  • Le délai de prise en charge est une évaluation sur la capacité de l’équipe à traiter les demandes. A terme, il aura un impact sur l’obsolescence. En somme, si vous avez des demandes qui s’accumulent et qu’en plus, l’application n’évolue pas, elle deviendra obsolète. 

En revanche, si le délai est rapide, c’est bon signe pour la santé de l’application.

Suivre la méthode en fonction des dates saisies dans la liste des demandes d’évolution, vous pouvez définir que le délai de prise en charge a été court (moins de 4 jours par exemple), moyen (de 5 à 9 jours), long (de 10 à 15 jours) ou très long (plus de 15 jours). Plus le délai est important, plus cela a un impact en termes d’obsolescence fonctionnelle.

Une fois toutes les fonctionnalités et les demandes d’évolution répertoriées et évaluées, il vous sera possible de produire des indicateurs et des métriques pour mettre en perspective votre audit fonctionnel.

Les indicateurs et métriques

Pourquoi mettre en place des indicateurs ?

Dotez-vous d’outils de pilotage (indicateurs de performance, tableaux de bord). Cela facilite la prise de décision opérationnelle.  

Nous vous présentons ci-dessous un exemple d’indicateurs globaux calculés à partir des différents critères. Des points sont calculés en utilisant des coefficients selon certains critères. Par exemple, l’importance et la complexité des fonctionnalités. 

En rapportant ces points sur la base 100, on obtient  un score.  Le diagramme permet d’observer clairement où les problèmes se situent.

Dans l’exemple ci-dessous, nous observons un problème autour des tests et du traitement des demandes d’évolution de l’application.

Exemple d'indicateurs globaux d'évaluation fonctionnelle d'une application
Exemple d’indicateurs globaux calculés à partir des différents critères évalués

Les étapes de l’audit fonctionnel en vidéo

Rediffusion du webinaire sur l’analyse de la complétude fonctionnelle d’une application web ou mobile, présenté par Antony Zanetti, Directeur Technique et co-fondateur d’AxioCode. La présentation est suivie par une séance de questions/réponses. Vous avez d’autres questions ? Posez-les nous.

En conclusion

Ces étapes permettent de dresser un audit fonctionnel détaillé et de dévoiler les forces et les faiblesses de votre application web ou mobile. L’audit définit également les priorités sur lesquelles se concentrer pour transformer efficacement les faiblesses en forces.

Nous vous proposons de télécharger en bonus un modèle d’inventaire des fonctionnalités avec son mode d’emploi.

Cliquez sur ce lien pour télécharger votre guide gratuit

Une application professionnelle vous pose problème ? Vous n’avez pas les compétences en interne ? Vous n’avez pas le temps d’analyser votre application ? AxioCode peut vous aider.

Contactez un de nos experts

Evaluez l’obsolescence de votre application

Vous pouvez bénéficier de notre service d’audit dédié aux applications web et mobiles. Vous obtiendrez ainsi une étude détaillée de votre application et une feuille de route. En savoir plus. 

Bonus :

Téléchargez notre modèle d’inventaire des fonctionnalités avec son mode d’emploi. Vous pourrez ainsi dresser l’inventaire des fonctionnalités de votre application et analyser la complétude fonctionnelle de votre application.

De plus, voici une infographie résumant cet article. Retrouvez toutes nos infographies sur notre compte Pinterest.

Infographie : analyse de la complétude fonctionnelle d'une application