Icône flèche bleue vers la gauche
Retour au blog

Livraison continue : vers une adéquation produit/marché plus rapide pour les startup

Nicolas Jacobeus
February 4, 2020

livraison-continue-start-up

Chaque fois que vous utilisez Amazon, Gmail ou Facebook, vous utilisez la dernière version. En fait, le logiciel a peut-être déjà été mis à jour 15 fois ce jour-là.

L’utilisateur moyen ne remarque rien. Mais la livraison continue est un enjeu de taille pour les développeurs de logiciels comme pour les utilisateurs. Cela signifie que les développeurs peuvent apporter de petites améliorations dès qu’elles sont prêtes au lieu d’attendre la prochaine version. L’utilisateur dispose ainsi toujours de la dernière version.

Il ne faut pas être un géant du secteur de la technologie pour bénéficier d’une livraison continue de code. Souvent, ce sont les start-up qui en tirent le plus de bénéfices, car elle leur permet d’atteindre l’adéquation produit/marché plus rapidement. Réduire le time to market permet de résoudre l’un des plus gros problèmes auxquels sont confrontées les start-up : le temps. Avec la livraison continue, le feedback est plus rapide et vous pouvez faire des adaptations plus rapidement. Il y a bien d’autres avantages.

Pourquoi la livraison continue est-elle importante pour les start-up et les projets Lean ?

1. Accélération du time to market

L’avantage principal de l’amélioration continue du code est une réponse rapide et efficace aux besoins du marché.

Lorsque vous êtes à la tête d’une start-up, rien n’est plus dangereux que le manque de temps. Atteindre l’adéquation produit/marché est l’un des défis les plus importants pour une start-up, et l’atteindre le plus tôt possible fait toute la différence.

En tant que start-up, la livraison continue vous donne la possibilité de répondre rapidement aux demandes des utilisateurs, de corriger les bugs, de changer de cap ou de persévérer en fonction du feedback de vos premiers utilisateurs. Joel York aborde l’importance de créer une boucle continue de feedback client et de développement de produits dans le contexte des start-up de SaaS. Dans ce processus d’écoute, de conception, de livraison… d’écoute, de conception, de livraison… la livraison continue est quasi indispensable.

2. Amélioration de l’efficacité

Dans une culture de DevOps, votre équipe travaillera plus efficacement. Étant donné que la livraison continue requiert l’automatisation de composants tels que les tests et le déploiement, les développeurs disposent de plus de temps pour le travail productif. Eugene Kenny d’Intercom souligne qu’elle aide les nouveaux membres de l’équipe à devenir productifs plus rapidement. Il remarque également qu’elle élimine la tentation d’éviter les bugs qui seraient difficiles à corriger dans un environnement traditionnel.

Nous avons régulièrement l’occasion de constater cette augmentation de l’efficacité. Récemment, Belighted a travaillé avec l’équipe de développement de la start-up Sortlist pour mettre en œuvre ces bonnes pratiques, ce qui a permis d’améliorer la productivité d’environ 20 %.

3. Réduction des risques

Les petits changements continus comportent beaucoup moins de risques que les grands changements radicaux. Si votre produit intègre fréquemment des mises à jour, vous risquez moins d’éloigner les premiers utilisateurs car ils s’adaptent plus facilement aux légères modifications. Le risque d’aller dans la mauvaise direction est également quelque peu atténué, puisque les améliorations sont progressives.

Lorsque nous travaillons sur un logiciel, que ce soit pour nos propres projets ou pour un client, nous sommes en mesure de corriger rapidement les bugs. Grâce à la livraison continue, nous pouvons déployer du code 30 minutes à une heure après avoir appris l’existence d’un bug, ce qui réduit considérablement son impact.

4. Plus de transparence et d’innovation au sein de l’équipe

Le déploiement continu peut apporter certains avantages qui ne viennent pas immédiatement à l’esprit mais qui sont néanmoins importants, en particulier pour les start-up qui doivent mesurer les coûts et les progrès.

La livraison continue d’améliorations de code contribue à rendre les coûts plus apparents, à mesurer plus facilement les progrès et à faire de l’innovation une qualité naturelle de votre équipe, comme le souligne Dan Quine, entrepreneur et conférencier spécialisé en technologies et start-up.

5. Prise en charge de l’évolutivité

L’équipe d’Intercom est maintenant nombreuse et déploie du code plus de 100 fois par jour, mais lorsqu’elle a commencé à travailler sur des systèmes de déploiement automatisés, elle ne comptait que six personnes.

Prenons aussi le cas de Facebook. L’étude Continuous Deployment at Facebook and OANDA a examiné les données de Facebook de 2008 à 2014. Au cours de cette période, la taille de l’équipe d’ingénieurs a été multipliée par 20 et celle du codebase par 50. Les auteurs ont conclu que cela n’a pas nui à la productivité des développeurs ni à la qualité du logiciel en raison de l’engagement envers le déploiement continu.

Alors, qu’est-ce que la livraison continue ?

Dans une culture collaborative de DevOps, différents départements travaillent ensemble pour livrer les logiciels rapidement. L’accent est mis sur l’automatisation et le contrôle à toutes les étapes de la création des logiciels, dans le but de raccourcir les cycles de développement, d’augmenter la fréquence de déploiement et de fournir des versions plus fiables, tout en respectant les objectifs de l’entreprise.

Comment fonctionne-t-elle ?

Pour comprendre comment fonctionne la livraison continue, visualisez les étapes courantes du déploiement d’un logiciel : conception, intégration, tests et mise en production.

Les développeurs commencent par écrire le code. Pour ce faire, ils prennent une copie du codebase actuel et travaillent dessus. Au fur et à mesure qu’ils (et d’autres développeurs en parallèle) apportent des améliorations, le code s’éloigne du code source existant utilisé par les utilisateurs finaux.

Le nouveau code doit ensuite être intégré au code existant. Auparavant, les versions de logiciels n’étaient pas si vite intégrées, souvent une fois par trimestre. Désormais, les équipes qui utilisent l’intégration continue fusionnent tous les travaux des développeurs sur un produit plusieurs fois par jour.

Le nouveau code est automatiquement déployé dans un environnement de pré-production pour être testé. Les tests dans l’environnement de pré-production sont une partie importante de l’intégration continue. Ils peuvent être manuels, automatiques ou les deux. Cette intégration et ces tests fréquents réduisent les conflits et permettent d’identifier les erreurs plus tôt, ce qui permet de gagner beaucoup de temps. Découvrez comment nous testons nos projets Rails.

Une fois les tests terminés, le code passe en production, ce qui signifie qu’il devient une réalité pour les utilisateurs.

La livraison continue fait référence au processus qui permet à chaque modification d’être automatiquement déployée en production. L’équipe peut choisir de ne pas automatiser le déploiement dans certains cas, par exemple pour des raisons professionnelles. (C’est ce qu’on appelle le déploiement continu, lorsque chaque modification de code est automatiquement déployée en production. Dans ce cas, il n’y a pas d’intervention humaine, sauf en cas d’échec du test.)

Si vous voulez en savoir plus sur les définitions de l’intégration continue, de la livraison continue et du déploiement continu, les créateurs de Jira et Trello chez Atlassian proposent d’excellentes explications.

Comment commencer à intégrer la livraison continue dans votre start-up

Si vous concevez un nouveau logiciel et que vous n’avez pas encore d’utilisateurs, intégrez ces concepts dès aujourd’hui. Vous en récolterez les bénéfices dès le départ, notamment en trouvant plus rapidement l’adéquation produit/marché.

Cependant, si vous avez déjà une application et que des personnes utilisent votre logiciel, vous devez aborder ces changements progressivement. Commencez par le déploiement continu en permettant à votre équipe de développement de déployer plus rapidement ses modifications dans l’environnement de pré-production où les tests peuvent être réalisés. Ensuite, passez à l’intégration continue, qui impliquera l’automatisation des tests. Commencez par automatiser les tests unitaires, puis passez à l’amélioration des tests automatisés jusqu’à ce que les trois types de tests puissent être effectués automatiquement.

L’adhésion de l’équipe est importante

La préparation de l’état d’esprit au sein de votre entreprise est peut-être encore plus importante que la mise en place du processus.

Si votre équipe n’utilise pas l’intégration continue, il faudra changer sa façon de penser pour passer à la livraison ou au déploiement continu. Souvent, le changement doit d’abord avoir lieu au niveau de la direction de l’entreprise. Cela affectera toute votre entreprise. Pensez aux rôles du service client et du département marketing, par exemple, lorsque vous passez de mises à jour occasionnelles à des petites mises à jour fréquentes pour les utilisateurs.

Le déploiement continu nécessite des investissements continus dans la formation et l’accompagnement des développeurs ainsi que dans la conception, l’amélioration et la maintenance de l’infrastructure. Cependant, comme nous le constatons avec le succès de petites et de grandes entreprises, les avantages en valent la peine.

Vous souhaitez discuter de la mise en place d’un processus d’intégration continu pour votre équipe de développement ? Réservez un Strategy Workshop avec nous.

Prêt à développer votre logiciel ? Contactez-nous !