Audit de code : une révision ou un check-up ?

Brouillon

À venir

0 commentaire

rawpixel-632449-unsplash-2

L’audit de code est à l’informatique ce que la révision est à l’automobile et le check up à la santé, une sorte d’examen approfondi à un moment donné pour voir si tout va bien.

Plus l’application est stratégique pour l’entreprise, plus la qualité du code a un impact et plus la non-qualité a un coût. Lorsqu’une application fonctionne mal, cela impacte tant la productivité de l’entreprise que l’image de marque, et ce d’autant plus lorsqu’il s’agit d’une application de gestion ou métier.

Dans ce contexte, les bonnes pratiques de développement (nombre de commentaires, quantité de doublons, code inutile, complexité des algorithmes) deviennent une nécessité et il est plus que jamais indispensable de maintenir une visibilité complète sur l’ensemble des applicatifs. C’est tout l’objet de l’audit applicatif ou de performance de vos applicatifs.

Produire du code de bonne qualité, ce n’est pas si simple, c’est même de plus en plus compliqué, tant il y a de facteurs aggravants :

  • Des attentes fonctionnelles toujours plus importantes
  • Une technologie de plus en plus performante mais de plus en plus complexe. C’est encore plus vrai avec l’arrivée du Cloud et notamment de ses services applicatifs
  • La multiplication des plateformes et des langages
  • Des équipes distribuées

Nous avons consacré 3 articles sur ce sujet de la complexité.

Qu’est-ce qu’un audit applicatif ?

L’audit d’application consiste à évaluer un logiciel selon des critères techniques et les bonnes pratiques de développement logiciel. Il comprend une étude du code source mais l’analyse est en réalité bien plus large puisque que l’on s’intéresse également aux processus de développement logiciel, à la dette technique, la maintenance, l’évolutivité de l’application, les technologies, etc. Dans certains cas, l’organisation, les rôles ou encore le lien entre l’application et les utilisateurs peuvent être évalués.

Un audit applicatif constitue :

  • Une vue à 360° sur l’ensemble de votre application
  • Un regard extérieur factuel sur les points majeurs
  • Une analyse des différents facteurs
  • Des recommandations concrètes applicables à court, moyen et long terme
  • Des conseils éventuels sur l’organisation des équipes et le management


    Pourquoi effectuer un audit de code ?

    Pour sécuriser l’évolutivité de votre application en vérifiant notamment :

    • La manière dont le code est écrit et structuré ainsi que les règles d’écriture (syntaxe, nommage, documentation, complexité des algorithmes, instructions, modes d’accès aux bases de données, bugs potentiels…)
    • La quantité : la quantité de code est directement corrélée au montant de la dette applicative. Le code mort rend le code utile plus confus et plus complexe, avec comme conséquence immédiate une augmentation des coûts de maintenance
    • La qualité : une application dont le code est peu lisible ou mal conçu sera beaucoup plus risquée et difficile à faire évoluer là où quelques jours suffiraient avec un code bien écrit et pertinent.

    Lorsque vous manquez de maitrise sur votre code

    • Vous avez le sentiment de manquer maitrise : lorsque l’on vous donne des explications que vous ne pouvez pas vérifier ou que l’on vous annonce X jours pour telle évolution sans savoir si c’est sous-estimé, surestimé, réaliste ou totalement fantaisiste
    • Vous n‘êtes pas à l’abri que le code ne soit compréhensible que par les personnes qui l’ont développé initialement et que, si pour une raison ou une autre ils quittent le projet, personne ne puisse le reprendre.

    Pour identifier un problème de performances

    • Vos utilisateurs se plaignent des temps de réponse de l’application au point d’impacter leur productivité
    • La plateforme montre des signes d’instabilité sous certaines conditions de charge avec une tendance à s’aggraver au fil du temps
    • Le temps de traitement de vos requêtes est anormalement long

    Pour contrôler le coût de maintenance et optimiser votre dette technique

    • Les coûts de maintenance vous échappent, chaque modification devient de plus en plus coûteuse. Cela peut notamment arriver lorsque le code d’une application a été optimisé au fil des années pour s’adapter aux évolutions diverses des mainframes et que désormais, plus personne n’est en mesure de comprendre comment il fonctionne. On parle alors de Legacy Code (code hérité), qui engendre des coûts de maintenance exorbitants et non maîtrisés.
    • Votre application nécessite des travaux importants pour éviter les régressions
    • Les temps de montée en compétences dans l’équipe de développement sont longs voire très longs

    Pour être rassuré avant d’investir dans une société avec du patrimoine applicatif ou d’acquérir une solution logicielle

    • Avoir une vue globale sur la qualité technique des actifs logiciels
    • Valider la capacité à suivre vos plans de développement
    • Anticiper les conflits éventuels relatifs à l’organisation et les rôles

    A découvrir aussi notre infographie sur les 5 raisons d’effectuer un audit de code.

    Les bénéfices de l’audit de code

    Vous subissez les aléas de votre application, on vous donne des explications que vous ne pouvez pas vérifier, vous ne maitrisez pas non plus les coûts de maintenance de votre application et il vous est par conséquent difficile de prendre des décisions quant à son évolution future... L’audit de code permet tout d’abord d’ouvrir les yeux sur l’état d’une application et sur les différentes problématiques que l’on peut rencontrer.

    Les logiciels développés ont souvent des intérêts stratégiques pour l’entreprise, qu’il s’agisse d’une application métier ou que vous soyez éditeur de logiciel. Il est dans l’intérêt des Directeurs des Systèmes d’Information ou des Responsables d’Application de bénéficier d’un état de lieux de l’application, d’identifier ses forces comme ses faiblesses et de mettre en place des mesures correctives afin d’améliorer ses performances, réduire sa dette technique, etc…

    C’est pourquoi les audits applicatifs figurent en tête de liste des enjeux importants pour la compétitivité des entreprises.

    Concrètement, les audits et les outils associés permettent de sortir une évaluation complète de l’application comprenant entre autres :

    • Un rapport présentant une vue détaillée sur la santé des applications
    • Des recommandations actionnables
    • Un niveau de priorité pour chacune d’elles

    La méthodologie suivie par SoftFluent et les livrables de l’audit de code sont décrits davantage dans cet article.

    Il s’agit donc d’une aide précieuse, notamment pour les DSI, puisqu’en un coup d’œil, il devient presque facile de savoir sur quelles applications il est nécessaire d’investir ou non et à quelle échéance.

    Ainsi, l’audit applicatif est une bonne pratique qui permet de :

    • Connaître les limites de l’application
    • Disposer d’un regard extérieur et indépendant sur l’application
    • Bénéficier de recommandations quant aux optimisations possibles à mettre en œuvre

    Pour réaliser l’audit de votre application, SoftFluent vous propose une approche personnalisée reposant sur une méthodologie qui combine outils et analyse humaine. Les outils d’analyse comme « Source monitor », « Ndepend » ou encore les différents outils réalisés par nous-mêmes permettent de disposer d’éléments chiffrés concrets. Avec plus de 200 audits à notre actif, nous disposons de l’expertise IT pour vous faire bénéficier d’une analyse critique et objective et vous transmettre des recommandations pratiques. 

    Au-delà du conseil IT, nos équipes sont capables de vous accompagner de manière concrète dans la mise en place des recommandations. De nombreux clients ont découvert SoftFluent par un audit applicatif

    Pour en savoir plus, contactez-nous.

    Christine Moronval

    Responsable Communication chez Volkswagen puis Directrice de Clientèle dans le groupe DDB, elle rejoint SoftFluent avec plus de 20 ans d'expérience en Marketing/Communication.

    Profil de l'auteur