Ce guide est une adaptation de la section Agile Delivery du document Gov.uk Service Manual (en anglais seulement).

Qu’est-ce qu’agile

Agile est une manière de travailler.

Une équipe qui applique les méthodes agiles dans son travail :

  • élabore un produit ou un service rapidement
  • teste ce qu’elle a créé
  • procède à l’itération de son travail et de ses processus en se basant sur la rétroaction régulière

Respecter les Normes des services numériques

Utilisez l’approche agile pour gérer votre travail d’élaboration et de déploiement de services numériques en Ontario. Cela permet de respecter les Normes des services numériques.

Agile est aussi utile pour concevoir des politiques et des programmes.

Lisez la section agile des Normes des services numériques.

Travailler avec agile

Travailler avec agile pour :

  • autonomiser de petites équipes d’experts pour résoudre des problèmes et bâtir des choses
  • mettre l’accent sur les utilisateurs et prioriser la création rapide et régulière de valeur
  • atténuer le risque sur une base régulière tout au long du développement, non pas uniquement lors de la planification
  • utiliser les boucles de rétroaction qualitatives et quantitatives pour améliorer les produits et les processus
  • utiliser des équipes coordonnées pour exécuter tout ce qui est mentionné ci-dessus

Différences entre la méthode traditionnelle et la méthode agile

Agile peut être très différente pour les personnes habituées à la méthode traditionnelle de gestionl en cascade (en anglais seulement).

Voici les différences.

Méthode agileMéthode traditionnelle
Travail par itérationsTravail par étapes
Fournit une valeur croissanteConstruit tout en une fois
Atténue les risques pendant tout le processusAtténue les risques au début du processus
Axée sur l’utilisateur et le produitAxée sur l’organisation et le projet
Donne de l’autonomie aux équipes d’expertsOrdonne aux équipes de suivre un plan (imposé)
Évalue en permanence, s’adapte en fonction des donnéesUtilise les données pour planifier, évalue après le déploiement

L’approche agile

Vous exécutez des choses semblables à celle de l’approche en cascade, comme analyser les besoins, planifier, concevoir, construire et tester. Toutefois, vous les exécutez toutes en même temps.

Vous commencez modestement dans la phase de découverte and phase alpha.

Vous faites de la recherche, élaborez des prototypes, testez et vous vous renseignez sur les besoins des utilisateurs avant de commencer à construire le vrai service dans la phase bêta.

Vous passez à la mise en ligne seulement quand vous avez suffisamment de rétroaction pour démontrer que votre service fonctionne pour les utilisateurs et qu’il répond à leurs besoins. De manière continue, vous apprenez et vous vous améliorez à élaborer un service qui répond aux besoins des utilisateurs.

Pourquoi agile est préférable pour les services

L’approche en cascade est nécessaire et elle convient pour construire des choses comme des ponts et des édifices. Elle est moins efficace pour élaborer et déployer des services lorsque les besoins et les attentes des gens changent constamment et qu’ils subissent l’influence des changements technologiques rapides.

La construction de ponts et d’édifices a des besoins matériels bien compris, elle suit des codes de construction stricts et elle peut avoir des coûts prévisibles dès le départ. Les logiciels n’ont aucune de ces caractéristiques.

Les services gouvernementaux doivent aussi être en mesure de répondre rapidement aux changements politiques et sociaux.

Utiliser la méthode en cascade signifie que vous pourriez passer six mois à planifier et 18 mois à créer un service qui ne répond pas aux besoins des utilisateurs, qui reflète une politique gouvernementale désuète et qui ne peut pas fonctionner avec les dernières technologies.

La méthode agile vous permet d’apporter rapidement les changements pendant que vous créez le service et aussi lorsqu’il est en ligne et que les gens l’utilisent.

Démarrage

Pour respecter les Normes des services numériques, vous devez créer et déployer votre service en utilisant la méthode agile.

Il existe différentes méthodes agiles que vous pouvez utiliser, mais vous devriez toujours suivre ces cinq principes fondamentaux :

  1. mettre l’accent sur les besoins de l’utilisateur
  2. livrer de manière itérative
  3. améliorer continuellement la manière de travailler de votre équipe
  4. échouer rapidement et apprendre vite
  5. continuer à planifier

1. Mettre l’accent sur les besoins de l’utilisateur

Agile met constamment les utilisateurs au premier plan. Vous devez donner la priorité à leurs besoins avant ceux de quiconque, même ceux des intervenants de niveau supérieur.

Pourquoi les besoins des utilisateurs sont si importants

Si vous commencez à créer votre service avant de comprendre qui sont les utilisateurs et ce que le service doit faire pour eux, vous risquez :

  • de créer quelque chose d’indésirable dont personne n’a besoin
  • d’essayer de résoudre des problèmes sans importance pour les utilisateurs

Vous devez demander la rétroaction des utilisateurs hâtivement et souvent et les écouter, particulièrement lorsqu’ils vous disent des choses que vous n’approuvez pas ou que vous ne voulez pas entendre.

Vous devriez toujours utiliser des données provenant de vraies personnes qui utilisent votre service et les laisser influencer la direction de votre projet.

Apprenez-en davantage sur la manière d’effectuer une recherche sur les utilisateurs et mieux les comprendre.

2. Continuer à améliorer votre service

Pour travailler de manière agile, vous devez sans cesse améliorer votre service et ses caractéristiques. Cela s’appelle des «  itérations  ».

Chaque service est différent et créer un service est un processus qui implique beaucoup de prises de décisions avec le temps.

De manière générale, suivez ces étapes :

  1. Comprenez les besoins de l’utilisateur en effectuant une recherche sur les utilisateurs.
  2. Créez quelque chose qui répond aux besoins les plus importants des utilisateurs.
  3. Montrez-le aux utilisateurs, écoutez leurs rétroactions et améliorez-le.
  4. Répétez ce processus pour répondre au prochain besoin le plus important des utilisateurs.

Agile cherche à simplifier le plus possible le processus complexe de création d’un service numérique. Agile se base sur une amélioration quotidienne et hebdomadaire de ce que vous faites.

Pourquoi vous devez améliorer votre service de manière continue

Le processus de création de caractéristiques croissantes et prêtes à produire vous permet de :

  • livrer régulièrement de la valeur aux utilisateurs et aux intervenants
  • raccourcir les boucles de rétroaction qui pourraient être plus longues si une méthodologie en cascade était utilisée (où la rétroaction est demandée seulement une fois le produit final achevé)
  • choisir les caractéristiques que vous souhaitez ajouter
  • passer du temps à créer des caractéristiques qui comptent pour les utilisateurs

3. Améliorer le travail de votre équipe de manière continue

En plus d’améliorer votre service de manière graduelle en parlant avec les utilisateurs, parlez à votre équipe pour améliorer leur façon de travailler de manière continue.

De cette façon :

  • l’équipe apprend et s’améliore tout au long de la vie de votre service
  • la qualité de votre service s’améliore, vous permettant d’économiser temps, efforts et argent

Trouvez ce qui ne fonctionne pas

Parlez à votre équipe pour savoir ce qui fonctionne et ce qui doit être amélioré. Vous pouvez le faire lors des réunions d’équipe quotidiennes ou des rétrospectives régulières.

Vous devriez essayer de détecter :

  • tout problème rencontré par l’équipe avec quelconque partie du travail
  • tout ce qui empêche l’équipe de faire son travail ou qui le retarde
  • tout problème particulier à un individu

Résoudre les problèmes

Les techniques agiles ne garantissent pas la réussite, mais vous n’avez pas à craindre d’échouer ou d’expérimenter. Agile vous permet de déceler rapidement les problèmes et de les résoudre promptement.

Profitez des réunions et des rétrospectives pour voir si vos actions ont résolu les problèmes soulevés par votre équipe lors les réunions précédentes.

Apprenez-en plus sur les réunions et les rétrospectives (en anglais seulement).

4. Échouer rapidement, apprendre vite

Les techniques agiles ne garantissent pas la réussite, mais vous n’avez pas à craindre d’échouer ou d’expérimenter. Agile vous permet de déceler rapidement les problèmes et de les résoudre promptement.

Vous devez apprendre à échouer et développer une culture qui apprend des échecs.

Vous pouvez prévenir les problèmes graves ou les échecs. Pour ce faire il faut :

  • démontrer la valeur aux intervenants de niveau supérieur (p. ex. les sous-ministres adjoint, les directeurs ou les autres décideurs) grâce à des diffusions régulières
  • procéder à des diffusions régulières pour éviter de créer un service «  trop important pour échouer  » qui ne devrait pas être diffusé, mais qui doit l’être de toute façon en raison des ressources importantes qui y ont été dédiées avant la diffusion
  • utiliser des processus comme le développement piloté par les tests et les tests automatisés (rédiger les tests avant de créer les caractéristiques qui seront testées) pour déceler très tôt les problèmes de qualité
  • définir les paramètres importants, établir une base de référence et suivre les changements tout au long du projet

Diffuser régulièrement

Diffuser et tester régulièrement de petites caractéristiques avec les utilisateurs permet :

  • d’améliorer la qualité
  • d’améliorer la visibilité
  • de réduire les coûts

5. Planifier de manière continue

Dans un projet agile, vous devriez planifier de manière continue en vous basant sur les données et les tendances d’utilisation du service sur lequel vous travaillez.

Votre équipe devrait planifier ensemble et réviser ces plans régulièrement en se basant sur :

  • votre progrès
  • tout fait et besoin nouveau

Une introduction à la méthode agile

Il existe de nombreuses méthodes agiles que vous pouvez utiliser lorsque vous créez votre service. Chacune d’elle a sa propre trousse d’outils et ses techniques.

Ce guide présente les deux méthodes agiles les plus populaires :

  • La méthode Scrum
  • La méthode Lean-Kaban

Voir plus de méthodes agiles.

La méthode Scrum

La méthode Scrum est la méthode agile la plus couramment utilisée.

Elle permet un modèle hautement structuré avec des rôles et des responsabilités clairement définis. Elle peut être particulièrement utile pour les organisations à structure traditionnelle qui font le saut vers la méthode agile.

La méthode Scrum est un bon point de départ si votre équipe apprend à travailler avec la méthode agile.

De manière générale, votre équipe trouvera la méthode Scrum plus utile lorsque vous :

  • créez un nouveau produit ou service
  • améliorez des éléments existants
  • ajoutez de nouveaux éléments à chaque «  sprint  » (période de temps déterminée)

Lorsque vous déployez votre service en ligne et que vous avez des demandes urgentes, vous pourriez trouver les sprints contraignants et vous voudrez faire le saut vers une méthode basée sur la fluidité comme la méthode Kanban.

Vous pouvez toutefois continuer à utiliser de nombreuses activités associées à la méthode Scrum, comme les réunions quotidiennes, les rétrospectives et les évaluations de progrès régulières.

Apprenez-en davantage sur les caractéristiques de la méthode Scrum dans le Scrum Guide ou l’alliance Scrum (en anglais seulement).

La méthode Lean-Kaban

La méthode Lean-Kaban comme méthode de développement est inspirée des systèmes de production axés sur la réduction des déchets et l’amélioration de la qualité, comme ceux conçus par Toyota.

La méthode Kanban est une manière de visualiser et d’améliorer vos pratiques de travail actuelles afin qu’il se déroule rapidement au travers d’un système.

Un flux de travail rapide et efficace signifie que vous pouvez :

  • livrer de la valeur rapidement et de manière prévisible
  • obtenir une rétroaction dès le départ pour savoir si votre produit ou service répond aux besoins des utilisateurs

Les principes de la méthode Lean permettent à votre équipe de se concentrer sur :

  • réduire les déchets
  • livrer rapidement
  • apprendre et s’améliorer
  • utiliser les faits et les données pour prendre des décisions

La méthode Kanban permet à votre équipe de :

  • trouver le goulot d’étranglement dans votre processus
  • régler la quantité de travail que vous faites
  • prédire votre production en se basant sur la livraison réelle

Elle est particulièrement utile quand votre équipe utilise un produit ou un service et qu’elle doit réagir rapidement à l’évolution des priorités. L’application des méthodes Lean permet à votre équipe de se concentrer sur apprendre aussi rapidement que possible et trouver la manière la plus efficace de livrer de la valeur à vos clients.

Lisez ce qui suit pour en apprendre davantage sur la méthode Lean-Kaban :

Travailler avec plusieurs méthodes agiles

Vous n’êtes pas obligé de travailler avec une seule méthode. Vous pouvez choisir les outils et les techniques de plusieurs méthodes pour répondre aux besoins de votre équipe.

Chaque méthode possède son propre langage pour décrire les outils et les techniques de base. L’important est de comprendre :

  • pourquoi vous avez choisi un outil ou une technique
  • son objectif agile

De manière générale, particulièrement lorsque vous commencer à mettre en œuvre les méthodes agiles, il est préférable de choisir soit la méthode Scrum ou la méthode Lean-Kaban et suivre les méthodes d’une manière normative.

Vous pouvez commencer à personnaliser votre approche en utilisant plusieurs méthodes agiles une fois que votre équipe agile a été formée et qu’elle montre qu’elle suit les principes fondamentaux.