Projet IT : Comment être agile en évitant le “context switching” ?

Agile Methodology context switching

La capacité de s’adapter au changement et à l’évolution du marché est une plus-value importante apportée par une gestion Agile des projets IT. Pour s’assurer de répondre efficacement à nos clients et à leurs problématiques complexes, il est essentiel de combattre la bête noire de tout développeur ou chef de projet informatique : le context switching. Découvrez de quoi il s’agit et comment le combattre. 

Le context switching est le mécanisme qu’utilise un ordinateur pour traiter de manière à priori simultanée les multiples tâches qu’on lui demande (ce qu’on appelle plus généralement le multitasking). Le terme s’applique également lorsque nous, simples humains, essayons de faire la même chose. Malheureusement, le cerveau humain est très loin d’être aussi efficace qu’un ordinateur. 

D’après la loi de Miller¹, nous ne pouvons mémoriser que 5 à 9 objets simultanés dans notre mémoire à court terme. Devant une telle limitation, nous sommes constamment obligés de faire un choix parmi les sujets qui méritent le plus notre attention. Lorsqu’un développeur est concentré sur une tâche et soudainement forcé de passer à une autre (par exemple pour traiter une urgence ou répondre à une question), il est contraint d’”écraser” les précédentes notions mémorisées pour changer de contexte et charger les informations nécessaires au traitement de cette nouvelle tâche.

Une perte de productivité 

Les conséquences de telles interruptions sont souvent méconnues. Lorsque la tâche imprévue est terminée, le retour à l’activité initiale prend du temps. Et plus le contexte est complexe, plus il est difficile à reconstruire et cela est parfois source d’erreurs et d’oublis². Les développeurs sont particulièrement sujets à ce phénomène étant donné la quantité importante d’informations qu’ils doivent mémoriser dans leur travail quotidien de compréhension, d’analyse et de création. Une simple interruption de trois minutes peut nécessiter jusqu’à 25 minutes de retour en arrière pour regagner le niveau de concentration initial³. 

Outre les interruptions ponctuelles, cette perte de productivité se ressent également à un plus haut niveau lorsqu'une personne travaille sur de multiples projets par semaine, parfois même par jour. Dans son livre « Quality Software Management », Gerald Weinberg fait part de sa célèbre estimation du coût du context switching

Se concentrer sur un projet unique nous permet d’y consacrer 100 % de notre temps, mais dès que l’on commence à jongler entre les projets, la perte d’efficacité explose. D’après cette estimation, on perdrait 20 % de notre temps en travaillant sur 2 projets en même temps, 40 % sur 3 projets et jusqu’à 75 % de perte sur 5 projets. Recalibrer son esprit constamment entre différentes tâches ou projets est très coûteux en temps et en énergie. Certains auteurs parlent même du piège ou encore du mythe du multitasking. 
 

Combattre le context switching 

Cela dit, le context switching n’est pas une fatalité, et la sensibilisation est la première étape si on veut le combattre. Dans le cadre de nos projets IT, nous sommes attentifs à mettre en place des outils qui limitent le context switching et favorisent une meilleure productivité : 

  • Avec le framework Scrum, utilisé par les équipes de Contraste, le Sprint Goal permet de concentrer l’équipe autour d’un objectif unique et de maintenir les développeurs dans un contexte relativement similaire. De plus, une Definition of Done exhaustive regroupant les différentes étapes de validation et tests de qualité permet de limiter le retour d’éventuelles fonctionnalités refusées qui viendraient mettre à mal la concentration sur le sprint en cours. 

  • Pour les utilisateurs de Kanban, la mise en place d’une Work in progress limit permet de limiter le nombre de tâches concurrentes. L’équipe travaille donc sur un nombre limité de fonctionnalités à un moment donné, pour éviter de s’éparpiller inutilement et perdre son focus. 

Dans la mesure du possible, nous recommandons à nos collaborateurs de planifier régulièrement quelques moments de déconnexion totale. C’est en effet un excellent moyen de décupler leur productivité sur un projet, à l’abri de toute distraction liée aux emails ou aux appels. L’impact d’une simple notification sur la concentration ne doit pas être sous-estimé. 

Bien que le multitasking puisse paraître attractif voire même encouragé dans un monde de plus en plus interconnecté, beaucoup d’études s’accordent à dire qu’il a un coût, élevé de surcroît. Ne tombez pas dans le piège ! 

 

Maxime

Consultant & Agile Coach


Références :

1. « The Magical Number Seven, Plus or Minus Two: Some Limits on our Capacity for Processing Information » : http://www.yorku.ca/pclassic/Miller/ 

2. « Multitasking : Switching costs » : https://www.apa.org/research/action/multitask  

3. « No Task Left Behind? Examining the Nature of Fragmented Work » : https://www.ics.uci.edu/~gmark/CHI2005.pdf