Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Etes vous Scrum ou eXtreme Programming ?
Le débat fait rage dans la communauté Agile

Le , par Gordon Fowler

23PARTAGES

1  0 
Scrum ou eXtrem Programming ?
Etes-vous Scrum ou eXtreme Programming ?

Depuis quelques temps, le monde Agile semblent s'être scindé en deux. Et le débat fait de plus en plus rage sur la toile.

Certains pensent pourtant que cette dispute n'aurait pas lieu d'être.
Chaque méthode n'aurait pas le même objet ni le même but.

Scrum s'occuperait par exemple principalement de la gestion de projet :


Scrum – Image Wikipedia

Tandis que l'eXtreme Programming (XP) ne regarderait que l'activité de développement :


Cycle de XP – Image Wikipedia

Pourtant ce débat pourrait être révélateur d'une certaine évolution – positive - de la communauté Agile.

Quel est ce débat ?

Un "évangéliste" Agile, Tobias Mayer, vient écrire noire sur blanc qu'il "ne faut pas utiliser XP" (en vo : "Don't Do XP". Scrum se suffirait à lui même, point ne serait besoin de lui rajouter l'eXtreme Programming... sauf à aimer la lourdeur.

Steve Freeman, un "avocat de XP" comme il se définit lui-même, ne l'entend pas de cette oreille et le fait savoir dans sa réponse au billet de Mayer : "accuser XP de bloquer les bonnes pratiques est just bizarre […] L'eXtreme Programming a donné à des équipes un ensemble de pratiques fiables qui ont parfaitement marché. Bien sûr, XP n'a pas révolutionné le monde parce qu'il ne convient pas à tous, notamment parce qu'il exige un degré de concentration et de compétences que de nombreuses équipes n'ont pas".

Ce qui est déjà en soit, une critique de XP.

Mais Steve Freeman, s'il ne voit pas XP comme la solution à tous les problèmes, pense surtout que Scrum est pratiquement inutile : "Tobias écrit que les bonnes pratiques de développement se répandaient doucement, mois je rétorque que sans XP on y serait encore. […] Je suspecte la plupart des équipes [Scrum] de ne jamais accepter de changer le code à moins que ce ne soit pour ajouter une fonctionnalité […] J'ai vu assez d'équipes qui utilisaient la méthode Scrum qet ui n'avaient aucun ensemble de pratiques cohérentes. […] ce qui pose la question de la limite de l'auto-gestion".

Derrière la virulence, Yves Hanoulle, programmeur, entrepreneur et coach spécialisé dans les méthodes Agiles, croit déceler dans ce débat l'émergence d'une nouvelle forme de maturité, pleine de promesses mais également d'incertitudes.

Pour lui, la communauté Agile est entrée dans la deuxième phase du cycle de développement (au sens biologique du terme) de Bruce Tuckman, cycle qui présuppose que tout groupe passe par quatre étapes successives : l'apprentissage / l'affrontement des idées / l'acceptation / l'étape de la performance pure.

"Il semblerait que les débats [sur les méthodes agiles comme pratique dans industrie IT] se multiplient. Pour moi, c'est la première fois que cela arrive avec cette intensité. […] Cela me rappelle beaucoup la phase d'affrontement du cycle de vie des équipes […] Donc d'un point de vue de coach je trouve que ces discussions, et là où elles nous mènent, sont vraiment très intéressantes. De plus dans ces débats, il n'y a pas clairement de leader. Ou pour exprimer ma véritable pensée : il n'y a pas encore de leader" écrit-il sur son blog.

Yves Hanoulle, qui est également un auteur modéré, insiste énormément sur le contexte. Pour lui, il n'y a pas de vérité absolue sur le sujet "Scrum contre XP". Des équipes ont commencé avec Scrum et ont réussi. D'autres l'ont fait avec XP.

Et beaucoup ont échoué avec les deux méthodes.

En fait, Scrum ou XP, la leçon importante semble être qu'il ne faut jamais oublier que les méthodes Agiles sont fondées sur l'apprentissage par l'expérimentation et, surtout, que toutes ses pratiques et recommandations doivent rester des moyens.

Jamais des fins.

Ce qui ne retire en rien à la question de savoir, dans cette phase "d'affrontement" très féconde, dans quel camp vous vous situez.

Sources :

Le Débat Scrum vs XP
Le billet de Tobias Mayer Don' Do XP
La Phase d'affrontement dans le monde Agile sur le blog de Yves Hanoulle

Lire aussi :

La rubrique Conception (actu, tutos, forums) et le forum Méthodes Agiles de Développez.com

Méthodes Agiles : Peut-on à la fois être Scrum master et développeur sur un même projet ?

Et vous ? :

Etes vous plutôt Scrum ou plutôt eXtreme Programming ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 28/10/2009 à 16:39
Waterfall

===>[]
0  0 
Avatar de MaTriX91
Futur Membre du Club https://www.developpez.com
Le 28/10/2009 à 17:03
Je ne pensais pas qu'il pouvait y avoir un débat. Je croyais que c'était deux méthodes qui dépendaient principalement de la taille du projet et de l'équipe.
0  0 
Avatar de numahel
Membre à l'essai https://www.developpez.com
Le 28/10/2009 à 17:18
Moi non plus, et je pensais que ça pouvait être complémentaire selon les projets.
0  0 
Avatar de Maximil ian
Membre émérite https://www.developpez.com
Le 28/10/2009 à 21:13
Idem, je ne comprends pas cette idée de vouloir opposer à tout prix Scrum et XP. Scrum est tout à fait complémentaire aux pratiques d'ingéniérie décrites dans XP, qu'on soit conscient de faire de l'XP ou pas quand on les pratique. D'ailleurs la troisième réponse du sondage pourrait être "Scrum et XP (dans le même projet)".

Pour l'anecdote, il faut tout de même noter qu'XP inclut des pratiques de gestion de projet ET des pratiques d'ingénierie alors que Scrum est un framework qui ne s'occupe que de conduite de projet/produit informatique.

PS : on écrit eXtreme programming et non pas eXtrem comme on le voit souvent
0  0 
Avatar de TabrisLeFol
Membre confirmé https://www.developpez.com
Le 28/10/2009 à 22:37
En fait, Scrum ou XP, la leçon importante semble être qu'il ne faut jamais oublier que les méthodes Agiles sont fondées sur l'apprentissage par l'expérimentation et, surtout, que toutes ses pratiques et recommandations doivent rester des moyens.
Pour moi, c'est le résumé.

Quelqu'un sans talent et sans volonté fera le meme (mauvais) travail quelque soit la methode ; de meme quelqu'un qui applique betement un process.

Il n'existe pas de process magique qui va faire disparaitre les risques sans prises de décisions.

Concernant XP vs Scrum, XP est résolument orienté developpement logiciel tandis que Scrum est veritablement independant du domaine (meme si on en parle le plus souvent dans le cadre du developement logiciel). On peut les opposer mais si on le fait, c'est pour le sport plutot que pour en retirer un benefice quelconque dans un projet...
0  0 
Avatar de Heziva
Membre régulier https://www.developpez.com
Le 29/10/2009 à 7:54
Opposer XP et Scrum ? Je ne suis pas sur que le débat soit réel. Il manque très certainement une case "Je fais les deux sur le même projet". Qui doit probablement correspondre à beaucoup d'équipes Scrum.

Scrum est un ensemble de pratiques de pilotage de projet. On créé les histoires utilisateurs, on les priorise, puis on les organise en sprint. Plusieurs réunions sont préconisées. L'équipe est auto-gérée.

XP est un ensemble de pratiques de développement. You Ain't Gotta Need It (ou Keep It Simple and Stupid) vous indique de ne pas faire de "réutilisable". XP impose le Test Driven Developpement. Avoir une intégration en continue fait partie de la méthode. Certes, XP propose également le "Planning game", qui peut marcher sur les plates bandes de Scrum, mais ce n'est pas obligatoire.
XP pousse à l'extrême des pratiques de bon sens. Cette méthode propose un package de pratiques qui compensent les défaut les unes des autres.

XP ou Scrum ou les deux. Là est plus la question. D'ailleurs, le "don't do XP" exprime simplement le fait que, selon l'auteur, suivre un package de pratiques qui n'ont pas évolués depuis 12 ans est une mauvaise idée. Il faut inspecter pour trouver les bonnes pratiques qui vous correspondent. Il faut inventer votre XP à vous...
0  0 
Avatar de pseudocode
Rédacteur https://www.developpez.com
Le 29/10/2009 à 11:02
Pour moi, Scrum et XP sont deux cycles de vie de développement, mais leur approche (et leur finalité) sont différentes:

- Scrum à une approche temporelle du développement : ce qui reste à faire, ce qui est en cours, ce qui est terminé.

- XP à une approche fonctionnelle du développement : le produit que le client souhaite avoir, le produit que l'équipe a développé, les modifications à apporter.

En conséquence, Scrum est adapté si la gestion de projet est conduite par le délai. En contre-partie, il faut avoir un cahier des charges (backlog) clair dés le départ (minimum de modif pendant le developpement). XP est adapté si la gestion de projet est conduite par les demandes du client. En contre-partie, le délai de la livraison finale est incertain (dépendant des demandes et des refactors necessaires)

Bref, c'est plus une problématique de contraintes de gestion de projet qu'une problématique sur les méthodes.
0  0 
Avatar de mongeolive
Membre à l'essai https://www.developpez.com
Le 29/10/2009 à 11:35
Citation Envoyé par Heziva Voir le message
You Ain't Gotta Need It (ou Keep It Simple and Stupid) vous indique de ne pas faire de "réutilisable".
Ce n'est pas tout à fait ce que je comprends de "You Ain't Gotta Need It". L'explication donnée pour cette pratique est :
"Always implement things when you actually need them, never when you just foresee that you need them."

Soit :
"Implémentez toujours les choses dont vous avez besoin immédiatement, et pas quand vous envisagez d'en avoir besoin plus tard".

XP ne dit pas de ne pas faire de "réutilisable", mais simplement de ne pas faire ce dont vous n'avez pas besoin immédiatement. J'insiste sur ce point, car j'ai vu de nombreuses personnes qui ne connaissent pas la méthode se méprendre sur XP, en pensant qu'il s'agit de "coder salement, coder rapidement" et surtout sans jamais rien concevoir.

Je pense que ce n'est pas du tout le cas. Au contraire, XP insiste sur une très haute qualité du code produit et des pratiques qui permettent de conserver cette qualité comme le refactoring. Penser qu'XP encourage le développement sale et rapide, ou sans conception, est pour moi une erreur.

Des pratiques de modélisation rapide pour les méthodes agiles existent : http://www.agilemodeling.com/.
Il ne s'agit évidemment pas de pondre des documents de conception de 300 pages, mais plutôt de réaliser des conceptions rapides pour les éléments de développement de l'itération en cours.

En ce qui concerne Scrum et XP, je pense aussi qu'il est préférable de retirer de ces pratiques les meilleurs éléments pour des projets spécifiques. Je ne comprends pas qu'il puisse exister une "guerre" entre ces méthodes, qui me semblent assez similaires sur certains points et complémentaires sur d'autres.
0  0 
Avatar de rad_hass
Membre expérimenté https://www.developpez.com
Le 29/10/2009 à 14:58
Bonjour,

Moi je ne trouve aucune raison intéressante d'opposer l'une et l'autre des méthodologies, je pense qu'il faut simplement être agile dans le choix des pratiques à utiliser

Citation Envoyé par pseudocode Voir le message
Pour moi, Scrum et XP sont deux cycles de vie de développement, mais leur approche (et leur finalité) sont différentes:

- Scrum à une approche temporelle du développement : ce qui reste à faire, ce qui est en cours, ce qui est terminé.

- XP à une approche fonctionnelle du développement : le produit que le client souhaite avoir, le produit que l'équipe a développé, les modifications à apporter.

En conséquence, Scrum est adapté si la gestion de projet est conduite par le délai. En contre-partie, il faut avoir un cahier des charges (backlog) clair dés le départ (minimum de modif pendant le developpement). XP est adapté si la gestion de projet est conduite par les demandes du client. En contre-partie, le délai de la livraison finale est incertain (dépendant des demandes et des refactors necessaires)

Bref, c'est plus une problématique de contraintes de gestion de projet qu'une problématique sur les méthodes.
Je trouve intéressante ton analyse, mais ce qui me pose problème c'est le fait de dire que SCRUM n'est pas adapté avec une gestion de projet qui est conduite par les demandes du client, je pense que la participation du Product owner dans le projet et le fait que le backlog n'est pas dans un état figé mais que le product owner peut le faire évoluer, font que SCRUM n'est pas incompatible avec cette approche.
0  0 
Avatar de pseudocode
Rédacteur https://www.developpez.com
Le 29/10/2009 à 15:26
Citation Envoyé par rad_hass Voir le message
Je trouve intéressante ton analyse, mais ce qui me pose problème c'est le fait de dire que SCRUM n'est pas adapté avec une gestion de projet qui est conduite par les demandes du client, je pense que la participation du Product owner dans le projet et le fait que le backlog n'est pas dans un état figé mais que le product owner peut le faire évoluer, font que SCRUM n'est pas incompatible avec cette approche.
Bien sur, on peut toujours adapter les process, que ce soit SCRUM ou XP.

Mais tout de meme, SCRUM est basé sur l'existence d'un Backlog "Produit" (sous entendu complet) qui va être trié par priorité. Donc toute modification sur le CDC produit va necessiter de modifier le backlog, et potentiellement de devoir recoder certaines parties du logiciel qui ont déjà été codées. On se rapproche de l'idée de "constant refactor" de XP.

Je pense juste qu'il faut eviter de choisir une méthode comme SCRUM si on sait d'avance que le CDC est instable. A l'inverse, il faut éviter de choisir une méthode comme XP si on sait d'avance qu'on doit garantir une date de sortie.
0  0