Catégories
Start-up et applications

Expérimentation des fonctionnalités: marchez avant de courir

L'innovation logicielle ne se fait pas sans prendre de risques en cours de route. Mais les risques peuvent faire peur aux entreprises qui ont peur de faire des erreurs.

Il y a une autre façon, selon Jon Noronha, vice-président senior du produit chez Optimizely, un fournisseur de plateforme de livraison et d'expérimentation progressive. L'expérimentation des fonctionnalités, a-t-il dit, permet aux entreprises d'accéder plus rapidement au marché tout en améliorant la qualité des produits et en minimisant la peur de l'échec.

«J'aime penser l'expérimentation des fonctionnalités comme un filet de sécurité. C’est quelque chose qui donne aux gens la confiance nécessaire pour faire quelque chose d’audacieux ou de risqué », a-t-il déclaré. «Imagine que tu sautes sur un trapèze sans filet. Vous aurez vraiment peur de faire le moindre pas, car si vous tombez, vous vous blesserez vraiment. Quand il y a un filet, vous savez que la pire chose qui puisse arriver est que vous atterrissiez sur le filet et rebondissiez un peu. »

CONTENU CONNEXE:
Agitant le drapeau pour l'expérimentation des fonctionnalités
Libérations de vitesse avec indicateurs de fonctionnalité

L'expérimentation des fonctionnalités est ce filet qui vous permet de sauter, mais vous attrape si vous tombez, a expliqué Noronha. Il permet aux entreprises de prendre de petits risques, de le déployer à quelques utilisateurs et de mesurer l'impact des changements avant de le diffuser à 100% de la base d'utilisateurs.

Christopher Condo, analyste principal au cabinet d'études Forrester, a déclaré: «Pour être innovant, vous devez vraiment comprendre ce que veulent vos clients et être prêt à essayer de nouvelles expériences. L'utilisation de l'expérimentation des fonctionnalités permet aux entreprises d'être plus agiles, plus disposées à proposer des fonctionnalités plus petites, à les tester avec les utilisateurs et à continuer à itérer et à croître. »

Cependant, certaines entreprises doivent encore prendre certaines mesures avant de pouvoir tirer parti des avantages de l'expérience de fonctionnalité. Ils doivent apprendre à marcher avant de pouvoir courir.

Livraison progressive: marche
La livraison progressive est la marche qui précède la course (expérimentation de fonctionnalités), selon Dave Karow, évangéliste de la livraison continue à Déversé, un indicateur de fonctionnalité, un fournisseur de solutions d'expérimentation et de CD. La livraison progressive suppose que la partie «analyse» est déjà en place, à savoir la livraison continue et l'intégration continue. Par exemple, les équipes doivent avoir en place une source d'informations centralisée où les développeurs peuvent archiver le code et le faire tester automatiquement pour la santé mentale de base sans aucune intervention humaine, a expliqué Karow.

Sans cela, vous ne verrez pas la vraie promesse d'une livraison progressive, John Kodumal, CTO et co-fondateur de LaunchDarkly, une société de gestion de drapeaux et de bascules, a été ajoutée.

«Imaginez qu'un développeur va travailler sur une fonctionnalité, prendre une copie du code source et prendre une copie de son plan et y travailler pendant un certain temps. Quand ils ont terminé, ils doivent fusionner leur code dans le code source qui va être mis en production », a expliqué Karow. «Entre-temps, d'autres développeurs ont apporté d'autres modifications. Ce qui se passe est littéralement appelé dans la communauté «fusionner l'enfer». Vous arrivez à un point où vous pensez avoir terminé votre travail et vous devez vous réintégrer et ensuite vous découvrez tous ces conflits. C’est le crawl. Il s'agit d'apporter des modifications au logiciel plus rapidement et de se synchroniser avec des collègues pour détecter les problèmes en temps quasi réel. "

Une fois que vous avez localisé la partie d'exploration, la partie de livraison progressive exploite les indicateurs de fonctionnalité (également connus sous le nom de bascule, de bits ou de nageoires) pour obtenir des fonctionnalités en production plus rapidement sans interrompre l'application. Selon Noronha d'Optmizely, les indicateurs de fonctionnalités sont une couche du filet de sécurité qu'offre l'expérimentation des fonctionnalités. Il permet aux équipes de développement d'essayer des choses à moindre risque et de les déployer en permettant aux développeurs d'exposer lentement et progressivement les fonctionnalités clés dans le but de détecter les bogues ou les erreurs avant qu'ils ne se généralisent. "Il est plus facile de déployer les choses plus rapidement, mais de pouvoir arrêter les déploiements sans beaucoup de drame", a déclaré Karow.

Quelques exemples d'indicateurs de fonctionnalité

Les drapeaux de fonctionnalité sont disponibles en plusieurs versions. Parmi eux:

  • Libérez les drapeaux qui permettent le développement basé sur les troncs. «Les bascules de version permettent à des chemins de code incomplets et non testés d'être expédiés à la production en tant que code latent qui peut ne jamais être activé», a écrit Pete Hodgson, consultant indépendant en livraison de logiciels, dans un Publier sur MartinFowler.com.
  • Indicateurs de test qui exploitent les tests A / B pour effectuer des optimisations basées sur les données. «De par leur nature, les bascules d'expérimentation sont très dynamiques – chaque demande entrante est probablement au nom d'un utilisateur différent et peut donc être acheminée différemment de la dernière», a écrit Hodgson.
  • Des indicateurs Ops, qui permettent aux équipes de contrôler les aspects opérationnels du comportement de leur solution. Hodgson a expliqué: «Nous pourrions introduire un basculement Ops lors du déploiement d'une nouvelle fonctionnalité qui a des implications de performances peu claires afin que les opérateurs système puissent désactiver ou dégrader cette fonctionnalité rapidement en production si nécessaire.»
  • Indicateurs d'autorisation pouvant modifier les fonctionnalités ou l'expérience de certains utilisateurs. "Par exemple, nous pouvons avoir un ensemble de fonctionnalités" premium "sur lesquelles nous ne basculons que pour nos clients payants. Ou peut-être avons-nous un ensemble de fonctionnalités «alpha» qui ne sont disponibles que pour les utilisateurs internes et un autre ensemble de fonctionnalités «bêta» qui ne sont disponibles que pour les utilisateurs internes et les utilisateurs bêta », a écrit Hodgson.

Selon Kodumal, une façon de voir les choses est à travers le concept de sorties canaries, qui est l'idée de pouvoir publier certains changements et de contrôler l'exposition de ce changement à un public plus restreint pour valider ce changement avant de le déployer plus largement. .

Ces drapeaux aident à minimiser le rayon de tir des situations possibles de désordre, selon Forrester’s Condo. "Vous mesurez lentement le succès de votre application en fonction de: Est-ce que cela fonctionne comme prévu? Les clients le trouvent-ils utile? Se plaignent-ils? La valeur de l'appel a-t-elle augmenté ou est-elle restée stable? Les journaux d'erreurs augmentent-ils? " Au fur et à mesure que les développeurs implémenteront la livraison progressive, ils seront mieux à même de détecter les problèmes, a expliqué Condo.

«La première chose à faire est de garantir une hygiène correcte afin de pouvoir créer des logiciels plus souvent avec moins de drames. Mettez en œuvre une livraison progressive afin que vous puissiez obtenir cela jusqu'à la production. Ensuite, plongez-vous dans l'expérimentation en vous assurant que ces données sont automatisées », a déclaré Karow de Split.

Expérimentation des fonctionnalités: Exécuter
L'expérimentation des fonctionnalités est similaire à la livraison progressive, mais avec de meilleures données, selon Karow.

«L'expérimentation des fonctionnalités va plus loin dans la livraison progressive en examinant les données et non seulement en apprenant si quelque chose a explosé, mais pourquoi cela s'est produit», a-t-il déclaré.

En étant capable de consommer les données et de comprendre pourquoi les choses se produisent, cela permet aux entreprises de prendre de meilleures décisions basées sur les données. Selon Noronha d'Optmizely, la raison pour laquelle vous effectuez des versions plus petites est de confirmer qu'elles ont eu l'impact recherché, qu'il n'y a pas eu de bogues et que vous répondez aux attentes des utilisateurs.

Il le fait à travers des tests A / B, des bandits multi-bras et des expériences de chaos, selon Kodumal de LaunchDarkly. Les tests A / B testent plusieurs versions d'une fonctionnalité pour voir comment elle est acceptée. Les bandits à plusieurs bras sont une variante d'un test A / B, mais au lieu d'attendre la fin d'un test, il utilise des algorithmes pour augmenter les allocations de trafic pour voir comment les fonctionnalités fonctionnent. Et les expériences de chaos se réfèrent à découvrir ce qui ne fonctionne pas plutôt que de chercher ce qui fonctionne.

"Vous pouvez conduire une expérience de fonctionnalité qui est destinée à faire quelque chose comme améliorer l'engagement autour d'une fonctionnalité spécifique que vous créez", a déclaré Kodumal. "Vous définissez la métrique, construisez l'expérience et validez si la modification apportée est reçue positivement."

La raison pour laquelle l'expérimentation de fonctionnalités devient si populaire est qu'elle permet aux équipes de développement de déployer du code sans l'activer immédiatement. Vous pouvez le déployer en production, le tester en production, sans que la base d'utilisateurs générale le voie, et le libérer ou le garder caché jusqu'à ce qu'il soit prêt, a expliqué Forrester’s Condo.

Dans certains cas, une entreprise peut décider de publier la fonctionnalité ou la nouvelle solution à ses utilisateurs, mais leur donne la possibilité de l'activer ou de la désactiver eux-mêmes et de voir combien de personnes aiment l'expérience améliorée. «L'expérimentation des fonctionnalités fait de cette fonctionnalité un système d'enregistrement. Cela fait partie de la façon dont vous offrez des expériences à vos clients dans une expérience variée », a déclaré Condo. "C'est comme l'idée de Google. Combien de fois sur Google ou Gmail a-t-il dit "voici une toute nouvelle expérience, voulez-vous l'utiliser?" Et vous avez dit "non, je ne suis pas prêt." Cela permet aux entreprises de se moderniser en plus petits morceaux plutôt que tous immediatement."

L'expérimentation des fonctionnalités se concentre sur le côté mesure, tandis que la livraison progressive se concentre uniquement sur la libération de pièces plus petites. "Maintenant, vous comparez la version de 10% aux 90% restants pour voir quelle est la différence, mesurer cela, comprendre l'impact, le quantifier et apprendre ce qui fonctionne réellement", a déclaré Noronha d'Opitmizely.

S'il réduit les risques pour les entreprises, il n'élimine pas les risques d'échec. Karow a expliqué que les entreprises doivent être prêtes à accepter l'échec ou qu'elles n'iront pas très loin. «Au bout du compte, ce qui importe vraiment, c'est de savoir si une fonctionnalité va aider un utilisateur ou lui donner envie de l'utiliser ou non. La plupart de ces techniques consistent à savoir comment obtenir des données fiables pour prouver ce qui fonctionne réellement », a expliqué Karow.

Pour commencer, Noronha recommande de rechercher des parties de l'expérience utilisateur qui génèrent du trafic et d'apporter des modifications simples à expérimenter. Une fois qu'ils le prouvent et le retranchent dans une zone, il peut être rapidement étendu à d'autres zones plus facilement.

"C'est une sorte de dépendance. Une fois que les gens s’habituent à travailler de cette façon, ils ne veulent plus recommencer à lancer des choses. Ils commencent à ne pas savoir ce qu'est l'adoption de leur produit », a-t-il déclaré.

Noronha s'attend à une livraison progressive et l'expérimentation des fonctionnalités finira par fusionner. "Tout le monde va se déployer en petits morceaux, et tout le monde va mesurer comment ces choses se passent contre le contrôle", a-t-il déclaré.

"Ce que la livraison progressive et l'expérimentation de fonctionnalités permettent de minimiser votre investissement dans les nouveaux logiciels et la R&D. Ils vous donnent l’outillage dont vous avez besoin pour penser à décomposer ces gros éléments à risque en éléments plus petits et réalisables où vous avez des boucles de rétroaction plus rapides de la part des clients », a ajouté LaunchDarkly’s Kodumal.

Expérimentation des tests A / B
Les tests A / B sont l'un des types d'expériences les plus courants, selon John Kodumal, CTO et co-fondateur de LaunchDarkly, une société de gestion de drapeaux et de bascules

Il s'agit de la méthode de comparaison de deux versions d'une application ou d'une fonctionnalité. Auparavant, il était plus couramment utilisé pour les modifications esthétiques frontales ou visuelles apportées à un site Web plutôt qu'à un produit. Par exemple, on pourrait prendre un bouton qui était bleu et le rendre rouge, et voir si cela génère plus de clics, Jon Noronha, vice-président senior du produit chez Optimizely, un fournisseur de plate-forme de livraison et d'expérimentation progressive, a expliqué. «Au cours des dernières années, nous avons vraiment fait la transition pour nous concentrer davantage sur ce que j'appellerais l'expérimentation des fonctionnalités, qui est en fait une technologie qui permet aux gens de tester la logique de base de la façon dont leur produit est réellement construit», a-t-il déclaré.

Les tests A / B sont utilisés dans l'expérimentation de fonctionnalités pour tester deux théories concurrentes et voir laquelle atteint le résultat recherché par l'équipe. Christopher Condo, analyste principal au cabinet d'études Forrester, a expliqué qu '«il faut que quelqu'un sache et dise« Je pense que si nous modifions cette expérience à l'utilisateur final, nous pouvons améliorer la valeur ». En tant que développeur, vous souhaitez mieux comprendre quel type de changements peut améliorer l'expérience utilisateur. et donc les tests A / B entrent en jeu maintenant pour montrer différentes expériences de différentes personnes et comment elles sont utilisées. "

Selon Dave Karow, évangéliste de livraison continue à Déversé, un indicateur de fonctionnalité, un fournisseur de solutions d'expérimentation et de CD, ceci est particulièrement utile dans les environnements où une «personne très importante» au sein de l'entreprise a une opinion ou la «personne la mieux payée» de l'équipe veut que vous fassiez quelque chose et une majorité des les membres de l'équipe ne sont pas d'accord. Il a expliqué normalement ce que quelqu'un pense fonctionner, ne fonctionne pas 8 ou 9 fois sur 10. Mais avec les tests A / B, les développeurs peuvent toujours tester cette théorie, et si elle échoue, ils peuvent fournir des mesures et des données sur les raisons cela n'a pas fonctionné sans avoir à le communiquer à tous leurs clients.

Un bon moteur statistique de test A / B devrait être en mesure de vous dire en quelques jours quelle expérience ou fonctionnalité est meilleure. Une fois que vous savez quelle version fonctionne mieux, vous pouvez la remplacer lentement et continuer à répéter pour voir si vous pouvez la faire fonctionner encore mieux, a expliqué Condo.

Kodumal a expliqué que les tests A / B fonctionnent mieux avec l'expérimentation des fonctionnalités, car dans la livraison progressive, la clientèle à laquelle vous livrez progressivement est trop petite pour exécuter des expériences complètes et atteindre la signification statistique d'une expérience entièrement rigoureuse.

«Nous constatons souvent que les équipes tirent parti de certains des cas d'utilisation les plus simples dans la livraison progressive avant de passer à l'expérimentation complète», a-t-il déclaré.

L'expérimentation des fonctionnalités s'adresse à toute entreprise dotée d'une technologie orientée utilisateur
L'expérimentation des fonctionnalités a déjà été utilisée par des leaders de l'industrie comme eBay, LinkedIn et Netflix depuis des années.

«Des remaniements majeurs… améliorent votre service en permettant aux membres de trouver plus rapidement le contenu qu'ils souhaitent regarder. Cependant, ils sont trop risqués pour être déployés sans tests A / B approfondis, ce qui nous permet de prouver que la nouvelle expérience est préférée à l'ancienne », a écrit Netflix dans un Article de blog 2016 expliquant sa plateforme d'expérimentation.

Jusqu'à récemment, il n'était accessible qu'à ces grandes entreprises car il était cher. L'alternative était de construire votre propre produit, avec le temps et les coûts associés. «Il existe désormais un marché croissant de solutions qui permettent à quiconque de faire la même rigueur sans avoir à passer des années et des millions de dollars à le construire en interne», a déclaré Dave Karow, évangéliste de la livraison continue chez Déversé, un indicateur de fonctionnalité, un fournisseur de solutions d'expérimentation et de CD

De plus, l'expérimentation des fonctionnalités était auparavant un processus difficile à démarrer, sans véritables directives à suivre. Selon Christopher Condo, analyste principal de la société de recherche, ce qui a commencé à se produire, c'est que les grandes entreprises partagent le fonctionnement de leurs équipes d'ingénierie et fournissent plus d'informations sur ce qui se passe dans les coulisses. Forrester. «Dans le passé, vous n'aviez jamais donné la recette ou ce que vous faisiez. Elle a toujours été considérée comme une propriété intellectuelle. Mais aujourd'hui, en partageant des informations, les gens se rendent compte que cela aide vraiment l'ensemble de l'industrie pour tout le monde à obtenir une meilleure éducation sur la façon dont ces choses fonctionnent », a déclaré Condo.

Aujourd'hui, la pratique s'est étendue à quelque chose que chaque grande entreprise disposant d'une sorte de technologie orientée utilisateur peut et devrait tirer parti, selon Jon Noronha, vice-président senior des produits chez Optimizely, un fournisseur de plateforme de livraison et d'expérimentation progressive.

Norona prévoit que l'expérimentation de fonctionnalités «finira par grandir pour être adoptée de la même manière que nous voyons des choses comme le contrôle de source et la ramification. Cela va passer de quelque chose que seules les grandes entreprises technologiques font à quelque chose que chaque entreprise doit suivre. »

«Les entreprises qui sont capables de fournir cette innovation plus rapidement et d'apporter les fonctionnalités que les consommateurs exigent, ce sont elles qui réussissent, et celles qui ne le sont pas sont celles qui sont laissées pour compte et que les consommateurs commencent à s'éloigner », John Kodumal, directeur technique et co-fondateur de LaunchDarkly, une société de gestion de drapeaux et de bascules, a été ajoutée.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *