Utilisation de la recherche pour définir une stratégie d'expérience de développeur

Parce que les développeurs sont aussi des gens

Bienvenue dans l'internet industriel des objets

Chez GE Digital, nous révolutionnons le secteur avec une plate-forme allant du cloud au cloud simplifiant la création d'applications. Ces applications prennent en charge les opérateurs de lignes de fabrication, de centrales électriques, de raffineries et d’autres sites industriels. La plate-forme Predix permet aux ingénieurs en logiciel et aux spécialistes des données - les constructeurs - de créer des applications permettant d’améliorer les résultats, d’optimiser les programmes de maintenance, etc.

Un aperçu de la partie «Constructeurs» de la carte de personnage Predix

À l'ère de la gratification instantanée, les développeurs qui construisent ces applications s'attendent à une configuration de base simple. En fait, réduire les efforts des développeurs est la proposition de valeur fondamentale d'une plate-forme comme la nôtre. L'expérience comprend de nombreux éléments identiques à ceux que l'on trouve sur d'autres plates-formes telles que Salesforce ou Amazon Web Services: tutoriels, démonstrations, exemples d'application, CLI, API, consoles d'administration, catalogue, forum et sources tierces (par exemple, débordement de pile). .

Comment décider des tâches de développement à faciliter, et comment savoir si nous avons réalisé une expérience élégante?

Il existe de nombreuses méthodes de conception permettant d’atténuer les ambiguïtés et de tracer la voie à suivre - voici comment nous avons adopté une méthode de recherche ouverte et l’appliquant à l’expérience actuelle pour orienter notre stratégie de plate-forme.

Démontrer un besoin stratégique de recherche sur les utilisateurs

Deux grands problèmes nous ont amenés à mener des études de recherche. Premièrement, comme l’apprentissage d’une nouvelle plate-forme logicielle peut prendre des mois, investir dans une plate-forme qui ne décolle pas risque de limiter la carrière. Les développeurs se méfient des nouvelles plates-formes et prennent du temps avant qu'une plate-forme ne soit établie. Nous devons rendre l'expérience aussi claire et simple que possible afin qu'ils puissent et souhaitent franchir la barrière de l'entrée et commencer à créer des applications.

via https://goo.gl/dX4hxV

Deuxièmement, beaucoup de personnes - même des propriétaires de produits - ont supposé que, puisque les interfaces de ligne de commande (CLI) et les interfaces de programmation d’applications (API) sont accessibles par programmation, elles n’ont pas besoin d’être conçues pour être utilisées par des utilisateurs. Cela ignore toutes les fois où les développeurs doivent interagir manuellement avec ces interfaces, par exemple lors de la construction, des tests et du débogage (par exemple, la quasi-totalité des tâches d'un développeur). Les développeurs sont aussi des personnes - et nous avions besoin de recherches pour mieux faire prendre conscience de la valeur commerciale et concurrentielle de la fourniture d’une expérience de développeur exceptionnelle pour favoriser l’adoption de la plate-forme.

Les questions auxquelles nous voulions répondre par la recherche comprenaient:

  • qui veut construire des applications sur notre plateforme?
  • construisent-ils des exemples d'applications, des applications de test ou des applications de production?
  • Comment ont-ils commencé à créer une application?
  • Comment devrions-nous hiérarchiser certaines parties de l'expérience comme les interfaces de programmation d'applications (API) et les interfaces de ligne de commande (CLI)?

Recherche en arrière plan

Une série d’interviews d’une heure nous a donné une idée générale de ce que les développeurs attendent de ces points de contact, tels que:

1) Simplifiez-vous la vie - Comme pour n’importe quelle plate-forme, la valeur de Predix pour les développeurs est de faire abstraction de l’infrastructure requise pour exécuter une application sécurisée et évolutive.

2) Visualisations - Les développeurs ont généralement du mal à intégrer plusieurs sources de données et à les rendre compatibles avec le cadre de visualisation. Predix promet de rendre cela simple.

3) Nouvelle architecture - Les utilisateurs sont «fatigués de se faire dire que les utilitaires ne peuvent pas se comporter comme Facebook» (par exemple en poussant continuellement un nouveau code). Ils veulent un soutien pour les pratiques modernes.

Mais ces entretiens ne nous ont pas donné une bonne idée de la capacité de la plateforme à répondre à ces attentes. Nous utilisons généralement des méthodes de test d’utilisabilité pour évaluer les produits, en demandant aux utilisateurs de réfléchir à voix haute lorsqu’ils utilisent la plate-forme (expliqué dans cet article, tiré de la pratique Google Developer Experience). Cependant, les tests de convivialité nécessitent au moins 2 heures d’effort de recherche pour chaque heure d’utilisation du produit - notre petite équipe n’a aucun moyen d’obtenir une couverture complète de l’expérience acquise avec cette méthode.

Après avoir eu du mal à rassembler les observations dont nous avions besoin pour comprendre cette période critique du démarrage, je suis retourné à la boîte à outils de mes méthodes pour rechercher un moyen d'obtenir plus de détails sans passer par chaque utilisateur de chaque composant de la plateforme. J'avais déjà utilisé des études de journalisation à distance comme moyen peu coûteux de se rapprocher des utilisateurs - je me suis rendu compte que dans ce contexte, cela pourrait également fournir la couverture complète qui nous manquait.

Etude de journalisation à distance

Une étude de journalisation à distance demande aux utilisateurs de créer un enregistrement (photos, vidéo, texte, collage, etc.) de leur expérience. Les chercheurs posent ensuite des questions de suivi. Cette dernière partie est cruciale pour que le chercheur puisse approfondir d'autres informations contextuelles sur ce qui se passait au moment de la création du dossier. Cela réduit la subjectivité par rapport aux autres styles d'interview en liant la discussion aux expériences particulières de l'utilisateur afin que les informations appropriées puissent être dégagées. L'étude peut également être facilement mise à l'échelle pour s'adapter à la fois à la portée du produit et aux ressources de recherche disponibles.

Un exemple d’entrée de journal d’un utilisateur

Au cours de notre étude, nous avons recruté 18 développeurs qui allaient se lancer dans les médias sociaux internes, des sondages et notre réseau de contacts issus de recherches antérieures. Après qu'un participant ait répondu et confirmé ses qualifications par courrier électronique, nous avons eu une première réunion d'une heure pour établir un rapport, pour connaître leurs antécédents et leurs attentes, et pour passer en revue le processus d'étude.

La plus grande difficulté de l’étude longitudinale est le manque de conformité des participants à l’activité de journalisation. Afin de les encourager à continuer à nous écrire, nous avons fait plusieurs choses:

  • enregistrements hebdomadaires
  • protocole de rappel après 3, 5 et 7 jours si un participant ne répond plus
  • modèle de courrier électronique pour faciliter la réponse

Chaque semaine, un chercheur examinait les soumissions de chaque participant pour clarifier les ambiguïtés et demander plus de détails. Puisque les participants se sont généralement concentrés sur la description de ce qu’ils construisaient, nous avons utilisé ce temps pour poser des questions sur leurs outils, leur processus, leurs pensées et leurs sentiments. À la fin du mois, l’équipe de recherche s’est réunie pour partager les histoires de nos participants et observer certaines tendances. Cela nous a aidés à identifier des questions puissantes à poser lors de la session finale avec chaque utilisateur, où nous avons expliqué leur progression dans le processus d'apprentissage.

Avec les données obtenues, nous avons créé une carte visuelle des zones où les développeurs:

  • basculé entre les points de contact pour trouver des informations
  • n'a pas réussi à atteindre un sous-objectif et a dû suivre une nouvelle voie
  • renoncé à la tâche entièrement

Par exemple, l'utilisateur indiqué ci-dessous a commencé à lire la documentation intitulée «Mise en route» (cercles de couleur les plus foncés), a constamment eu l'impression qu'il était sur une tangente, avant de s'ennuyer et de s'arrêter. Quand il a commencé avec les «guides» (cercles plus légers), il a rencontré quelques problèmes, mais a réussi rapidement à réussir. Ces cartes de haut niveau nous ont permis d’analyser l’expérience de plusieurs personnes et d’avoir une vue complète des forces et des faiblesses de la plate-forme.

Nous avons utilisé ces cartes pour montrer à quel point le chemin pour expérimenter de la valeur était difficile et prolongé. Cette présentation a aidé nos parties prenantes - chefs de produit et responsables techniques - à hiérarchiser leur travail et à mieux cibler les efforts de l’équipe là où cela fait le plus de différence pour nos utilisateurs.

Impact stratégique

En mettant en évidence les principaux problèmes des utilisateurs et en les appuyant sur des recherches solides et bien documentées, nous avons subtilement déplacé les efforts de nombreuses équipes. Après avoir partagé avec le leadership les problèmes (et les réussites!) Observés, la plate-forme a commencé à évoluer dans une nouvelle direction plus conforme aux besoins des utilisateurs.

Voici quelques-uns des problèmes que nous avons soulignés et l'état actuel de la plate-forme.

Point de douleur: Explications manquantes de la valeur et de l'impact des décisions
Solution: de courtes descriptions contextuelles apparaissent maintenant partout, comme dans la navigation principale.
Des descriptions courtes facilitent le choix de l’option par laquelle commencer.
Point critique: Les ressources supposaient que les utilisateurs comprenaient les paradigmes logiciels modernes, par exemple. ligne de commande et la chaîne d'outils Node
Solution: les guides donnent aux utilisateurs une vue d'ensemble suffisante pour permettre à Google de fournir des détails.
Les détails opérationnels sont maintenant mis en évidence dans les guides, et ce guide détaillé sur les problèmes de proxy a été ajouté.
Point douloureux: prise en charge insuffisante du débogage
Solution: les journaux et les événements sont affichés dans la console
Le panneau «Activité» permet aux développeurs de voir ce qui se passe sans avoir à se souvenir des commandes de la console.