dimanche, 02 juillet 2017 07:51

Dette technique, sécurité et performance : les clés d'une application mobile qui fonctionne

Les entreprises consacrent une quantité considérable de temps et de ressources pour s'assurer qu'une application soit lancée en production sans bugs. Cependant, l'attention portée sur la qualité du code logiciel est minimale.

C'est là que les grandes entreprises faiblissent. La qualité structurelle d'une application est un indicateur de la solidité de l'architecture et du code de l'application, qui ne peut être correctement mesurée que par le bon fonctionnement de l'application.

La vérification du code a été réduite à une simple formalité en supposant que les développeurs ont un niveau qui mérite une confiance implicite en ce qui concerne la qualité du codage. Ainsi, l'application doit être créée selon les meilleures pratiques de codage et respecter les exigences fonctionnelles initiales.

Il est nécessaire de noter que l'expérience d'un développeur - liée à ses années comme codeur - n'est pas toujours un indicateur d'expertise. Indépendamment des témoignages que l'équipe de développement a reçu au cours des années, chaque ligne de code, qui correspond à une demande spécifique dans le cadre du développement, doit faire l'objet de contrôles rigoureux.

Les principaux facteurs à prendre en considération sont les suivants :


1. Dette technique

Les bugs ont une façon d'échapper aux cycles de développement et de test pour se manifester dans l'environnement de production. Le coût requis pour corriger ces erreurs, qui restent dans le code en production, s'appelle la dette technique. Cette dette prend la forme d'un effort supplémentaire pour gérer les erreurs en production en raison de défauts structurels dans le code de l'application.

La dette technique est calculée comme suit :
Dette technique = (0,1 * Violations de gravité faible + 0,25 * Violations de gravité moyenne + 0,5 * Violations de gravité élevée) * N. d'heures pour fixer la réparation * coût / heure.

Même si l'on suppose que chaque problème prendrait une heure pour être réparé à un coût de 75€ de l'heure, ce coût devient plus élevé en production.

2. Sécurité

La sécurité d'une application est mesurée par des attributs de son code qui la rendent moins sensible au risque d'intrusion de données.

Les applications Mainframe sont plus sécurisées que les applications web car elles sont moins exposées aux menaces de sécurité auxquelles sont traditionnellement sujettes ces dernières.

Les entreprises se concentrent généralement uniquement sur les aspects de sécurité qui doivent être abordés par les règles de conformité dans les secteurs verticaux du secteur, tandis que le code de la demande reste vulnérable aux menaces de sécurité soit en raison d'erreurs humaines, soit de dépendances de plateforme.

3. Modification

Ce sont les attributs qui rendent une application flexible aux changements requis et donc plus rapide à modifier. La modification est l'un des principaux facteurs de TCO (coût total de possession) d'une application. Ainsi, il existe des frais généraux d'investissement importants si l'application présente un faible score de modification.

On constate que les scores de modification sont très faibles dans les applications du secteur public car les offres sont offertes à plusieurs fournisseurs qui ne parviennent pas à développer des applications développées sur les mêmes plates-formes utilisant les mêmes langages de développement. Outre le secteur public, il y a peu de différence dans les scores de changement dans des applications internes et externes. Cela dépend de manière significative de la technologie de développement et de la compétence du développeur qui travaille sur l'application.

4. Performance et robustesse

La performance est mesurée par la réactivité et l'efficacité d'une application, tandis que la robustesse est mesurée par la stabilité de l'application et la capacité de réduire les défauts lors de sa modification.

Les outils automatisés de test de performance facilitent l'identification des problèmes liés à la performance. Ils donnent indirectement une idée des problèmes au niveau du code en indiquant des goulets d'étranglement et des pannes critiques à certains points de contrôle. Ainsi, les applications utilisant les meilleurs outils de test de performance seront de fait plus performantes encore.

La robustesse d'une application dépend de son score de sécurité et de changeabilité. Il y a rarement des fluctuations sur ces deux scores quand ils sont déjà élevés. Il est important de noter qu'un score de performance plus élevé n'implique pas un score de robustesse parallèle.

5. Modularité

C'est une hypothèse erronée selon laquelle plus la taille d'une application mobile est grande plus sa qualité structurelle est moindre. La modularité est mesurée par la capacité d'un code d'application à fournir une abstraction et une isolation telles que les modifications apportées à un module n'affecteront pas nécessairement un autre module, sauf si les règles commerciales de l'application l'exigent.

Le score de modularité est beaucoup plus élevé dans les langages orientés objet comme Java EE et .Net alors qu'il est considérablement plus faible dans les langages mainframe comme COBOL.

Conclusion

La qualité structurelle du code est indépendante de son fonctionnement, ce qui peut être une bonne chose selon les fonctionnalités de l'application. Il est nécessaire d'évaluer chaque code source d'une application sur la base des points ci-dessus pour s'assurer que l'entreprise n'ai pas à supporter un engagement trop lourd du point de vue des dettes techniques.

Version AMP de l'article

Laissez un commentaire

Assurez-vous d'indiquer les informations obligatoires (*).
Le code HTML n'est pas autorisé.