Java, SOA, Architecture & Methodes agiles par Thomas Recloux

Tests unitaires pour Iphone

Publié le 28 juin 2009 par Thomas Recloux

Mon collègue Sébastien a publié un nouvel article, au programme cette fois : les tests unitaires avec le SDK iPhone.

GWT : Fonctionalités et Roadmap

Publié le 23 juin 2009 par Thomas Recloux

Voici une présentation réalisée par Fred Sauer, elle détaille les objectifs, les fonctionnalités actuelles ainsi que les nouveautés de GWT 2.0.

WebServices SOAP et client iPhone

Publié le 22 juin 2009 par Thomas Recloux

Comme évoqué précédemment, j’ai animé une équipe projet autour des plateformes mobiles Andoid et iPhone.

Sébastien Hoerner, membre de l’équipe a publié un article très détaillé sur l’utilisation de la librairie gSoap pour appeler des webServices SOAP depuis un iPhone.

gSoap est une librairie c/c++ qui outille fortement le développement de client ou de serveurs de WebServices, la librairie est portable sur les plateformes Windows, Linux, AIX, MacOSX, BSD, PalmOS, …. et donc iPhone OS.

Nous n’avions pas trouvé de littérature à ce sujet, je vous conseille donc vivement la lecture de son billet.

R&D et méthodes agiles

Publié le 18 juin 2009 par Thomas Recloux

Je viens de finir un projet de R&D mené en collaboration entre Norsys et l’équipe innovation d’un des gros comptes du Nord pas de Calais.

Ce projet innovant démarrait avec des facteurs de risque importants :

  • Manque de visibilité sur les possibilités techniques des plateformes clientes : iPhone et Android.
  • Usages en pleine réflexion autour de ces plateformes et des comportements des utilisateurs.
  • Délais très courts : 8 semaines.

Pour mener à bien ce projet, nous avons choisi d’utiliser des itérations d’une semaine : nous pensions que quatre itérations de deux semaines n’auraient pas permis de réagir suffisamment rapidement aux découvertes et problèmes rencontrés.

Le client a pu réagir rapidement pour ajuster ses priorités, intégrer de nouvelles idées provoquées par la prise en main d’une application dès la première itération.

Au final, les applications comportent plus de fonctionnalités que prévu initialement et la date butoir matérialisée par un showroom a été abordée sereinement.

Je pense que les méthodes agiles se marient parfaitement avec ce contexte risqué, le client a une très bonne visibilité sur l’avancée des travaux, le cycle court permet de vite changer d’orientation en cas de problème technique ou de mauvais feedback et les échéances à très court terme évitent de tergiverser.

Au chapitre des petites améliorations pour le prochain projet, je pense que nous n’avons pas assez creusé du coté des outils de développement « agiles»  sur ces nouvelles plateformes et notamment en ce qui concerne les tests unitaires,  l’outillage du build et l’intégration continue. Si vous avez des billes, je suis preneur.

Maven2 au ChtiJUG

Publié le 15 juin 2009 par Thomas Recloux

Ce soir j’ai participé à la deuxième réunion du ChtiJUG, le club des Javaistes du Nord.

Thème de la soirée : Maven2, la présentation était effectuée par Arnaud Héritier, commiter et membre du comité du projet.

Cela fait maintenant 6 ans que je pratique Maven et je venais surtout pour profiter de l’expérience d’Arnaud que l’on imagine avoir participé à de multiples mises en places.

J’ai trouvé la présentation intéressante, Arnaud ne manie pas la langue de bois et n’est pas avar en anecdotes et conseils.

Voici les points que j’ai retenu de sa présentation :

  • Maven ne convient pas à tous les projets, notamment quand il n’y a pas de besoin de standardisation ou de réutilisation
  • Dans un premier temps, se contenter d’une mise en place simpliste, en évitant de sur utiliser les capacités avancées de l’outil : héritages à n niveaux, trop de modules, profils, …
  • De concentrer ensuite sur la sécurisation du build : utiliser un proxy maven pour pallier à une défaillance des serveurs centraux, préciser la version de tous les plugins.
  • Enfin : industrialiser le build : mettre en place une intégration continue, mettre en place les outils et rapports qualité, automatiser la release.

Arnaud a également pas mal partagé sur sa vision des outils de l’écosystème Maven et se montre très enthousiaste quand il parle de Nexus (proxy et référentiel maven)  ou de Hudson (intégration continue)

Autre remarque d’Arnaud : configurez Maven pour qu’il s’adapte à votre IDE et pas l’inverse : il faut passer le moins de temps possible dans la console.

Je pense que la fin de la présentation ainsi que certaines questions ont du plonger une bonne partie de la salle dans de profonds doutes quand au coté simple de l’outil, le niveau était assez relevé :-)

Coup de chapeau à mon ami et collègue Jérémy qui a brillamment gagné une licence IntelliJ IDEA en répondant à une question difficile : de quel projet est issu Maven : vous le saviez vous ?

Lecture de la semaine

Publié le 14 mai 2009 par Thomas Recloux

C’est reparti avec les articles qui ont retenu mon attention cette semaine.

  • Versioning des Services REST.
    Sur le Blog Octo, Benjamin Magan nous propose une stratégie pour le versioning des Services REST.
    La technique proposée est élégante et repose sur la négociation du contenu et l’entête « Content-Type» . Le client indique à l’aide cet entête, non seulement le format de représentation des données (XML, JSON, …) mais aussi la version du service qu’il utilise.
    De cette manière, l’URL reste inchangée ce qui est important avec des services REST.
  • La vélocité des Bugs
    Alexandre Boutin nous explique sa vision au sujet de la comptabilisation des bugs et des story non fonctionnelles dans la vélocité de l’équipe.
    Pour Alexandre, il faut compter les story non fonctionnelles car elles apportent de la valeur en terme de productivité, performance ou encore qualité. Par contre il considère que les corrections de bugs n’apportent pas de valeur et le les comptabilise donc pas. Dans les commentaires de l’article, Claude Aubry nuance cet avis dans les commentaires en proposant de comptabiliser les corrections de manière séparée.
  • Intégration GWT/Spring Simple
    J’en ai rêvé, je m’étais promis de m’y intéresser, il l’a fait :-)
    Enfin une solution simpliste pour que Spring instancie les services RPC de GWT et puisse donc y injecter proprement les dépendances et y appliquer les aspects qui vont bient (gestion de transaction, sécurité,  …). Merci ! (via onGwt)


  • Plus de projets en échec en 2008
    Sur le blog de Pyxis, Martin Proulx nous présente les statistiques du Standish Group à propos des succès des projets logiciels. En résumé, les chiffres se dégradent avec seulement 32% de projets en succès (délai, couts, périmètre). Il est certain que les méthodes agiles à elles seules ne vont pas permettre de passer à 100% de succès, mais j’en suis convaincu, beaucoup d’entreprises gagneraient à changer une méthode qui perd, à remettre en cause leur organisation et à essayer les méthodes agiles.

Quelques nouvelles

Publié le 10 mai 2009 par Thomas Recloux

Les posts se font rares sur ce blog, non pas que je n’ai plus envie de partager mes expériences, mais le début de l’année a été assez agité.

Agité dans le bon sens car j’assiste deux projets dans leur mise en place des méthodes agiles et que je participe à un troisième en tant que ScrumMaster.

Je ne manquerai pas de vous faire partager mes idées sur le sujet, ainsi que sur des sujets techno : Iphone, Android, …

Stay tuned :-)

Enquête sur les méthodes agiles

Publié le 10 mai 2009 par Thomas Recloux
Le groupe des utilisateurs de Scrum en France (French Scrum User Group : FSUG) lance une grande enquête sur l’utilisation des méthodes agiles en France.

Afin d’avoir des informations de qualité, il est important qu’un maximum d’entreprises utilisatrices participent à l’enquête, merci donc de prendre cinq minutes pour y répondre.

Sortie de Sonar 1.6

Publié le 9 février 2009 par Thomas Recloux

Le blog du projet Sonar annonce la sortie de la version 1.6 de ce très bon outil de suivi qualité.

Voici une liste des nouveautés :

  • Paramétrages des règles au sein de profils, ces profils contiennent tous les paramètres et sont entièrement exportables.
  • Possibilité de définir des seuils d’alerte, au sein des profils. Cela permet de matérialiser le respect des objectifs de qualité du projet par une icône en fonction de son état.
    Pour chaque alerte, on peut définir un seuil de « orange»  et un seuil « rouge» . Un flux Atom permet de s’abonner à ces alertes.
  • Et enfin, la grosse nouveauté de mon point de vue, la possibilité d’affecter un profil différent à chaque projet et donc d’adapter les règles au contexte et aux choix de chaque équipe.

A noter que la mise à jour se fait sans difficulté.

L’agilité mêne au succés

Publié le 2 février 2009 par Thomas Recloux

Les méthodes agiles aident à mettre en place une dynamique d’équipe afin que celle ci soit responsable et solidaire.

J’ai eu la chance de participer à des projets ou cette dynamique s’est installée et ou le travail collectif devient à la fois efficace est très sympathique.

En lisant cette interview de Claude Onesta (lequipe.fr), le coach de l’équipe de France championne d’Europe, olympique et du monde, je retrouve des valeurs qu’un coach agile mets en œuvre : responsabilité, autonomie, réactivité, solidarité.

Extraits :

On obtient ce résultat à partir du moment où les joueurs sont acteurs de leur performances. Quand ils sont obéissants sur des stratégies définies par d’autres, ils finissent par être en difficultés dès lors que la stratégie ne permet plus les solutions. Là, les joueurs soient en charge de leur propre jeu, nous (le staff) on accompagne, on construit, on règle… Mais eux sont en ébullition permanente sur la définition du projet. De cette manière, ils ont l’emprise sur les éléments. Il n’y a rien de pire qu’un joueur qui a la sensation de ne plus rien maitriser. Là, il devient défaillant.

Cette construction a pris du temps, mais aujourd’hui -et je le répète, à partir du talent des joueurs-, on les a mis dans un mode de fonctionnement où ils sont de plus en plus responsable, autonomes. Dans la difficulté, ils ont la capacité de réagir. J’ai longtemps rêvé et je rêve encore d’arriver à gérer une équipe qui tout d’un coup n’a plus besoin de moi.

Alors, bien sur que Onesta insiste aussi sur le talent de ses joueurs, mais cette force collective permet de mettre le talent au service de la performance.

Lors de la formation ScrumMaster, Jeff Sutherland a d’ailleurs parfois fait le parralèle avec une équipe de sport et c’est une des taches les plus subtiles du ScrumMaster que de favoriser la mise en place de cet esprit d’équipe.