Cuvée Agilité mars / début avril 2005

Un article de Agile-Swiss.

Jump to: navigation, search

Tous les mois nous allons essayer de proposer une vision la plus synthétique possible de l'évolution du monde Agile au travers ses blogs, ses news et ses évênements. L'objectif n'est pas de coller au plus près de l'actualité mais de sélectionner les liens qui nous semblent marquants sur une période donnée et qui peuvent nous permettre de mieux comprendre / anticiper la trajectoire du train Agilité. Voici donc la cuvée fin mars / début avril:

Sommaire

Microsoft et l'Agilité

Pour débuter et même si ça risque de froisser les plus microsoftphobes d'entre nous, deux faits indiquant clairement l'intérêt de Microsoft pour l'Agilité:

- Article sur MSDN expliquant comment faire du TDD avec Visual Studio Team Test 2005

extrait de l'article: Firstly, TDD is an invaluable practice. Of all the development methodologies available, TDD is probably the one that will most radically improve development for many years to come and the investment is minimal. Any QA engineer will tell you that developers can't write successful software without corresponding tests. With TDD, the practice is to write those tests before even writing the implementation and ideally, writing the tests so that they can run as part of an unattended build script. It takes discipline to begin this habit, but once it is established, coding without the TDD approach feels like driving without a seatbelt.

- MSF (Microsoft Solution Framework) for Agile Software Development source: blog de Randy Miller

De ce dont j'ai compris sur le site MSDN, MSF est sorte de petit frère de RUP / Rational Rose. Bref proposer (surtout vendre) un outil pour faire de la conduite de projet. MSF se décline actuellement en MSF for CMMI et MSF for Agile Software Development. A titre personnel je pense que lorsqu'on utilise ce genre de produit il est trop facile de tomber dans le travers du PDP (Product Driven Process) alors qu'un processus Agile est avant tout une histoire de collaboration / feedback / courage. Néanmoins ces pas de Microsoft dans le monde de l'Agilité ne peuvent que crédibiliser encore plus les approches Agiles.

Ping-Pong game

J'ai découvert cette pratique décrite par Dave Hoover, suite à la lecture d'un article sur le pair programming. Le principe est extrêmement intérressant et la pratique doit l'être encore plus. L'idée est la suivante:

Quand on fait du pair programming, il peut arriver certaine fois qu'un des développeur décroche légèrement pour des raisons diverses et variées (petite baisse de concentration, manque d'écoute de la part du binôme, petite baisse de motivation, etc.). Raisons qui sont la plus part du temps naturelles et peu condamnables. Pour éviter ces décrochages et augmenter l'efficacité du pair programming, Dave Hoover propose la mise en place d'un jeu qui implique à la fois compétition et collaboration en s'appuyant sur les deux disciplines pair programming / TDD: l'un écrit un test, l'autre doit passer le test et c'est parti pour le tango.

HSQLDB comme mock BDD

Dans les trucs et astuces, un article paru récemment sur TSS et qui apporte une solution possible au problème toujours délicat des tests qui dépendent de données stockées dans la BDD (quand on n'a pas pu faire autrement). De la même manière qu'on peut facilement réaliser des mock EJBs à l'aide du container léger mockEJB, l'idée de l'article est de considérer HSQLDB comme un mock BDD.

Mais qui dit mock dit test unitaire (dicton bien connu !). Cette solution ne s'applique donc pas pour les tests d'intégration, dont la finalité est de vérifier la bonne imbrication de tous les composants, base comprise. Pour ce genre de tests il faut alors privilégier des outils comme dbunit.

Divers

Enfin, sur le blog de l'incontournable Martin Fowler deux posts. L'un est une sorte de complément à l'article de Didier sur les commentaires et plus généralement sur la documentation au sein des projets Agiles. Le deuxième nous rappelle que ce qui compte avant toute chose au sein d'un projet Agile c'est la qualité des développeurs et leur capacité de travail en équipe.