Par Rafael 25 oct. 2021

«Coïncidence» extrême: L’Extreme Programming chez Uzinakod – Partie 1/2

«Même les programmeurs peuvent être des personnes à part entière dans le monde réel. XP est une occasion de vous tester, d’être vous-même, de réaliser que vous étiez peut-être bien depuis le début et que vous traîniez simplement avec les mauvaises personnes.»
Kent Beck – Extreme Programming Explained – 2nd Edition

Le livre de Kent Beck a 17 ans à l’heure où nous écrivons ces lignes. La première édition est parue 5 ans plus tôt, et c’est donc il y a un peu plus de 20 ans que la méthodologie d’Extreme Programming est née, peu de temps avant la création du fameux Manifeste Agile en 2001. Ce n’est pas surprenant: Kent Beck est l’un des premiers signataires du Manifeste Agile, et nous pouvons en voir beaucoup sur l’objectif de l’Extreme Programming:

«L’objectif de l’Extreme Programming (XP) est le développement de logiciels exceptionnels.»
Kent Beck, sur l’ouverture de la préface.

«Kent continue à remettre en question mes opinions sur le développement de logiciels. […] Je vous suggère de faire de même et d’accepter l’invitation XP pour améliorer la façon dont vous développez des logiciels et pour créer des logiciels exceptionnels.»
Avant-propos d’Erich Gamma à l’intérieur du livre

Erich Gamma est membre du très connu Gang of Four et l’un des auteurs du livre «Design Patterns – Elements of Reusable Object-Oriented Software», publié il y a environ 27 ans, et qui reste un incontournable dans la bibliothèque de tout bon programmeur.

Qu’est-ce que l’Extreme Programming (ou XP)?

Nous pourrions passer une journée entière à en parler. Alors, concentrons-nous sur ce que son créateur dit dans son livre à ce sujet:

  • XP, c’est abandonner les vieilles habitudes techniques et sociales inefficaces au profit de nouvelles qui fonctionnent.
  • XP, c’est s’apprécier pleinement pour l’ensemble de ses efforts aujourd’hui.
  • XP, c’est s’efforcer de faire mieux demain.
  • XP, c’est s’évaluer par sa contribution aux objectifs communs de l’équipe.
  • XP, c’est demander à ce que certains de vos besoins humains soient satisfaits par le développement de logiciels.

Ces déclarations sont profondes et beaucoup de ceux qui les lisent pour la première fois sont saisis, comme je l’ai été lors de ma première lecture. En tant que programmeurs, nous ressentons depuis des décennies le besoin d’humaniser le développement de logiciels. Nous avons l’impression de travailler de longues heures sans atteindre nos objectifs. Nous continuons à travailler de la même manière et à ressentir l’échec tout au long du processus. Nous avons l’impression de devoir travailler seuls, alors que la réalité veut que nous puissions avancer plus vite et mieux lorsque nous faisons les choses à deux ou en équipe.

Mais pourquoi continuons-nous à faire les mêmes choses qui ne fonctionnent pas, encore et encore? Des questions profondes auxquelles l’Extreme Programming doit répondre, croyez-moi. Ou, du moins, croyez Kent Beck, Erich Gamma, Martin Fowler, Robert C. Martin et tant d’autres grands penseurs et écrivains de la programmation qui ont mis en œuvre et prouvé que XP fonctionne.

Dès sa création, le nom Extreme Programming se voulait percutant. Plus que cela, il était approprié. Tout cela parce que la façon dont les programmeurs travaillaient à l’époque était largement différente de bon nombre de nos manières actuelles de travailler ensemble. Bon, certains travaillent toujours selon les anciennes méthodes, mais les changements sont visibles. Agile a amené la profession à un tournant dans la façon dont nous interagissons et travaillons ensemble.

3 piliers: valeurs, principes et pratiques

Pour faire de ces déclarations une véritable méthodologie, XP s’appuie sur trois piliers: valeurs, principes et pratiques.

Les valeurs sont la raison de la mise en œuvre d’une pratique et sont aussi la raison pour laquelle vous commencez à parler de XP. Si vous vous rendez compte que les valeurs de XP vont à l’encontre de vos propres valeurs, il vous sera difficile de continuer à apprendre sur XP. Mais avant de le faire, relisez les citations au début de l’article. Cela pourrait éveiller quelque chose en vous pour vous inciter à faire un vrai changement.

Les valeurs sont intrinsèques et résident au plus profond de chacun d’entre nous, et les valeurs XP sont celles que partagent de nombreux programmeurs. C’est un sentiment au plus profond de soi que quelque chose est bien ou mal, du moins en termes de valeurs professionnelles.

Les pratiques, en revanche, sont concrètes et claires. Elles signifient ce qu’elles signifient: une façon de faire quelque chose. Le problème des pratiques est qu’elles doivent avoir un sens, et que les valeurs sont trop abstraites et génériques pour se refléter clairement dans une pratique.

Par exemple, vous faites l’éloge de la communication comme l’une de vos valeurs professionnelles. Ainsi, une pratique importante pour vous est celle des réunions quotidiennes (ou dailys). Par cette pratique, vous démontrez que vous valorisez la communication. Le fait d’organiser des réunions quotidiennes qui durent des heures est toujours conforme à cette valeur. Néanmoins, d’autres éléments importants manquent. C’est là que les principes sont utiles.

Les principes sont la colle qui unit les valeurs et les pratiques. Par exemple, si vous valorisez l’économie, vous savez que tout ce que vous faites est rémunéré par quelqu’un. Vous adaptez donc vos pratiques à vos valeurs, conformément à vos principes professionnels.

Par conséquent, les réunions quotidiennes doivent être courtes et efficaces. Elles favorisent la communication et sont aussi efficaces que possible pour l’entreprise, respectant à la fois une valeur et un principe. En effet, la combinaison des valeurs et des principes de XP est à la base des pratiques qu’elle présente.

Jetons un bref coup d’œil à la liste des valeurs, principes et pratiques de XP telle que décrite dans la deuxième édition du livre de Kent Beck (qui a évoluée depuis la première édition):

XP a également une liste de pratiques corollaires qui sont, peut-être, là où les choses commencent à être «extrêmes». Mais nous allons nous concentrer sur les pratiques primaires et laisser de côté les pratiques corollaires pour le moment. Elles reviendront dans un prochain article.

Dans le prochain article de la série La «coïncidence» extrême, nous explorerons les valeurs et les principes de manière plus approfondie, puis nous les réunirons en décrivant comment nous mettons en œuvre certaines pratiques.

Pour aller plus loin dans la réflexion dans l’attente des prochains articles, visitez le site de l’Alliance Agile.

Articles recommandés
Publié le 8 novembre 2021

«Coïncidence» extrême: Les valeurs de XP comparées à celles d’Uzinakod – Partie 2/2

Nous avons présenté une introduction à l'Extreme Programming (ou XP) dans l'article précédent de cette série. Dans cet article, nous allons démontrer comment les valeurs d'Uzinakod correspondent à celles de XP. Il s'agit d'une perspective basée sur mes propres expériences vécues au sein d

En lire plus
Publié le 24 septembre 2021

L’Agilité selon Uzinakod

Chaque organisation crée sa propre définition de l'agilité, mais quelle est donc celle d’Uzinakod?

En lire plus
Rechercher sur le site
Partager sur