Blog

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

Icône flèche bleue vers la gauche
Retour au blog
Livraison continue : vers une adéquation produit/marché plus rapide pour les startup

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

Nicolas Jacobeus
February 4, 2020

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 s'en apercevra même pas. Mais la livraison continue est importante 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 importante. Pour l'utilisateur, cela signifie que la dernière version est toujours celle qu'il voit.

Il n'est pas nécessaire d'être un géant de l'espace technologique pour bénéficier de la diffusion continue de code. En fait, les startups peuvent en bénéficier le plus, car cela les aide à adapter plus rapidement leurs produits au marché. La compression des délais de commercialisation permet de résoudre l'un des plus grands problèmes auxquels les startups sont confrontées : le temps. Grâce à la diffusion continue, les commentaires sont plus rapides et vous pouvez vous adapter plus rapidement. En fait, les avantages vont encore plus loin.

Pourquoi la livraison continue est importante pour les startups et les projets Lean

1. Délai de mise sur le marché accéléré

L'avantage ultime de l'amélioration continue du code est une réponse rapide et efficace au marché.

Lorsque vous dirigez une start-up, rien n'est plus synonyme de mort que de manquer de temps. Atteindre l'adéquation entre le produit et le marché est l'un des défis les plus importants pour une entreprise en démarrage, et y parvenir le plus tôt possible peut faire toute la différence.

Pour les startups, la livraison continue vous permet de répondre rapidement aux demandes des utilisateurs, de corriger des bugs et de changer de cap ou de persévérer en fonction des commentaires de vos premiers utilisateurs. Joël York explique l'importance de créer une boucle continue de commentaires clients et de développement de produits dans le contexte des startups SaaS. Dans ce processus qui consiste à écouter, construire, diffuser... écouter, construire, livrer... la diffusion continue est presque obligatoire.

2. Efficacité améliorée

Dans une culture DevOps, votre équipe logicielle fonctionnera de manière plus efficace. Étant donné que la livraison continue nécessite automatisation pour les composants tels que les tests et le déploiement, les développeurs ont plus de temps à consacrer à un travail productif. Eugène Kenny at Intercom souligne qu'il aide les nouveaux membres de l'équipe à devenir plus productifs plus rapidement. Il note également que cela élimine la tentation de contourner des bugs qu'il serait fastidieux de traiter de front dans un environnement traditionnel.

Nous sommes régulièrement témoins de cette efficacité accrue. Belighted a récemment travaillé avec Liste de tri équipe de développement de startups d'applications pour mettre en œuvre ces meilleures pratiques, ce qui se traduira par une amélioration d'environ 20 % de la productivité.

3. Risque réduit

De petits changements continus comportent beaucoup moins de risques que des changements importants et radicaux. Si votre produit intègre des mises à jour fréquemment, vous courez moins de risques d'aliéner les premiers utilisateurs, car ils peuvent s'adapter plus facilement aux changements au fur et à mesure. Le risque d'aller dans la mauvaise direction est également quelque peu atténué, étant donné que l'engagement en faveur des améliorations est progressif.

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 bogues. Grâce à la diffusion continue, nous pouvons déployer du code de 30 minutes à une heure après avoir découvert un bogue, ce qui minimise considérablement son impact.

4. Plus de transparence et d'innovation au sein des équipes

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 startups qui cherchent à mesurer les coûts et les progrès.

La fourniture continue d'améliorations de code permet de rendre les coûts plus apparents, de mesurer plus facilement les progrès et de faire de l'innovation une caractéristique naturelle de votre équipe, car Dan Quine, souligne un entrepreneur technologique en démarrage et conférencier.

5. Prise en charge de l'évolutivité

Alors que l'équipe d'Intercom est désormais nombreuse et déploie du code plus de 100 fois par jour, elle a commencé à travailler sur des systèmes de déploiement automatisés alors qu'elle ne comptait que six personnes.

Prenons également le cas de Facebook. L'étude Déploiement continu sur Facebook et OANDA a examiné les données de Facebook de 2008 à 2014. Au cours de cette période, l'équipe d'ingénierie a été multipliée par 20 et la taille de la base de code par 50. Les auteurs ont conclu que cela s'était produit sans impact négatif sur la productivité des développeurs ni sur la qualité des logiciels en raison d'un engagement en faveur d'un déploiement continu.

Alors, qu'est-ce que la livraison continue exactement ?

Dans un La culture de collaboration DevOps, différents départements travaillent ensemble pour aider à fournir rapidement des logiciels. L'accent est mis sur l'automatisation et la surveillance à toutes les étapes de la construction logicielle, dans le but de raccourcir les cycles de développement, d'augmenter la fréquence des déploiements et de rendre les versions plus fiables, en étroite adéquation avec les objectifs commerciaux.

Comment ça marche

Pour imaginer comment fonctionne la livraison continue, imaginez les étapes courantes du déploiement des logiciels : création, intégration, tests et mise en production.

Les premiers développeurs créent du code. Pour créer du code, ils doivent prendre une copie de la base de code actuelle pour y travailler. Au fur et à mesure que lui-même (et d'autres développeurs en même temps) apportent des améliorations, il s'éloigne de la base de code existante utilisée par les utilisateurs finaux.

Ensuite, le nouveau code doit être intégré au code existant. Auparavant, les versions de logiciels étaient intégrées peu fréquemment, souvent tous les trimestres. Désormais, les équipes qui utilisent l'intégration continue (CI) fusionneront tous les travaux des développeurs sur un produit plusieurs fois par jour.

Le nouveau code est déployé automatiquement dans un environnement de pré-production à des fins de test. Les tests dans l'environnement de pré-production constituent une part importante de l'intégration continue. Les tests peuvent être manuels, automatisés ou combinés. Cette intégration et ces tests fréquents permettent de gagner beaucoup de temps en réduisant les conflits et en détectant les erreurs plus tôt. Découvrez comment nous testons nos projets Rails.

Une fois les tests terminés, le code est mis en production, ce qui signifie qu'il devient réalité pour les utilisateurs.

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

Si vous souhaitez en savoir plus sur les définitions de l'intégration continue, de la livraison continue et du déploiement continu, les responsables de Jira et Trello chez Atlassian font un excellent travail expliquant CI et CD.

Comment commencer à faire évoluer votre start-up vers la livraison continue

Si vous créez un nouveau produit logiciel et que vous n'avez aucun utilisateur, vous pouvez commencer immédiatement à intégrer ces concepts. Vous en récolterez les avantages, notamment en trouvant plus rapidement l'adéquation entre le produit et le marché dès le départ.

Toutefois, si vous possédez déjà une application et que des personnes utilisent votre logiciel, vous souhaiterez aborder ces changements en suivant une cadence. Commencez par le déploiement continu jusqu'à la phase intermédiaire, afin de permettre à votre équipe de développement logiciel de déployer ses modifications plus rapidement dans l'environnement de pré-production, où les tests peuvent avoir lieu. Passez ensuite à 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'organisation est importante

Il est peut-être encore plus important de préparer l'état d'esprit de votre organisation que de mettre en place le processus.

Si votre équipe n'utilise pas l'intégration continue, elle devra modifier sa façon de penser pour passer à la livraison ou au déploiement continus. Souvent, le changement doit d'abord se produire au niveau de la direction de l'entreprise. Et cela affectera l'ensemble de votre organisation. Pensez aux rôles du support client et du marketing, par exemple, lorsque vous passez de mises à jour occasionnelles à des mises à jour mineures fréquentes pour les utilisateurs.

Le déploiement continu nécessite des investissements continus dans la formation et le coaching des développeurs, ainsi que dans la création, l'amélioration et la maintenance infrastructure d'outils. Comme le montre le succès des petites et des grandes entreprises, les avantages en valent la peine.

Souhaitez-vous discuter de la manière de mettre en place un processus d'intégration continue pour votre équipe de développement ? Réservez un atelier de stratégie avec nous aujourd'hui.

Prêt à créer votre produit logiciel ? Contactez-nous !