XXP
Add to Technorati Favorites

avril 2010

lun. mar. mer. jeu. ven. sam. dim.
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

« Twitter n'a pas le monopole de la concision | Accueil | Guide de déploiement Silverlight en entreprise »

11 mai 2009

TrackBack

URL TrackBack de cette note:
http://www.typepad.com/services/trackback/6a00d8341c871f53ef0115707c9284970b

Voici les sites qui parlent de XP sans Scrum, Scrum sans XP :

Commentaires

Oaz

XP se suffit à lui même. On ne le répètera jamais assez !

Quelques remarques sur ta classification :

Sur XP seul, est-il vraiment lié au monde "objet fortement typé" ?
Je crois savoir qu'il est utilisé avec succès en Erlang (qui n'est pas objet).
Pour le faible typage, cela pose effectivement un problème de refactoring intensif cela ne me parait pas être une condition essentielle pour XP. J'ai fait du TDD et du refactoring en PHP. L'outillage n'est pas au niveau de ce que je connais par ailleurs en .NET mais cela reste pratiquable.

Sur Scrum seul, aux projets dominés par l'emploi d'outils de génération de code, je rajouterais les projets dominés par l'emploi de frameworks. Dans les 2 cas, soit les outils ou les frameworks intègrent les pratiques d'ingénierie attendues et tout va bien, soit ils ne les intègrent pas et là il vaut mieux s'en passer.
Plus généralement, on peut faire du Scrum seul quand la maitrise technique du projet peut être obtenue autrement (et plus facilement) que par la mise en oeuvre des pratiques d'ingénierie mises en avant par XP.

David Brocard

Je vois plus Scrum comme un cadre méthodologique simple et volontairement "incomplet", dans le sens où les pratiques d'ingénierie logicielle ne sont pas spécifiées et sont laissées à l'appréciation de l'équipe suivant le contexte technique. Mais cela ne veut pas dire qu'on déclare Scrum comme auto-suffisant.
Quelque soit le langage, le framework, et plus généralement la chaîne de production logicielle, on ne peut pas échapper à la maîtrise de la qualité du code (donc des techniques garantissant le refactoring, la non-régression, la standardisation etc) sans quoi, on n'est plus agile du tout.
Il faut aussi préciser qu'on doit à Scrum, la vague de déploiement actuelle d'agilité. Il aurait suffit que les géniteurs d'XP le rebaptise afin d'éviter les réticences des décideurs parfois uniquement liées au nom provocateur de la méthode.
Enfin, je reste convaincu que Scrum et XP = meme combat, dans la mesure on applique les principes minimum permettant d'être factuellement agile.

Cédric

Scrum fait un peu moins peur aux décideurs, et son programme de certification en fait une méthode "sérieuse" de leur point de vue.
Ceci étant effectivement Scrum est un framework, ses fondateurs affirment eux même qu'il faut le compléter avec les pratiques d'ingénieries adaptées au projet. D'où souvent le mix Scrum-XP, en prenant les bonnes pratiques de cette dernière.

Ceci étant, travaillant en PHP quotidiennement, je trouve les frameworks TDD très aboutis (PHPUnit et Simpletest), et surtout le faible typage n'est en rien un frein au remaniement, puisque ce sont les tests unitaires et non les automates de refactoring qui assurent la non-régression.

J'ai été surpris que le remaniement soit bloqué par l'absence d'un IDE le facilitant. Les pratiques avant l'outil me semble une notion très agile.

Cédric

DenisDollfus

La dépendance du remaniement vis-à-vis de la nature typée/dynamique du langage considéré est une idée qui m'est soufflée par les grosses différences de "styles" de code que j'ai pu constater entre C++, C#/Java et Javascript, styles qui me semblent directement dépendant des outils.

En C++ où les classes et les méthodes sont à écrire deux fois (.h/.cpp en l'absence d'outils de refactoring), les classes comme les méthodes me semblent plus grassouillettes qu'en Java et C#.

En Javascript, je réfléchis à deux fois avant d'extraire une méthode ou de renommer une variable tant le risque d'amener des erreurs est grand en mode manuel (si un risque est non nul alors il est grand, corollaire de la loi de Murphy). C'est vrai les tests détecteront la régression s'ils sont complets, mais la différence avec les outils de refactoring Java/C# qui *garantissent* de laisser le code iso-fonctionnel est flagrante. Le remaniement n'est pas bloqué, il est plus ou moins freiné en fonction du courage du développeur. Ce qui prend 10 secondes en C#/Java coûte 3 minutes en javascript et amène des risques de régression : c'est un peu d'agilité perdue, sur la durée d'un projet ça compte beaucoup.

J'aimerais bien avoir le temps de confirmer/infirmer l'effet de la disponibilité d'outils automatique de remaniement sur le style du code en analysant la taille des méthodes et des classes de différents langages sur un large corpus de code, par exemple à partir de code.google.com.

Si quelqu'un se sent motivé...

DenisDollfus

En faveur des langages typés pour des projets d'envergure, il faut aussi considérer l'investissement considérable - et réussi - de Google dans Google Web Toolkit.

Vérifiez votre commentaire

Aperçu de votre commentaire

Ceci est un essai. Votre commentaire n'a pas encore été déposé.

En cours...
Votre commentaire n'a pas été déposé. Type d'erreur:
Votre commentaire a été enregistré. Poster un autre commentaire

Le code de confirmation que vous avez saisi ne correspond pas. Merci de recommencer.

Pour poster votre commentaire l'étape finale consiste à saisir exactement les lettres et chiffres que vous voyez sur l'image ci-dessous. Ceci permet de lutter contre les spams automatisés.

Difficile à lire? Voir un autre code.

En cours...

Poster un commentaire