Agile, un état d’esprit plus que des pratiques (2018)

English

Pour certains, l’Agilité se résume à Scrum et à un ensemble de rituels. Mais à pratiquer un rite en oubliant sa finalité, on se retrouve en fin de compte à ne pas être Agile.

La première valeur du manifeste Agile est de privilégier les individus et leurs interactions plus que les processus et les outils. Dans les faits, ce sont le plus souvent les processus et des outils qui sont souverains.

L’Agilité est devenue un commerce, une industrie même, avec des entreprises spécialisées, des consultants, des vendeurs de logiciels, qui tous promettent monts et merveilles pour assurer leur propre bénéfice : adhère à notre méthode et ta productivité va augmenter considérablement. Et tout le monde de se dire Agile parce qu’ils utilisent les processus et les outils, la terminologie et les rituels. Il va sans dire qu’une pratique vidée de sa substance et de son esprit est nettement insuffisante.

« Les individus et leurs interactions
plus que les processus et les outils. »

Si nous vivons dans l’époque des « fausses nouvelles », nous sommes aussi, au niveau du développement logiciel, dans l’époque de la « fausse Agilité ». Avez-vous lu le Manifeste pour le développement Agile de logiciels ? Dans beaucoup d’équipes de développement, il y aura souvent bien peu de monde pour répondre positivement et encore moins sachant énoncer l’une des 4 valeurs ou l’un des 12 principes sous-jacents au Manifeste. Certaines entreprises s’annoncent Agile sans avoir le moindre rudiment de culture Agile. D’autres sont pleines de bonne volonté, mais s’enlisent dans le micromanagement et perdent de vue les objectifs ultimes. Elles n’ont pas au quotidien l’état d’esprit Agile. Certaines équipes sont lucides : « Oui, on pratique les sprints, les Daily. On met des points sur les Stories. On a un Scrum Master, qui est en fait un chef de projet. Ça ne va guère plus loin que ça. »

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

L’Agilité repose sur un état d’esprit qui se décrit en 4 valeurs et qui se définit dans 12 principes. C’est en quelque sorte une philosophie assortie de principes moraux. Elle se manifeste concrètement par un nombre infini de pratiques. L’Agilité n’est pas une boîte à outils comme XP où l’on pioche selon ses affinités. C’est une pensée globale qui préside aux pratiques. Ce sont des objectifs essentiels comme la satisfaction du client. Un client heureux n’a que faire que vous fassiez religieusement un stand-up de 15 minutes chaque jour. La question à se poser est : « Notre stand-up quotidien participe-t-il à l’atteinte de nos objectifs ? Est-il productif ou n’est-il qu’une perte de temps ? » Est-ce que l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence (12e principe) ? Ou bien se contente-t-elle de suivre des rituels sans se poser de questions sur leur pertinence par rapport au projet et ne s’aventure-t-elle jamais à essayer de nouvelles manières de faire ? Est-ce que le Kanban ne serait pas plus approprié que des Sprints pour ce genre de projet ?

Voilà le genre de question qui exprime un vrai souci d’Agilité. Obéir aveuglément à des règles méthodologiques et des prescriptions n’est certainement pas démontrer que l’on sait s’adapter au changement plutôt que de suivre rigoureusement un plan (4e valeur du Manifeste, qui pourrait se résumer par le terme « pragmatisme »).

« L’adaptation au changement
plus que le suivi d’un plan. »

Faire rentrer les gens dans un moule, les faire se conformer à des pratiques sans questionnement plutôt que se concentrer sur le comment les gens pensent, interagissent et collaborent, ce n’est pas l’Agilité. Encore une fois, la première valeur du Manifeste et limpide, ce sont les individus et leurs interactions qui sont au cœur de la méthodologie, les outils et processus sont secondaires. Les seconds devant être toujours au service des premiers.

L’adaptation au changement est fondamentale à l’Agilité, c’est même l’origine de son nom et c’est ce qui est censé la rendre supérieure au cycle en cascade. Si les pratiques et outils sont constamment les mêmes, quels que soient les projets, leurs spécificités et envergures, ce n’est pas faire preuve d’adaptation, c’est faire preuve de rigidité. Plutôt que reproduire des méthodes qui ont fonctionné pour des équipes dans un certain contexte, il faut permettre à l’équipe de découvrir la méthode de travail qui fonctionne pour elle sur le problème sur lequel elle travaille. Ce qui revient à lui donner un certain degré de liberté par rapport à la norme. Le seul cadre à donner à la réflexion sur les pratiques est de toujours garder en vue l’ultime objectif, la plus haute priorité des principes du Manifeste : satisfaire le client, en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. Et si sur un projet, la satisfaction du client n’est pas au rendez-vous, il y a lieu de s’interroger sur le bien-fondé des pratiques.

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

Enfin, il faut que tous les membres d’une équipe Agile connaissent et comprennent le Manifeste Agile, qu’ils s’imprègnent de la philosophie. Il faut apprendre à le relire, à s’assurer de bien comprendre la finalité des préceptes et éventuellement discuter de certains points en équipes afin que tous puissent s’accorder sur une vision commune. Pensons que l’Agilité est avant tout une dynamique qu’il faut continuellement entretenir et réviser.


Agile: less recipes, more state of mind

Too many people think of Agile as nothing more than Scrum and a bunch of rituals. But perform a rite and lose sight of its purpose, and you’ll end up far from Agile.

The first tenet of the Agile Manifesto is that it focuses on people and their interactions rather than on the methods and tools, to counteract what usually happens in a traditional setting, where processes and tools reign supreme.

Agile has become a business, even fostering an entire industry, with specialized companies, consultants, and software vendors all promising the moon and the stars, to their own benefit: adopt our methods and your productivity will soar. Then everyone thinks they’re Agile because they use the methods, tools, terminology and rituals. It goes without saying: a practice followed to the letter but not in spirit doesn’t cut it.

“Individuals and interactions
over processes and tools.”

Besides living in an era of “fake news”, we’re also in an era of “fake agility” when it comes to software development. Have you read the manifesto for Agile software development yet? You’ll be hard-pressed to find anyone in a development team who has done so, or who can recite any of the four values or twelve underlying principles. Some companies call themselves Agile without having the least notion of what Agile culture is. Others have the best intentions but get stuck micromanaging and lose sight of the overarching goals. They don’t really get that Agile is a state of mind. Some teams are honest: “Sure, we do sprints and dailies. We assign points to stories. We have a scrum master who’s actually a project lead. That’s about as far as it goes.”

“Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.”

Agile is an outlook that rests on four values and defines itself according to twelve principles. It’s a sort of philosophy coupled with moral principles that translates into an infinite number of practices. Agile is not like XP, a box of tools that you can choose from according to your needs. It’s a holistic thought pattern that guides practise with key objectives, such as client satisfaction. A satisfied customer doesn’t care whether you faithfully do your 15-minute stand-up each day. The question you should be asking is, “Does our daily stand-up get us closer to our goal? Is it helpful or is it just a waste of time?” Is the team thinking about ways to be more productive and then adjusting its behaviour accordingly (12th principle)? Or is it just performing empty rituals without asking itself whether they’re furthering the project, and never trying new ways of doing things? Is Kanban perhaps more appropriate for this project?

Those are the kinds of questions that reveal a true understanding of Agile. Blindly following methodologies and prescriptive rules doesn’t demonstrate you can adapt rather than dumbly follow a plan (4th value in the Manifesto, summarized as “pragmatism”).

“Responding to change
over following a plan.”

The point of Agile is not to fit people in a mould, forcing them to follow practices unquestioningly, without a concern for how they think, interact, or collaborate. Again, the first value of the Manifesto is clear: individuals and their interactions are at the heart of the methodology, and tools and procedures are secondary. The latter are always in the service of the former.

The origin of the term Agile, and what makes it superior to the cascade model, is its emphasis on adaptability to change. Using the same practices and tools day in day out, on all projects, no matter their scope and specificity, is not a sign of adaptation, but of inflexibility. A team can lift the practices that have worked in other situations, or it can create its own methods for the current context. Meaning a team must be allowed to find its own groove. When thinking through Agile practices, the only hard limit is the ultimate goal, the Manifesto principles’ highest priority: swiftly and regularly deliver great value-added functionalities to satisfy the client. If the client isn’t satisfied, check the fundamental soundness of your practices.

“At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behaviour accordingly.”

Finally, all team members must know and understand the Agile Manifesto and soak in its philosophy. Get used to reading and rereading the Manifesto to fully understand the purpose of its precepts, to discuss them in a group so that everyone is on the same page. Keep in mind that Agile is above all an evergreen concept to be constantly nurtured and rethought.