Le petit cryptographe

Dans le cadre du portefeuille, et plus particulièrement dans le cadre du projet CryptoMEDIA-UCL, un blog a vu le jour. Son but: vulgariser les grands thèmes de la cryptographie et de la sécurité afin d’en rendre les enjeux accessibles à tous. Le blog est publié sur Medium et s’appelle « Le petit cryptographe ».

White book sur la usability

Introduction

Dans le cadre de son travail sur le projet MédiMEDIA-UCL, le professeur Suzanne Kieffer a fait une recherche sur le développement mêlant méthodes agiles et design centré utilisateur. Dans le présent article, les résultats de cette recherche sont présentés sous forme d’un whitebook, à savoir, un condensé des règles de bonne pratique lorsque l’on développe en faisant appel à des méthodes agiles et au design centré utilisateur.

Limitations de la méthode agile

La méthode agile est désormais la norme auprès des professionnels du développement et de l’informatique. Une étude récente [1] menée en ligne auprès de 601 développeurs de logiciels et professionnels de l’informatique démontre qu’une large majorité a adopté la méthode agile aux dépends de la méthode en cascade (i.e., waterfall). En effet, plus des deux tiers des organisations se déclarent « purement agile » (16%), « penchant vers l’agilité » (51%) ou « hybride » entre agile et waterfall (24%) . Toujours selon cette étude, les principales motivations pour l’adoption de la méthode agile sont :

  • L’amélioration de la collaboration entre équipes (54%)
  • L’amélioration de la qualité des logiciels (52%)
  • L’amélioration de de la satisfaction des clients (49%)
  • La réduction des délais de mise sur le marché (43%)
  • La réduction des coûts de développement (42%).

Néanmoins, l’ouvrage de Meyer-Stabley intitulé « Agile! The good, the hype and the ugly » [2] identifie et discute plusieurs défauts de la méthode agile qui endommagent le processus de développement logiciel. Le défaut majeur est la dépréciation des activités en amont, telles qu’analyse des exigences et design du système. Cette critique du « Big Up-front Anything » selon la communauté agile reflète l’impossibilité de tout vouloir définir au début du cycle de vie du produit. Il n’y a, cependant, aucun argument pour éviter la pratique de génie logiciel traditionnelle qui consiste à étudier un problème avant de tenter de le résoudre, et de définir l’architecture de la solution avant de se lancer dans les détails. L’alternative proposée par la méthode agile est une approche ad hoc : identifier certaines fonctionnalités, les construire, évaluer et corriger le résultat, répéter. Ce n’est pas un substitut à l’analyse des exigences et à un design sérieux : négliger ces étapes cruciales, comme le préconise la communauté agile, nuit au processus de développement logiciel. Les autres défauts incluent entre autres :

  • L’utilisation de user stories comme base pour les exigences du système : les user stories ne sont pas un substitut adéquat à la définition des abstractions et fonctionnalités clés et à la distinction entre propriétés du système et du domaine.
  • Le développement basé sur les fonctionnalités et l’ignorance des dépendances : une idée centrale des méthodes agiles est de traiter le développement logiciel comme une séquence d’implémentations de fonctionnalités individuelles. Les projets complexes ne se prêtent pas à ce schéma qui néglige les dépendances entre fonctionnalités.
  • La dépréciation de la documentation.

Vers un modèle d’intégration des méthodes agiles et UX

The agile-UX lifecycle
Figure 1 – The agile-UX lifecycle

Nous proposons d’intégrer méthodes agiles et méthodes centrées sur l’expérience utilisateur (UX) pour compenser une partie des limitations de la méthode agile. Nous proposons un modèle de développement logiciel décrit dans [3] qui synchronise méthodes agiles et UX au sein d’un cycle de développement « agile-UX » (Figure 1). Le modèle proposé repose sur les constats suivants extraits de [4, 5, 6, 7] :

  • Les activités UX et agiles doivent être itératives, incrémentales, synchronisées, parallèles et impliquer continuellement les utilisateurs
  • Du temps doit être alloué pour les activités en amont afin de parvenir à une vision commune du produit et de définir les exigences utilisateur et fonctionnelles
  • Le design doit être découpé en fonctionnalités afin de construire le prototype de manière incrémentale
  • Des tests utilisateurs formatifs doivent être réalisés pour atteindre les objectifs UX tout en fournissant fréquemment des versions du système
  • Analyse et design doivent être documentés de manière à éviter toute confusion en ce qui concerne les livrables UX.

Les méthodes UX produisant le plus grand retour sur investissement et donc à intégrer en priorité sont la documentation de profils utilisateurs et des tâches utilisateurs actuelles (séquences, flux et artefacts), le remplacement des user stories par les modèles de tâches, et le design et le test formatif d’un prototype papier (activités à chaque itération).

Article de référence

L’article de référence [3] identifie les divergences dans la littérature concernant l’intégration des méthodes agiles et UX, et esquisse une approche permettant de surmonter les défis liés à leur intégration. L’article de référence fournit également un premier compte rendu réaliste et réussi de l’application du cycle de vie de développement UX agile. La réflexion sur une étude de cas nous permet de proposer l’approche comme bénéfique pour le développement de logiciels et digne d’une application ultérieure.

Références

  1. Jeremiah, John. 2017. Web: https://techbeacon.com/survey-agile-new-norm. Accessed 5-Feb-18.
  2. Meyer-Stabley, Bertrand. 2014. Agile! The good, the hype and the ugly. Switzerland: Springer.
  3. Suzanne Kieffer, Aissa Ghouti, and Macq Benoit. 2017. The Agile UX Development Lifecycle: Combining Formative Usability and Agile Methods. Proceedings of the 50th Hawaii International Conference on System Sciences. Hawaii, USA.
  4. Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R. C., Mellor, S., Schwaber, K., Sutherland, J., and Thomas, D. 2001. Manifesto for Agile Software Development. Web: agilemanifesto.org. Accessed 5-Feb-18.
  5. Manuel Brhel, Hendrik Meth, Alexander Maedche, Karl Werder. 2015. Exploring principles of user-centered agile software development: A literature review, Information and Software Technology, Volume 61, Pages 163-181.
  6. Salah, Dina, Richard F. Paige, and Paul Cairns. 2014. A systematic literature review for agile development processes and user centred design integration. Proceedings of the 18th international conference on evaluation and assessment in software engineering. ACM.
  7. Sutherland, Jeff, Neil Harrison, and Joel Riddle. 2014. Teams that finish early accelerate faster: a pattern language for high performing scrum teams. Proceedings of the 47th Hawaii International Conference on System Sciences. Hawaii, USA.

Le nouveau site UserMEDIA


Voici le nouveau site UserMEDIA. Son but? offrir au projet la visibilité qu’il mérite. Outre la présentation générale du projet et de ses quatre volets, on retrouve les partenaires avec des liens vers leurs sites respectifs ainsi qu’une liste de toutes les personnes impliquées dans le projet.