Qu’est ce que la dette technique ?

Qu'Est Ce Que La Dette Technique Application Mobile

New call-to-action

Tous les projets de développement web ou mobile génèrent de la dette technique. Mais c’est quoi la dette technique ? Lorsque vous avez de la dette technique sur votre projet d’application mobile, celle-ci ne se verra pas automatiquement. Nous allons ici vous donner la définition de la dette technique, vous aider à l’identifier et vous expliquer les facteurs qui peuvent être amenés à la provoquer.

Qu’est-ce que la dette technique ?

La dette technique est un concept qui est apparu au début des années 1990, 1992 plus être plus précis. Ce terme a été utilisé pour la première fois par Ward Cunningham, théoricien dans le développement de logiciels. Il est aussi connu pour avoir créé l’idée de wiki : une application web qui permet de créer, modifier et illustrer de manière collaborative les pages d’un site web. 

La dette technique traduit le fait qu’une application mobile puisse comporter des erreurs qui peuvent nuire – ou non – à son bon développement et fonctionnement. La dette technique peut se remarquer lorsque les développeurs en charge du projet rencontrent des difficultés dans la lecture du code. Il faut entrer plus en profondeur dans le code pour le comprendre et le tester. Les raisons de l’apparition de la dette technique sont nombreuses. Parmi ces raisons, nous pouvons citer : la présence de fonctions trop grosses, de variables mal nommées (points qui prouvent la dette technique), une architecture comprenant des fonctions redondantes (qui apparaissent plusieurs fois dans l’application mobile, qui font la même chose, appelées dans des fichiers différents).

Si on devait résumer en trois points, voici ceux que les développeurs de Kreactive retiennent le plus : 

  • Fonctions redondantes
  • Fonctions difficiles à lire, à déchiffrer
  • Variables mal nommées.

Qu’est-ce qui provoque la dette technique ?

L’une des principales causes qui génèrent de la dette technique sont les librairies (pour le côté mobile/front). En effet, ces librairies ne stagnent jamais, tout comme votre application mobile ! Elles ont pour vocation de devenir obsolètes avec le temps. Par exemple, qu’il s’agisse d’une version Android ou iOS, les méthodes et fonctions dans le développement d’une app deviennent parfois obsolètes. Ce qui signifie que certaines fonctionnalités ne vont plus fonctionner. Prenons un exemple concret : le passage à iOS 13 a amené un grand nombre de changements donc une dette technique s’est créée sur tous les projets. Tous les devices iOS ont eu besoin d’être mis à jour. En parlant de mise à jour, notre équipe de développeurs accentue l’idée qu’il s’agit effectivement d’une des sources de dette technique les plus courantes. Ceci est d’ailleurs amplifié par le fait qu’Android détient 24 000 devices différents quand Apple n’en connaît qu’une dizaine. Chaque device peut amener un nouveau bug dans le développement. 
En terme d’architecture d’application mobile, les langages changent avec le temps. Chez Android, plusieurs langages peuvent être utilisés comme Java ou Kotlin. L’action de refactoriser permet à tous les développeurs de réduire la dette technique. Il est en de même pour le fait d’avoir plusieurs types d’appellations dans un même projet. Plus le projet est important, plus il faut harmoniser la langue parlée entre chaque développeur pour éviter de s’imposer de la dette technique. 
Les nouveautés sont appréciées des développeurs, mais peuvent causer de la dette technique. 

Comment mesurer la dette technique ?

Nos développeurs sont en constante veille quant à la qualité de leur code. Une chose est à retenir : l’informatique et plus précisément le développement d’applications mobiles génèrent de la dette technique. Cela s’explique notamment par le fait que les applications mobiles ne stagnent jamais et sont en constante évolution. Générer du code peut donc générer de la dette technique.
La dette technique peut être mesurée grâce à des outils comme SonarQube, Lint ou Jenkins. Ces outils permettent aux développeurs d’indiquer la présence de bugs dans le développement d’un projet. La qualité du code sera alors au centre de la dette technique. Ces outils sont utilisés du début à la fin du développement du projet.

SonarQube est un logiciel open-source développé par SonarSource. Il permet de mesurer la qualité de votre projet de plusieurs façons. Il va être capable d’analyser aussi bien un site qu’une application mobile et a été développé dans l’objectif de rendre la gestion de la qualité du code accessible. Cet outil aidera alors les développeurs dans l’analyse et le traitement du code. Il permet aussi de d’attribuer un score de dette technique sur Android uniquement. 

L’outil Lint permet d’optimiser les layouts en recherchant les erreurs classiques qui seraient susceptibles d’agir sur les performances et l’Expérience Utilisateur de l’application mobile. Il aide à trouver la présence d’erreurs de syntaxe et de répétitions dans l’ensemble du code. En développement, plus il y a de lignes de code, plus le développement s’avère difficile de compréhension.

Quant à Jenkins, on parle ici d’un logiciel open source d’intégration continue développé en Java. Il permet d’exécuter des tests et d’obtenir une configuration stable.

Avoir de la dette technique ne fait pas de votre projet un échec. Bien au contraire, si vous rencontrez de la dette technique, c’est simplement parce que vous développez, tout simplement. Comme dit précédemment, développer un projet digital entraînera automatiquement de la dette technique. Le plus important est cependant de réussir à la traiter régulièrement afin qu’elle ne se transforme pas en bug plus important qu’il ne devrait l’être. L’ajout de nouvelles features peut amener de la dette technique. C’est pourquoi il est important de prendre en compte que réduire la dette technique peut demander du temps. Vous ne savez pas si votre projet d’application mobile détient de la dette technique ? Demandez à notre équipe technique de l’analyser !

New call-to-action