jeudi 31 mars 2011

Scrumday 2011 : retours à chaud

lien vers le site scrumday : http://www.scrumday.fr/

Aujourd'hui je suis allé à Paris (Issy les Moulinaux très exactement) dans les locaux de Microsoft pour assister au Scrumday 2011, organisé par Microsoft et le French Scrum User Group.
Mes objectifs étaient d'une part de me faire une idée sur l'adoption de l'agilité dans les DSI et les SSII, et d'autre part de voir quelles pratiques étaient utiliser et celles qui ne le sont pas ou peu. Tout ça bien sûr dans l'optique très altruiste de situer et tenter d'évaluer -avec toute l'objectivité qui s'impose, :)- l'implémentation de l'agilité dans notre service de développement.
Rassurez-vous l'objet de mon billet n'est pas de vous parler du résultat de mon introspection mais plutôt de vous mettre en avant les sessions auxquelles j'ai assistées et qui ont vraiment attirés mon attention.
Je parlerai donc de deux :
- "ScrumMasters, devenez le coach de votre équipe agile" animé par Véronique Messager, dans le track ADOPTION.
- "Quarante ans de crise, dix ans d'agilité" présenté par Laurent Bossavit, Directeur de l'Institut Agile, dans le track PRATIQUES AGILES.

Dans sa présentation, Véronique Messager a aborder les missions de coaching qu'un Scrum master doit ou devrait adresser. Son message, auquel j'adhère complètement, est qu'être scrum master demande des connaissances en management et en "psychologie" pour pouvoir correctement faire ce travail de coaching. Wow ! Quel changement de mentalité cela demande à nos chefs de projets.  Devoir se soucier des relations humaines là où on leur avait toujours fait comprendre que ce qui compte c’est le respect des délais et des spécifications !
Je ne sais pas si cette présentation a été filmée et sera diffusée sur un site ou un autre mais si c’est le cas je la conseille à tous celles et ceux qui s’intéressent à scrum et en particulier au rôle de scrum master.
Par ailleurs et pour soumettre mon point de vue à ceux qui liraient ce billet (n’hésitez pas à laisser un commentaire), je pense que même si l’adoption de Scrum, pour des raisons de ressources humaines, passe naturellement par des équivalences MOA devient Product Owner et chef de projet devient scrum master, il apparait assez clairement que l’on parle ici de nouveaux métier ou de mutation très forte de ces métiers. Et ce à un point tel que tous les  chefs de projet ne pourront pas ou n’auront pas envie de devenir scrum master. Il faudra donc créer ces nouveaux spécialistes de ces métiers, ce qui nous amène à la deuxième session que je recommande.

Ayant découvert récemment l'institut agile (cf mon billet précédent) j’ai recherché un peu plus d’informations à son sujet et je suis tombé en début de semaine sur un podcast sur Visual Studio Talk Show où Laurent Bossavit le créateur de l’institut agile, était l’invité. Je vous le conseil vivement et il vous apportera des réponses sur les missions de cet institut.
Pour en revenir à la session, Laurent Bossavit nous livre une partie d’histoire sur l’ingénierie logicielle pour aider à comprendre pourquoi un tel engouement pour les méthodes agiles mais aussi pourquoi leur mauvaise transmission et compréhension pourrait leur être préjudiciable à moyen terme. Si toutefois la présentation d’aujourd’hui n’est pas téléchargeable dans les prochaines semaines, Laurent Bossavit a annoncé qu’il y aurait fin avril, probablement à Paris, une conférence organisée par l’institut agile pour le présenter. Ce sera donc probablement l’occasion pour lui de reparler de ce qu’il a présenté aujourd’hui et pour vous d'aller le rencontrer.

Globalement cet événement était vraiment bien préparé et les sujets couverts étaient intéressants et comme souvent on aimerait pouvoir se dédoubler pour suivre 2 ou 3 sessions positionnées sur le même créneau horaire. Mon seul regret, dommage pour la session « Mode Forfait et Méthode Scrum : Les frères ennemis ? » que je n’ai pas pu suivre car la salle était plus que pleine.

Bonne continuation à toutes et tous.

lundi 28 mars 2011

L'agilité dans un monde commercial

En 2009 lorsque j'ai commencé à m'intéresser sérieusement à l'agilité j'étais aller aux xpdays à Vincennes (devenue conf agileen 2010). J'y avais rencontré un monde d'extra-terrestres où les projets informatiques n'étaient pas que des aventures techniques et des délais, mais aussi des aventures humaines... J'ai découvert et redécouvert les concepts d'équipe, d'informatique hédoniste et d'autres sujets qui m'étaient apparus tabou dans le monde de l'entreprise.

Une session était co animée par Eric Lefevre Ardant et Laurent Bossavit : "Is Srcum Evil ?". De la, plusieurs questions autour de la certification à grande échelle, le galvaudage des mots clés de l'agilité, les abus prévisibles de certaines sociétés de services autour de l'agilité, l'identité des faussaires et des "vrais" praticiens de l'agilité... On pourrait parler ici de déontologie.

Laurent Bossavit à justement créer "l'Institut agile" qui semble tout à fait adresser ces sujets. Ceci peuvent paraitres idéalistes mais dans un contexte où tout est du commerce pour certains et que les projets informatiques sont vitaux pour d'autres il ne faudrait pas qu'une des valeurs, à mon avis phare de l'agilité qu'est la confiance perde en crédibilité. Il fallait essayer quelque chose et je crois que c'est ce que Laurent Bossavit a fait.

Je salue cette initiative en espérant qu'elle ne sera pas perçue comme une lubie d'élitiste et qu'elle permettra aux "clients de l'agilité" de mieux s'y retrouver parmis les prestataires dont le nombre ne cessent de croître.

mercredi 12 janvier 2011

Only parameterless constructors and initializers are supported in LINQ to Entities.

Linq to Entities est parfois un peu déconcertant, voici donc une déconvenue que j'ai rencontré sur un de mes récents développements.
"Only parameterless constructors and initializers are supported in LINQ to Entities."

Le code qui déclenche cette erreur est le suivant :

var events = (from c in _articleRepository.FindEvenementArticles()
orderby c.DatePublication descending
select new ArticleDto(c)
).Take(10);

une correction possible :
var events = (from c in _articleRepository.FindEvenementArticles()
orderby c.DatePublication descending
select new ArticleDto()
{
  Id = c.IdArticle,
  ContenuHtml = c.ContenuHTML
  }
).Take(10);

une autre correction possible :


var retList = new IEnumerable();


var events = (from c in _articleRepository.FindEvenementArticles()
orderby c.DatePublication descending
select c
).Take(10);


foreach (var e in events)
{
   retList.Add(new ArticleDto(e);
}