Vos équipes de développement mobile sont submergées par une complexité croissante à mesure que votre base d'utilisateurs se développe et que votre application scale ? Vous remarquez un écart croissant entre le développement de fonctionnalités et leur mise en production réelle pour les utilisateurs finaux, ainsi que des coûts de maintenance de plus en plus élevés ? Nos experts mobile vous accompagnent dans la mise en place des meilleures pratiques DevOps mobile pour optimiser vos temps de build et de déploiement.
Theodo Apps nous a accompagnés dans la sélection et la mise en place des outils pour notre CI/CD. Les conseils et l’expertise de l’équipe nous a permis de mettre en place très rapidement nos premiers pipelines et de gagner en sérénité et en confiance dans nos livraisons. Merci à toute l’équipe pour leur aide, leur énergie et leur investissement dans notre projet.
Renaud Viry
Team Leader développement SW
ATLANTIC
ATLANTIC
Notre approche : la mise en place d’une CI/CD mobile
Identifiez vos besoins
Lancez-vous régulièrement des tests pour vérifier la stabilité de votre application ?
Une stratégie de test robuste est cruciale pour la réussite de tout projet logiciel. Elle garantit que l'application fonctionne comme prévu, donne confiance dans la gestion des régressions, améliore la compréhension et la documentation du code, et favorise une bonne architecture. Chez Theodo Apps, nous avons adopté une approche de test complète à quatre niveaux :
Analyse statique : Nous utilisons des outils d'analyse statique pour détecter les erreurs, améliorer la qualité du code et appliquer les normes de codage. Nos outils incluent des langages à typage fort, des linters et Sonar.
Tests unitaires : Nous réalisons des tests unitaires approfondis pour valider les composants individuels de manière isolée.
Tests d'intégration : Nos tests d'intégration vérifient les interactions et la compatibilité entre les différents composants de notre système. En simulant des scénarios réels, nous nous assurons que les points d'intégration, le flux de données et la communication entre les composants fonctionnent parfaitement.
Tests de bout en bout (E2E) : Notre stratégie de test inclut des tests de bout en bout complets pour valider la fonctionnalité de l'ensemble du système. En exploitant des technologies telles que Maestro, nous simulons les parcours utilisateur et validons le comportement du système dans son ensemble.
Pour chacun des outils associés à ces niveaux, nous avons testé et validé des configurations qui conduisent à des applications de meilleure qualité et plus fiables.
Vos tests sont-ils automatiquement exécutés pour chaque review de code ?
Un système d'intégration continue (CI) offre plusieurs avantages :
Assurance qualité : la CI détecte les bugs tôt dans le processus de développement, minimisant l'impact et le coût.
Retour rapide : la CI fournit un retour immédiat sur la qualité du code, aidant les développeurs à résoudre rapidement les problèmes.
Intégration de code fluide : la CI facilite la collaboration entre développeurs.
Déploiement automatique facilité : la configuration d’une CI est un pré requis à la mise en place d’un déploiement automatisé et fiable.
Nous avons implémenté des CI mobiles sur les principales plateformes de CI (CircleCI, Github Actions, GitlabCI), avec entre autre :
La mise en cache des dépendances pour accélérer le setup de la CI
L’optimisation des temps d'exécution des tests
L’execution des tests E2E sur la CI
Déployez-vous vos applications sur les stores en une commande ?
Le lead time pour qu'un code arrive en production est l'une des métriques clés identifiées par le programme de recherche DORA* qui a un impact fort sur l'entreprise.
L'automatisation du build et du déploiement de vos applications permet de réduire le temps nécessaire pour passer de l'écriture du code à son exécution dans un environnement de production. Cela peut faire gagner aux développeurs un temps et des efforts considérables, tout en garantissant la consistance de l’environnement de build. Les développeurs peuvent ainsi se concentrer sur ce qu'ils font de mieux : coder pour ajouter de la valeur au produit, sans se soucier des subtilités du processus de build et de déploiement.
De nombreux outils vous permettent d’automatiser votre processus de build et de déploiement, Fastlane étant le plus connu d’entre eux.
*Le programme de recherche DORA (DevOps Research and Assessment) mène depuis 2013 une exploration des pratiques de développement, qui recense aujourd'hui plus de 2000 organisations et couvre tous les domaines d'application logiciel. Cette étude scientifique, fondée sur la donnée brute, montre une corrélation forte entre le succès (productivité, profitabilité, croissance) et quatre métriques clés
Fréquence de mise en production
Taux de mise en production sans erreur
Lead time pour qu'un code arrive en production
Lead time pour corriger un défaut en production
Êtes-vous en mesure de publier une nouvelle version de vos applications chaque semaine ?
Le fréquence de mise en production est une des métriques clés identifiées par le programme de recherche DORA* qui a un impact fort sur l'entreprise. Les impacts d’une mise en production fréquente sont multiples :
Feedbacks rapides: Une boucle de feedback plus courte permet de répondre plus rapidement aux besoins des utilisateurs.
Diminution des risques de régressions importantes: Des mises à jour plus petites et plus fréquentes réduisent le risque de problèmes importants découlant de mises à jour plus volumineuses.
Amélioration continue: La livraison régulière permet un affinement continu des processus et de la qualité du produit.
Time to Market plus court: Des mises à jour régulières signifient que les nouvelles fonctionnalités atteignent les utilisateurs plus rapidement, offrant un avantage concurrentiel.
Satisfaction du client: Les utilisateurs voient des progrès constants, renforçant leur confiance dans le produit et l'entreprise.
Nous pouvons vous accompagner dans l’optimisation de vos processus de conception, de développement et de QA pour atteindre cet objectif!
*Le programme de recherche DORA (DevOps Research and Assessment) mène depuis 2013 une exploration des pratiques de développement, qui recense aujourd'hui plus de 2000 organisations et couvre tous les domaines d'application logiciel. Cette étude scientifique, fondée sur la donnée brute, montre une corrélation forte entre le succès (productivité, profitabilité, croissance) et quatre métriques clés
Fréquence de mise en production
Taux de mise en production sans erreur
Lead time pour qu'un code arrive en production
Lead time pour corriger un défaut en production
Êtes-vous en mesure de publier un correctif à vos utilisateurs en moins d’une demi journée ?
Le Lead time pour corriger un défaut en production est une des métriques clés identifiées par le programme de recherche DORA* qui a un impact fort sur l'entreprise.
En développement web, lorsque vous publiez un correctif sur votre serveur, les modifications sont immédiatement disponibles pour tous les utilisateurs. Il n'est pas nécessaire que les utilisateurs fassent une mise à jour, la prochaine fois qu'ils actualiseront ou visiteront le site, ils verront la version mise à jour. Comment atteindre des performances similaires pour les applications mobiles ?
Avec React Native, des technologies come Code-push ou expo-updates rendent cela possible. CodePush vous permet de pousser des mises à jour directement sur les appareils de vos utilisateurs sans passer par le processus de mise à jour de l'App Store et du Play Store. La politique d’installation de la mise à jour est configurable et peut donc être adaptée en fonction de la criticité de la mise à jour. Vous avez également la possibilité de cibler des versions spécifiques de votre application avec des mises à jour, ce qui peut être utile si un bug n'affecte que certaines versions.
Il est important de noter que CodePush ne peut être utilisé que pour les mises à jour JavaScript et d’assets. Si votre correctif nécessite des modifications de code natif, vous devrez toujours passer par le processus de mise à jour traditionnel de l'App Store.
Bien que les directives des stores ne recommandent pas l'utilisation de ce type de technologies pour ajouter des fonctionnalités, elles demeurent néanmoins extrêmement puissantes pour intervenir rapidement sur les bugs en production. Leur mise en place est fortement conseillée.
*Le programme de recherche DORA (DevOps Research and Assessment) mène depuis 2013 une exploration des pratiques de développement, qui recense aujourd'hui plus de 2000 organisations et couvre tous les domaines d'application logiciel. Cette étude scientifique, fondée sur la donnée brute, montre une corrélation forte entre le succès (productivité, profitabilité, croissance) et quatre métriques clés
Theodo Apps nous a accompagnés dans la sélection et la mise en place des outils pour notre CI/CD. Les conseils et l’expertise de l’équipe nous a permis de mettre en place très rapidement nos premiers pipelines et de gagner en sérénité et en confiance dans nos livraisons. Merci à toute l’équipe pour leur aide, leur énergie et leur investissement dans notre projet.
Renaud Viry
Team Leader développement SW