Arguments, perspectives et questions concernant les avantages de l’Agilité

« Prise de conscience Agile », jamais je n’ai pensé que j’utiliserais deux mots à la mode dans le même article, encore moins dans la même phrase! Je sais, ça fait cliché, pourtant c’est le match parfait.

Tout d’abord, j’aimerais préciser que cet article est destiné aux dirigeants d’organisations — et aussi à ceux qui aspirent à ce poste — qui veulent mettre en œuvre une approche Agile telle que Scrum, Scrum-Lean ou Lean ou qui l’ont déjà fait. C’est-à-dire : toute la série de directeurs (général, financier, de l’information, de la technologie), les présidents, les vice-présidents, etc.

Voici une courte description de l’Agilité pour ceux qui n’en ont jamais entendu parler ou pour ceux qui souhaitent avoir une explication claire, concise et simple :

Agile, c’est un diminutif pour « développement Agile de logiciels ». Le terme est apparu en 2001 lorsque 17 personnalités du monde de l’informatique ont tenu une rencontre en Utah au pied de la chaîne Wasatch. Ils ont rédigé et signé un manifeste destiné à ceux souhaitant utiliser des processus de développement logiciel moins lourds et non axés sur la rédaction de documentation.

Le manifeste est un ensemble de quatre valeurs et de douze principes pour le développement Agile de logiciels.

Manifeste pour le développement Agile de logiciels

Nous découvrons comment mieux développer des logiciels
par la pratique et en aidant les autres à le faire.

Ces expériences nous ont amenés à valoriser :

Les individus et leurs interactions plus que les processus et les outils
Des logiciels opérationnels plus qu’une documentation exhaustive
La collaboration avec les clients plus que la négociation contractuelle
L’adaptation au changement plus que le suivi d’un plan

Nous reconnaissons la valeur des seconds éléments,
mais privilégions les premiers.

Principes sous-jacents au manifeste

Notre plus haute priorité est de satisfaire le client
en livrant rapidement et régulièrement des fonctionnalités
à grande valeur ajoutée.

Accueillez positivement les changements de besoins,
même tard dans le projet. Les processus Agiles
exploitent le changement pour donner un avantage
compétitif au client.

Livrez fréquemment un logiciel opérationnel avec des
cycles de quelques semaines à quelques mois et une
préférence pour les plus courts.

Les utilisateurs ou leurs représentants et les
développeurs doivent travailler ensemble quotidiennement
tout au long du projet.

Réalisez les projets avec des personnes motivées.
Fournissez-leur l’environnement et le soutien dont ils
ont besoin et faites-leur confiance pour atteindre les
objectifs fixés.

La méthode la plus simple et la plus efficace pour
transmettre de l’information à l’équipe de développement
et à l’intérieur de celle-ci est le dialogue en face à face.

Un logiciel opérationnel est la principale mesure d’avancement.

Les processus Agiles encouragent un rythme de développement
soutenable. Ensemble, les commanditaires, les développeurs
et les utilisateurs devraient être capables de maintenir
indéfiniment un rythme constant.

Une attention continue à l’excellence technique et
à une bonne conception renforce l’Agilité.

La simplicité — c’est-à-dire l’art de minimiser la
quantité de travail inutile — est essentielle.

Les meilleures architectures, spécifications et
conceptions émergent d’équipes auto-organisées.

À intervalles réguliers, l’équipe réfléchit aux moyens
de devenir plus efficace, puis règle et modifie son
comportement en conséquence.

Maintenant que nous avons couvert les valeurs et principes du manifeste Agile, disséquons-le afin de comprendre pourquoi et comment il s’applique à la haute direction.

Les faits :

  1. Par définition, le développement Agile de logiciels n’est pas un objectif en soi. C’est-à-dire, il n’est pas possible de devenir « Agile » ni de rendre quelque chose « Agile ». Comme le manifeste l’indique, « l’Agilité », c’est une manière de développer des logiciels en observant ses quatre valeurs et en appliquant ses douze principes.
  2. L’adoption d’une approche Agile de développement logiciel, ça signifie que vous respectiez les quatre valeurs et mettiez en application les douze principes en étant le plus possible fidèles à ceux-ci.
  3. Pour être Agile, il n’y a aucun quota de fixé relativement à l’adoption des valeurs et principes. Car, rappelez-vous, on ne peut pas être Agiles!
  4. Adopter une approche Agile de développement logiciel sans adhérer aux valeurs et principes du manifeste, ce n’est pas faire du développement Agile de logiciels. Ce qui rend toute méthode Agile, c’est exactement cela : le fait d’adhérer aux valeurs et d’appliquer les principes.
  5. Ainsi, n’importe quelle méthode peut être une approche Agile de développement logiciel pourvu qu’elle respecte les valeurs Agiles et nécessite l’application des principes Agiles.

Il ne faut pas se leurrer; même en se limitant à l’adhésion aux quatre valeurs, la tâche est ardue. Alors, essayez d’imaginer les difficultés pouvant surgir lors de la mise en œuvre de douze principes.

Vous trouverez ci-dessous une série de questions pouvant vous aider à évaluer la pertinence de mettre en œuvre une approche Agile de développement logiciel dans votre organisation.

Que souhaitez-vous accomplir ou quel problème souhaitez-vous résoudre? Et comment les valeurs et principes Agiles s’appliquent-ils à votre contexte et à votre situation?

Soyons honnêtes, il est fort probable que le développement Agile ne soit d’aucune utilité. De fait, l’adoption d’une approche Agile peut même nuire à votre processus de livraison de logiciel, voire empirer les choses. C’est en menant une analyse rigoureuse des causes fondamentales relativement à votre processus de livraison de logiciel ou de son cycle de vie que vous pourrez en déceler les contraintes, points faibles, écarts et points d’amélioration. Ordonnez les causes à l’aide d’un indicateur de gravité. Puis, prenez les principales causes et regardez si les valeurs et principes Agiles permettent de les traiter.

Quel est mon rôle à titre de dirigeant dans l’initiative de développement Agile de logiciels?

Reprenons les quatre valeurs mentionnées plus haut :

Les individus et leurs interactions plus que les processus et les outils
Des logiciels opérationnels plus qu’une documentation exhaustive
La collaboration avec les clients plus que la négociation contractuelle
L’adaptation au changement plus que le suivi d’un plan

Évaluez l’impact de chacune de celles-ci sur votre organisation. Par exemple, la première valeur (« les individus et leurs interactions plus que les processus et les outils ») suppose que des changements devront être apportés pour que les gens interagissent entre eux et utilisent des outils et des processus. Parmi les processus en place, y en a-t-il qui empêchent d’adhérer à cette valeur? Jusqu’à quel point l’organisation est-elle prête à promouvoir cette valeur? Est-elle conforme aux règles éthiques et à la réglementation en matière de ressources humaines? Affecte-t-elle les conventions collectives en place, s’il y a lieu? À titre de partie prenante, comment faites-vous la promotion de cette valeur? Bien que cela puisse paraître simple, cette valeur pourrait être plus difficile à appliquer que ce qu’on pourrait penser. Si vous n’avez pas une bonne aptitude à communiquer et que vous privilégiez plutôt une approche directive dans vos interactions, la promotion de cette valeur s’avérera alors certainement un grand défi personnel pour vous.

Passez en revue chacune des valeurs et déterminez celles qui entrent en conflit avec les valeurs et pratiques organisationnelles actuelles. Précisez comment vous allez respecter les valeurs Agiles et aussi quels sont les changements qui devront être apportés pour y parvenir.

Si vous déléguez cette tâche à un niveau hiérarchique inférieur et vous désengagez de celle-ci, il en résultera une dichotomie entre votre mentalité et vos approches et celles des autres directeurs ou gestionnaires. Ils se retrouveront alors dans une situation inconfortable où ils devront travailler et communiquer avec vous d’une certaine façon et d’une autre avec leurs équipes.

Votre rôle consiste essentiellement à promouvoir et à appliquer les valeurs sur une base quotidienne et aussi à responsabiliser vos directeurs et gestionnaires de manière à ce qu’ils fassent la même chose avec leurs équipes. En d’autres termes, vous devriez travailler avec vos directeurs et vos équipes afin de trouver une façon de vous assurer que votre organisation réagisse au changement plutôt que de lui faire tout bonnement suivre un plan. Par conséquent, la demande d’un plan de réalisation en cascade pourrait entrer en contradiction avec la première valeur.

Comme vous pouvez le constater, adapter une organisation au développement Agile de logiciels peut s’avérer un parcours long et exigeant. Est-ce que votre projet est suffisamment grand pour justifier l’investissement (temps, argent et efforts) qui est nécessaire pour réaliser une transformation Agile?

Si vous adoptez une approche Agile de développement logiciel pour un petit projet, vous pourriez ne pas être en mesure de justifier le rendement de l’investissement. Idéalement, le projet devrait être assez grand pour vous permettre de tirer des avantages et bénéfices de la transformation. Est-ce que la plupart des projets de votre organisation ont la taille et la complexité rendant la transformation Agile digne d’intérêt?

Est-ce que votre organisation préconise la fidélisation et la pérennité du personnel?

Si le roulement de personnel est élevé dans votre organisation, vous devriez tenir compte des difficultés qui surgiront chaque fois qu’un employé devra être formé pour travailler dans un environnement Agile. Le développement Agile de logiciels comporte non seulement des aspects techniques, il nécessite également, comme vous avez pu le remarquer, un changement de mentalité.

Les programmes scolaires et les méthodes pédagogiques font la promotion de valeurs et de principes qui sont parfois en contradiction avec les valeurs Agiles. De plus, si vous travaillez dans une organisation où il y a une certaine instabilité managériale (ex. : les ministères et organismes gouvernementaux), il est important de réfléchir aux défis possibles lorsqu’il y a un changement de leadership politique. La plupart du temps, en politique, les nouvelles personnes en place n’aiment pas encourager ce que leurs prédécesseurs ont mis en place.

Quelles difficultés découlant de votre structure organisationnelle pourraient surgir advenant l’adoption de l’Agilité?

Dans votre organisation, les membres de l’équipe responsable du développement logiciel peuvent être répartis entre plusieurs emplacements. Ceci peut s’avérer une difficulté, mais elle n’est pas impossible à surmonter. La principale difficulté, c’est la synchronisation quotidienne et le partage du carnet de produit (registre de travail de l’équipe).

Est-ce que votre service des TI peut soutenir les exigences découlant des méthodes Agiles? Une des particularités du développement Agile de logiciels, c’est la réponse rapide aux demandes des équipes de manière à ce qu’elles puissent terminer rapidement leurs éléments de travail. Cela constitue un vrai défi pour les équipes DevOps, qui sont souvent réticentes aux changements quand ceux-ci ne répondent pas à leurs propres processus et but.

Pour faire du développement Agile de logiciels, il faut l’union des efforts des employés du service des TI et des employés du service de l’exploitation. Est-ce que votre organisation est prête à promouvoir cette collaboration, qui, en termes concrets, nécessite que des employés responsables de l’exploitation travaillent avec le service des TI?

Habituellement, les analystes en informatique sont ceux qui évaluent les besoins d’affaires et les traduisent en éléments de travail pour l’équipe de développement. En développement Agile de logiciels, ce n’est pas le cas; les gens du côté affaires ont à travailler avec l’équipe de TI souvent à titre de Product Owners. Il y a plusieurs raisons à cela. Une des raisons, c’est que ceux-ci sont les mieux placés pour décrire le produit à développer. Avec l’Agilité, les organisations obtenant les meilleurs résultats sont celles qui sont prêtes à travailler de cette manière. Ainsi, elles peuvent livrer une plus grande valeur la livraison de chaque incrément du produit.

Qualités nécessaires pour une gestion Agile

Les dirigeants doivent tenir compte de certaines caractéristiques lors de l’adoption d’une approche Agile de développement logiciel. En voici quelques-unes :

  • faire preuve de leadership situationnel couvrant tout le spectre du comportement d’influence, et ce, de la direction de personnel jusqu’à son coaching;
  • promouvoir un seul objectif organisationnel surtout pour expliquer la raison pour laquelle l’organisation fait ce qu’elle fait;
  • promouvoir, favoriser et observer les quatre valeurs Agiles;
  • comprendre les douze principes Agiles et favoriser leur application;
  • agir comme mentor ou coach auprès des personnes qui relèvent de vous;
  • encourager les autres membres de la direction à devenir des mentors ou coaches auprès des personnes qui relèvent d’eux.

Considérations

L’adoption de valeurs et principes Agiles peut s’avérer toute une aventure pour l’organisation. Ça peut soit rapporter gros ou être une perte de temps et d’argent.

Avoir une conscience Agile vous aidera à prendre les bonnes décisions si vous décidez de transformer complètement votre processus de développement logiciel ou d’adopter une méthode Agile.

Pyxis aide ses clients à développer leur conscience Agile depuis l’an 2000.

Billet précédent

Agile est mort – l'avis de 2 coaches Agiles

Billet suivant

L'Agilité à Singapour

marc-andré langlais

Marc-André est un coach Agile de Epicoaching, membre du réseau de Pyxis. Il aide à bâtir des équipes auto-organisées qui évoluent dans un climat relationnel stimulant. Contactez-le pour voir comment il peut contribuer au succès de vos équipes.

Pas de commentaire

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *