UX et l’agilité : 1 sprint d’avance ?
La question de la place de l'expérience utilisateur dans l'agilité reste entière : quand faire intervenir l'UX dans [...]
Il est sûrement déjà arrivé à tout développeur de recevoir des spécifications ou des designs irréalisables techniquement ou vis-à-vis des contraintes établies (budget, temps, ressources, écosystème, etc.) D’un autre côté, il est probablement aussi arrivé à tout UX de ressentir de la frustration par rapport à l’étendue de ces mêmes contraintes.
Pour autant, l’UX doit-elle être agnostique, c’est-à-dire indépendante des choix technologiques ? Ou au contraire doit-elle intégrer les contraintes techniques dans sa réflexion ?
Je pense que la réponse favorise un compromis plutôt qu’un extrême ou l’autre, et qu’elle dépend en réalité des spécificités du projet/produit.
Pour notre part, on s’intéresse bien entendu à la notion d’agnosticisme informatique (1), c’est-à-dire l’indépendance vis-à-vis des outils ou des plateformes. Par exemple un clavier qui peut être utilisé quel que soit le support (smartphone, tablette ou ordinateur.) En s’inscrivant dans une démarche agnostique à 100%, l’UX concevrait une interface sans se soucier de la faisabilité et des contraintes techniques, en imaginant carrément que la technologie n’a pas encore été choisie, et sans se limiter par ce choix futur.
Au-delà des risques évidents reliés à la non-faisabilité, on peut envisager les avantages de cette méthode : dans un univers technologique évoluant sans cesse, ne pas se limiter aux possibilités actuelles est une manière de voir plus loin, et de développer potentiellement de nouvelles technologies pour un produit spécifique. De plus, l’UX peut avoir pour objectif premier de tester un prototype avec des utilisateurs et des parties prenantes : nul besoin de limiter l’idée par les contraintes techniques à ce niveau d’expérimentation. Enfin, dans le cas de la rédaction d’un appel d’offres, il peut être important que la conception soit pensée « dans un monde idéal », laissant la porte ouverte à plusieurs réponses technologiques, qui chercheront alors à s’approcher au mieux du concept initial, expression des besoins.
L’UX ne connait pas les limites d’un produit, et s’applique à l’ensemble des points de contact du user journey.
Prenons un exemple que j’ai rencontré récemment. Il est tout à fait possible qu’une compagnie consulte un UX pour la conception d’une application mobile. Or, pendant la phase d’inception, l’équipe se rend compte qu’en réalité un chatbot répondrait mieux au besoin. Dans ce cas, avoir une réflexion agnostique a permis de ne pas se limiter à un choix technologique inadapté, et de pouvoir rapidement se retourner vers une technologie plus efficace pour ce besoin.
Apple a récemment informé les développeurs qu’ils devraient prendre en compte l’encoche de l’iPhone X dans leurs applications. Il est évident que ce genre de contraintes doit être prise en compte par l’UX, et ce très tôt dans l’illustration de concepts-clés. Android, iOS, PHP, HTML, CSS, Javascript, AEM (ex-CQ5), Sharepoint, SAP, et une infinité d’autres… autant de technologies actuelles avec leur lot de possibilités et de contraintes plus ou moins strictes. Impossible de penser une conception adaptée à toutes. L’UX doit donc forcément prendre en compte la technologie du produit.
J’ai récemment travaillé sur un projet AEM (ex-CQ5.) Ne connaissant pas cette plateforme, j’ai demandé une formation d’1 journée, pour comprendre comment les interfaces étaient créées via cet outil, ce qui m’a permis d’orienter ma démarche sur une conception par blocs plutôt que par pages. Sans un minimum de connaissance de l’outil, mon travail aurait risqué de devenir irréalisable.
En réalité, les projets se limitant à une seule technologie deviennent de plus en plus rares. L’UX ne connait pas les limites d’un produit, et s’applique à l’ensemble des points de contact, incluant les emails générés, les courriers postaux associés, SMS, notifications, appels au helpdesk, etc. L’UX s’exerce donc au centre d’un ensemble de technologies complémentaires dans le user journey, et doit prendre en compte toutes les contraintes technologiques qu’on peut y rencontrer.
Cette courte réflexion semble avoir mis en lumière deux stades de projets différents.
D’un côté un projet à un stade stratégique, initié sur la base d’un besoin des parties prenantes. Dans ce cas, l’UX doit commencer par une réflexion agnostique, pour valider la forme (ou les formes) de la réponse à ce besoin, après l’avoir identifié clairement.
De l’autre côté, un projet déjà plus opérationnel, pour lequel la technologie (ainsi que d’autres contraintes comme le budget ou le planning) ont également de l’importance, voire peut-être autant que le besoin initial. Dans ce cas par contre, l’UX doit bien entendu prendre en compte l’ensemble des contraintes identifiées.
Toutefois, je dirais que l’UX se doit de garder un aspect agnostique dans sa réflexion à tout moment d’un projet, ne serait-ce que pour avoir le recul nécessaire à une réflexion cross-channel plutôt que produit isolé, et aider à identifier aussi rapidement que possible un besoin éventuel de remise en question du choix technologique.