Skip to content

Blogs de Développeurs: Aggrégateur de Blogs d'Informatique sur .NET, Java, PHP, Ruby, Agile, Gestion de Projet

Forum Logiciel

Forum Logiciel : diffusion de connaissance et d’informations sur toutes les activitĂ©s liĂ©es au dĂ©veloppement d’applications informatiques en entreprise.

Agrégateur de flux

Ma Geecon 2014 – premier jour

Pour ceux qui ne connaissent pas la Geecon, il s’agit d’une confĂ©rence autour de Java and friends organisĂ©e par les JUGs de Pologne. Cyrille Leclerc et Michael FiguiĂšre y avaient fait une prĂ©sentation commune sur le NoSQL et les Datagrid in memory.  La Geecon c’est : 1 jour d’ateliers, 3 jours de confĂ©rences, 1100 participants par jour et 80 speakers venus du monde entier, le tout en anglais. Dans cet article, je vous propose de dĂ©couvrir ma premiĂšre journĂ©e sur place, les prĂ©sentations que j’ai suivies : Rest Assured par Johan Haleby, Better performance for Java 8 par Kirk Pepperdin et The social Developper par Peter Van de Voord.

Commençons donc par un petit brin d’introduction pour vous dĂ©crire l’Ă©vĂšnement. Je suis arrivĂ© à Cracovie, dans un complexe cinĂ©ma de 15 salles, en dĂ©but d’aprĂšs-midi pour le premier jour de confĂ©rences. Bon, j’ai ratĂ© les Keynotes d’ouverture mais j’arrive alors que la confĂ©rence bat son plein. Petit dĂ©tail pour cette fois : je vais directement trouver un organisateur en T-shirt jaune de circonstance qui me donne mon badge speaker, les goodies et le programme. Adam m’indique ensuite la salle rĂ©servĂ©e pour dĂ©poser les affaires, prĂ©parer les talks, discuter entre speakers et faire les derniers slides. Sur place rien de particulier Ă  signaler. J’ai un peu l’impression d’entrer dans une fourmiliĂšre.

Je pars, pour ma premiÚre présentation et je choisis Johan Haleby dans la room 11 :

Feel at ease and REST Assured par Johan Haleby

Johan est l’auteur de quelques librairies connues comme PowerMock, Awaitility et Rest Assured qu’il vient prĂ©senter dans ce slot.

Rest assured est un DSL pour tester des services Rest en intégration.

given().
 parameters("login", "XXX", "password", "*****").
when().
 post("/login").
then().
 log().all().
 assertThat().body("response.userId", equalTo("1"));

Johan nous code en live cet exemple, en lançant un petit serveur Rest construit en scalatra qui tourne sur le port 8080 de sa machine. Il exĂ©cute son test Junit et l’on voit les rĂ©sultats de l’exĂ©cution dans les logs. Le test exĂ©cute une requĂȘte POST sur son serveur en fournissant un login et un mot de passe et vĂ©rifie ensuite le contenu du body de rĂ©ponse.

Le DSL Ă  outrance n’est pas franchement ma tasse de thĂ©, je trouve quand mĂȘme que c’est Ă©lĂ©gant, la syntaxe est du plus bel effet. La prĂ©sentation est assez convaincante. Tout se passe entre l’IDE, le navigateur et les logs, ça a l’air facile. Johan nous fait faire le tour du propriĂ©taire en creusant d’abord la configuration trĂšs fine du systĂšme :

  • Mapper Json/ Jaxb.
  • Matcher pour les assertions.
  • Support du SSL.
  • Client HTTP.
  • Validation XSD / JSONSchema, OAUTH, etc.

Nous voyons ensuite les outils pour tester le contenu réel de la réponse. Nous avons la possibilité de traiter le body et les headers avec une grande flexibilité :
en mode texte, en XPATH / JSONPath / texte brut ou binaire.

Il est possible de faire du mapping objet à partir de la réponse pour réaliser les tests sur les beans. Nous pouvons utiliser du Groovy pour faciliter les assertions.
Pour Ă©viter la duplication de code, Johan nous montre les spĂ©cifications qui permettent de dĂ©finir un template pour la construction de la requĂȘte, sous la forme d’une spec que l’on aura construit avec une Response ou une RequestSpecBuilder. La specification pourra par exemple gĂ©rer le/les cookies, passer des paramĂštres, que l’on utilise dans tous les tests.
Cette premiĂšre prĂ©sentation m’a mis en appĂ©tit, je vais tester ça sur mon projet actuel.

Ayant par le passĂ© organisĂ© des Ă©vĂšnements avec Kirk Pepperdin, je choisis tout naturellement d’enchainer avec sa prĂ©sentation.

Looking for better concurrency in Java 8 par Kirk Pepperdin

Kirk commence par nous prĂ©senter un peu l’histoire des processeurs en partant d’une photo du premier processeur Intel. Les CPU contiennent maintenant plusieurs coeurs, des niveaux de caches, bref beaucoup de capacitĂ©. Mais sans contrĂŽle, la puissance n’est rien. Pour Kirk, plus de CPU implique plus de pression sur le bus et les caches sont la clĂ© du systĂšme. Car le CPU peut vite devenir une usine Ă  rafraichir des caches, plutĂŽt qu’un centre de calcul.

J’aime cet approche trĂšs factuelle, qui part du problĂšme au niveau matĂ©riel pour aller vers les consĂ©quences au niveau logiciel.

Kirk nous parle ensuite de la loi de Little :
la loi de Little dit que le nombre moyen N de clients dans un systĂšme stable est Ă©gal Ă  leur frĂ©quence moyenne d’arrivĂ©e Y multipliĂ©e par leur temps moyen T passĂ© dans le systĂšme :
N  = Y * T
Dans notre cas Y = 1/4

Kirk passe ensuite Ă  l’analyse des systĂšmes de lock de la JVM, avec des exemples de code et de thread dumps.
Le locking est toujours pessimiste et il s’avĂšre inutile dans 99% des cas. Depuis Java 5 et le reentrant locking, les optimisations se succĂšdent de version en version. L’escape analysis permet de rĂ©duire le scope des locks au scope le plus petit. Mais cette analyse utilisĂ©e par la JVM doit ĂȘtre aidĂ©e.
Le Jdk8 a beaucoup amĂ©liorĂ© le biased locking qui permet d’ignorer un lock inutile. Un exemple simple pour comprendre le principe : un programme exĂ©cute un traitement en boucle en passant par une mĂ©thode synchronized a chaque itĂ©ration. Avec le biased locking, la JVM va tout simplement ignorer le block de synchronisation car il est mono-threadĂ©.

L’un des problĂšmes majeur de performance rencontrĂ© sur les CPU est le cache miss. Imaginez : votre application est manifestement au maximum de ses performances puisque le processeur tourne Ă  100%. Mais en fait, non ! Le processeur passe son temps Ă  invalider ses caches, il faut superviser les cache miss. Il peut s’agir d’un « false sharing » : grossiĂšrement, les donnĂ©es sont montĂ©es en ligne dans les caches mais les threads invalident en permanence le cache des autres. Vos threads travaillent sur un mĂȘme objet avec de la lecture et un champs rĂ©guliĂšrement Ă©crit. Dans ce cas, chaque Ă©criture sur le bloc forcera l’invalidation du cache des autres threads. La solution est de sortir le champs en question dans un bloc de donnĂ©es sĂ©parĂ© qui pourra Ă©viter le cache. C’est ce que fait l’annotation @Contended.

Avec un nouvel exemple de code, il nous prĂ©sente une amĂ©lioration de facteur 10 sur le nombre de traitement rĂ©alisĂ© avec l’annotation.
La prĂ©sentation continue en listant d’autres nouveautĂ©s du Jdk8 :

  • StampedLock : permet de passer au lock optimiste mais est compliquĂ© a utiliser.
  • ReadMostlyVector : fournit une liste synchronisĂ©e amĂ©liorĂ©e pour faire du lock optimiste.
  • Spliterator : pour faciliter le forkJoin.
  • MĂ©thode « parallel » des streams, pour parallĂ©liser les traitements.

La conférence prend fin avec quelques questions : quels outils pour analyser les threads dumps ? Comment faire du micro-benchmarking ? Etc.

Vous l’aurez compris, j’ai aimĂ© cette deuxiĂšme prĂ©sentation trĂšs technique.

Pendant le break entre ces deux confĂ©rences, j’ai un peu discutĂ© avec Peter Van de Voorde qui m’a vendu sa prĂ©sentation. Le titre et la conversation, m’ayant intĂ©ressĂ©, je dĂ©cide d’aller voir de quoi il retourne.

The social developper – Peter Van de Voorde

Les slides sont une succession de belles images en plein Ă©cran et c’est tout. C’est un format de prĂ©sentation que j’affectionne, j’aime quand le speaker a plus de chose Ă  dire que ses slides. Ça commence bien, Peter est convaincant et le sujet m’intĂ©resse. Tout d’abord, il nous parle de ses rĂšgles pour rĂ©ussir en tant que dĂ©veloppeur :

  • Hunt for flow, cherchez le mouvement, ne soyez pas bloquĂ©s.
  • Autonomy - mastery – purpose,  la motivation d’une Ă©quipe est liĂ©e Ă  l’autonomie, la maĂźtrise et l’intĂ©rĂȘt de chacun.
  • Invest in yourself, il faut croire en soi, ne pas hĂ©siter Ă  rĂ©aliser des choses.
  • Be assertive not aggressive, cela vous est-il dĂ©jĂ  arrivĂ© ? Vous ou un collĂšgue, s’Ă©nerve sur un code Ă©crit par quelqu’un d’autre ?
  • Get out of your comfort zone, sortez de votre zone de confort ! Son exemple : lui-mĂȘme l’a appliquĂ© pour finir speaker Ă  JavaOne.
  • You have 2 ears and one mouth, use them, soyez attentifs et exprimez les choses. Pour qu’elles soient prises en compte les idĂ©es doivent ĂȘtre exprimĂ©es.

Je dois reconnaĂźtre que ces assertions me parlent. MĂȘme si elles paraissent Ă©videntes, elles mĂ©ritent d’ĂȘtre entendues. VoilĂ  en quelques phrases ses points clĂ©s pour ĂȘtre un dĂ©veloppeur social. Peter enchaĂźne ensuite avec les Ă©quipes : qu’est-ce qu’une Ă©quipe ? Pour peter les Ă©quipes sont des Avengers, chacun est spĂ©cialisĂ© et travail en Ă©quipe. Tout le monde a des compĂ©tences, il faut les utiliser. FaĂźtes travailler les gens dans leur spĂ©cialitĂ©.
Un Ă©lĂ©ment essentiel dans le travail d’une Ă©quipe est le maintient de l’intĂ©rĂȘt. Notre travail n’est pas toujours passionnant, il est donc important de prendre du temps pour entreprendre. Peter nous cite quelques pratique d’entreprise :

  • ROWE – Result Only Work Environment, dans ces organisations le travail des Ă©quipes ne tient compte que du rĂ©sultat, pas du temps de travail.
  • 20% de temps libre de Google.
  • ShipIt Days Atlassian, 24 heures pour livrer un projet.

Si votre entreprise ne fait rien de tout ça, vous pouvez toujours organiser entre vous des brown bag lunch par exemple. Petit à petit, Peter égraine ses conseils pour le travail en équipe :

  • Invest in people, il faut investir sur les personnes, fournir du temps, des formations, etc.
  • Find your own incentives – Trouvez vos propres intĂ©rĂȘts.
  • Be a leader, Not a boss – Soyez un leader pas un chef. Que j’interprĂšte comme n’imposez pas les dĂ©cisions, le travail est toujours meilleur lorsque l’on est convaincu.
  • Strive for more than mediocrity – Trop souvent, les Ă©quipes visent les solutions les « moins pire », le message de Peter et de viser l’excellence. Si vous n’Ă©chouez pas, c’est que vous n’essayez pas assez.
  • Do the beer test – Peter nous parle de recrutement ou plutĂŽt d’identifier les personnes avec qui vous pouvez boire une biĂšre. Pour pouvoir travailler dans de bonnes condition, nous avons besoin de se sentir proche des autres, alors posez-vous la question:  est-ce que je prendrais une biĂšre avec lui/elle ?

C’est dĂ©jĂ  la fin de la prĂ©sentation qui clĂŽt cette premiĂšre journĂ©e Ă  la Geecon. J’ai vraiment aimĂ© ce slot. Les conseils sont bons et justes.

Il est temps pour moi de retourner Ă  l’hĂŽtel avant de passer Ă  la soirĂ©e Geecon organisĂ©e dans un bar de Cracovie.

Fin de journée

Pour conclure cette journĂ©e, voici ce que je retiendrais. Tout d’abord, il pleut. A la question, comment trouves-tu la Pologne ? Ma rĂ©ponse fut : « le pays est trĂšs vert ». Fort heureusement, la mĂ©tĂ©o n’est pas l’Ă©lĂ©ment essentiel.  Sur place, l’Ă©quipe d’organisation est trĂšs active. La machine est bien rodĂ©e pour cette sixiĂšme Ă©dition. Pendant les pauses dans le hall, il y a du monde mais suffisamment d’espace pour circuler. Par contre, les couloirs du cinĂ©ma sont trop petits pour la foule. Les 10 minutes de pause entre les prĂ©sentations ne sont pas de trop pour rĂ©ussir Ă  circuler. J’ai appris quelque chose Ă  chacune des prĂ©sentations, j’en sors avec soif de savoir et de biĂšre.

Catégories: Blog Société

[Session] Et si on maĂźtrisait vraiment notre produit, pour changer

Agile Nantes - lun, 06/02/2014 - 07:58

ATTENTION: Cet Ă©vĂ©nement aura lieu Ă  l’Epitech et non Ă  la Cantine NumĂ©rique comme prĂ©vu initialement.

Avec le temps, l’informatique nous a habituĂ© Ă  l’approximation. Les applications prĂ©sentent des dĂ©fauts, les performances ne sont pas au rendez vous, les rĂ©gressions sont courantes. Lorsque l’on regarde de l’autre cĂŽtĂ© de la barriĂšre, les Ă©quipes dĂ©ploient des efforts considĂ©rables pour garantir le bon fonctionnement mais les coĂ»ts de maintenance ne cessent d’augmenter.
Le produit ressemble bien souvent Ă  un assemblage de composants bricolĂ©s Ă  tel point qu’il arrive que l’on se demande par quel miracle l’application arrive Ă  fonctionner. Ce constat est navrant Ă  l’heure oĂč il existe une multitude de moyens pour reprendre le contrĂŽle de nos dĂ©veloppements.
Cette prĂ©sentation propose de mettre en lumiĂšre les difficultĂ©s rencontrĂ©es et les moyens d’y remĂ©dier Ă  travers des outils et des techniques Ă  notre disposition. Elle cherche Ă  progresser vers ce monde utopique oĂč le « bug » n’est plus la normalitĂ©.

Support de la prĂ©sentation (les explications peuvent ĂȘtre rĂ©cupĂ©rĂ©es en tĂ©lĂ©chargeant la prĂ©sentation sur SlideShare) :
Et si on maĂźtrisait vraiment notre produit from atnantes

 
SĂ©bastien Fauvel est rentrĂ© dans l’agilitĂ© il y a plus de 10 ans Ă  travers un projet en eXtreme Programming. Cette expĂ©rience a radicalement changer sa maniĂšre d’aborder le dĂ©veloppement logiciel. Depuis, il met en place les pratiques et diffuse la « philosophie agile ». En 2009, avec le groupe d’agilistes nantais, il participe Ă  la crĂ©ation de l’association Agile Nantes.

Quand et oĂč ?

OĂč: Epitech, 18 rue Flandres Dunkerque Ă  Nantes

Quand: mercredi 04 juin 2014, 19h-20h30

Faut il s’inscrire ? oui, c’est par ici.

N’hĂ©sitez pas Ă  transmettre l’information autour de vous.

Merci Ă  l’Epitech qui nous accueille.

Catégories: Association

Oui ? Non ? Pt’ĂȘt ben que oui, pt’ĂȘt ben que non

ekito people - dim, 06/01/2014 - 23:10

      TL;DR: 

AmĂ©liorer les messages d’alertes de @NAVIGON_ et @chronodrive

Amelioration-message-alerte-iOS-Chronodrive Amelioration-message-alerte-iOS-Navigon

http://ekito.fr/people/?p=4636

 

 

Quoi de plus énervant que de recevoir une réponse de Normand ? Devoir répondre à une question de Normand.
Et pourtant, les exemples dans les applications mobiles sont nombreux.

 

Dans ses guidelines, Apple a une section dédiée à ce sujet :

As much as possible, use verbs and verb phrases that relate directly to the alert text—for example, “Cancel,” “View All,” “Reply,” or “Ignore.” – source

en français : “utilisez des verbes pour les boutons des alertes”

Voici deux contre-exemples, avec une proposition de correctif.

 

Garmin et Chronodrive ont donné leur accord pour la publication de cet article. Nous les remercions de leur transparence.
Chronodrive fera Ă©voluer son application d’aprĂšs ces recommandations lors de la prochaine mise Ă  jour majeure !

 

1er exemple, l’excellente application Chronodrive.
Quand je veux supprimer un produit de ma liste intelligente, on me demande :

 

Chronodrive Non Oui

 

 

A ce moment, je viens de supprimer un produit via le bouton avec l’icĂŽne de poubelle. Je me doute bien que cet Ă©cran me demande de confirmer mon action.

Mais, est-ce que :

  • Non => Finalement Non je ne veux pas supprimer
  • Oui => Oui, vas y supprime

ou

  • Non => Non Je ne veux pas garder ce produit
  • Oui => Oui, finalement je veux le garder dans ma liste

Je suis obligĂ© de lire le texte de l’alerte pour savoir comment rĂ©pondre,

Et soyons rĂ©aliste, en tant qu’utilisateur, nous voulons aller vite et ne lisons pas l’intĂ©gralitĂ© des messages.

Tout ces moments d’ambiguitĂ© s’additionnent dans l’inconscient de l’utilisateur.
Un utilisateur qui sent qu’il va vite et est efficace se sent valorisĂ© (et intelligent)
 et du coup aime et recommande votre appli !

 

Remplaçons par des verbes d’action :

Chronodrive app iOS verbes actions

On constate qu’en remplaçant Oui et Non par les verbes Annuler et Supprimer, je n’ai mĂȘme plus besoin de lire le dialogue au dessus pour ĂȘtre sĂ»r de ma rĂ©ponse.

 

Au passage, raccourcissons le texte, cela le rendra encore plus lisible :

Chronodrive iOS message raccourci

 

Notre deuxiĂšme exemple est l’application de guidage GPS Navigon.

Ici, la question posée est un petit peu plus complexe. Malheureusement, la formulation rend la question trÚs peu claire.

 

Je vous laisse lire et essayer de comprendre ce que vous devez rĂ©pondre ; n’oubliez pas que vous ĂȘtes au volant et pressĂ© de vous rendre Ă  votre destination !

Il va de soit que nous dĂ©conseillons l’usage de smartphone au volant, et dĂ©clinons toute responsabilitĂ© en cas de collision avec un petit poney ; voir avec notre spĂ©cialiste sur ce sujet pour la jurisprudence en vigueur.

 

Navigon Non Oui

 

Le pire Ă©tant qu’aucune action de l’utilisateur ne dĂ©clenche l’affichage de cette alerte. Elle est prĂ©sentĂ©e automatiquement quand on veut dĂ©marrer une navigation sans avoir eu le temps de tĂ©lĂ©charger les fichiers de de guidage sonores.

Quiz du jour : Quel pourcentage d’automobilistes savent ce que veut dire l’acronyme WLAN ?

Ce message sera lu par une majoritĂ© des utilisateurs venant d’installer l’application
 pas gĂ©nial comme premier contact.

 

Remplacement par des verbes :

Navigon iOS verbes actions

 

La question est posĂ©e de maniĂšre interro-nĂ©gative “quand une connexion Wifi (WLAN) n’est pas disponible”, ce qui ne facilite pas la lecture.

Est-ce que les questions interro-négatives ne sont pas non compliquées à lire ? Hmmm


Idem, le texte descriptif est beaucoup trop long, donc mĂȘme traitement.

Au passage, on utilise le titre de l’alerte pour indiquer le contexte, et le texte pour donner les dĂ©tails nĂ©cessaires.

Navigon iOS Alerte avec titre

 

On progresse :)

Essayons de clarifier encore un peu en masquant les détails techniques. Donc au revoir la notion de fichiers.
Enfin, on simplifie encore un peu plus le texte, pour aller directement Ă  l’essentiel de la question :

Navigon-GPS-iOS-verbes-actions-pas-detail-technique

 

On finit notre processus itĂ©ratif avec une derniĂšre Ă©tape
  avec une entorse Ă  la rĂšgle juste Ă©noncĂ©e.
On avait masquĂ© la notion de fichiers, par contre nous allons ajouter la taille du fichier Ă  tĂ©lĂ©charger. En effet, un utilisateur normal a besoin de cette information pour se dĂ©cider. Quelques dizaines de MĂ©ga-octets, il sait qu’il peut essayer, plusieurs Giga-octets, il sait que ce n’est pas possible.

On en profite pour supprimer le mot maintenant, qui n’apporte pas d’info, et les parenthĂšses qui nuisent Ă  la lecture.

Navigon-iOS-avec-taille

 

Mise Ă  jour :

Laissez reposer. Montrez le autour de vous, de prĂ©fĂ©rence Ă  des gens non techniques. Puis continuez Ă  Ă©liminer tout ce qui n’est ni clair ni essentiel.
On continue les itérations, en simplifiant encore un peu plus.

Supprimer les alternatives prĂ©sentes dans le texte et les boutons. Ici “attendre une connexion WiFi“.
Le “voulez-vous” n’apporte aucune valeur contextuelle.

Navigon-iOS-verbes-actions-simplification

 

 

On compte dĂ©sormais sur vous pour simplifier les messages d’alertes de vos applis et utiliser des verbes pour les titres des boutons
 p’tĂȘt ben qu’oui, p’tĂȘt ben qu’non !

The post Oui ? Non ? Pt’ĂȘt ben que oui, pt’ĂȘt ben que non appeared first on ekito people.

Catégories: Blog Société

[ #ESPC14 ] TH10 Moving mountains with SharePoint !

Le blog de Patrick Guimonet - dim, 06/01/2014 - 10:30
This session was all about professional document management with SharePoint. It was presented by Oliver Wirkus  from Germany. Cette session avait pour thÚme la GED avec SharePoint. Elle tait présentée par O...
Catégories: Blog Individuel

Trade a supervisor for a book

You (1)

You are in a coaching position (of a person, or of a team, one or many).
You want to step back, especially about human aspects.
You want to go out of the circle of your regular colleagues.
You want to speak freely.
You want someone to help you to think, not a consultant or a teacher.
You want to improve your coaching by taking time to think about it.
YOU SHOULD CONSIDER GETTING A SUPERVISOR

You (2)

You are experienced with helping or coaching people.
You like to help people step back.
You like to meet people of other contexts.
You are a good listener.
You like the coaching relationship, and are able to refrain to giving advices.
YOU SHOULD CONSIDER BECOMING A SUPERVISOR

AsupervisorForABook.02

You will find more information and contact at : http://www.asupervisorforabook.org


Catégories: Blog Individuel

Troquez un superviseur en Ă©change d’un bouquin

Vous (1)

Vous ĂȘtes dans une situation de coaching (d’une personne, d’une Ă©quipe, de plusieurs Ă©quipes ou personnes).
Vous voulez prendre du recul, en particulier au sujet des aspects humains.
Vous voulez sortir de votre cercle de collĂšgues habituels.
Vous voulez pouvoir parler librement.
Vous voulez quelqu’un qui vous aide à penser, pas un consultant ou un professeur.
Vous voulez amĂ©liorer votre façon de coacher en pendant le temps d’y rĂ©flĂ©chir.

VOUS DEVRIEZ ENVISAGER DE PRENDRE UN SUPERVISEUR

Vous (2)

Vous avez de l’expĂ©rience dans l’art d’aider ou de coacher les gens.
Vous aimez aider les personnes Ă  prendre du recul.
Vous aidez rencontrer des personnes d’autres contextes.
Vous aimez Ă©couter.
Vous aimez la relation de coaching, et ĂȘtes capable de vous retenir de donner des conseils.

VOUS DEVRIEZ ENVISAGER DE DEVENIR SUPERVISEUR

AsupervisorForABook.02

Vous trouverez plus d’information et un moyen de nous contacter au http://www.unsuperviseurpourunbouquin.org


Catégories: Blog Individuel

Du monitoring Ă  la matiĂšre noire

J’ai participĂ© au Breizhcamp cette annĂ©e avec une prĂ©sentation sur le monitoring.

Au passage merci aux organisateurs pour cette Ă©dition 2014. Les confĂ©rences sont toujours l’occasion de discussions passionnĂ©es sur les sujets les plus chaud du moment et puis c’est cool finalement de pouvoir assister Ă  des confĂ©rences sans rien avoir Ă  faire. Bravo aussi Ă  l’initiative de faire un repas ouvert Ă  tous le jeudi soir. On a ainsi pu partager les discussions passionnĂ©es des speaker diners avec d’autres passionnĂ©s.

Le but ce cette prĂ©sentation est de revoir un peu nos idĂ©es reçues sur le monitoring. MĂȘme si le sujet n’est pas forcĂ©ment trĂšs hype, Lean et Devops changent notre vision des mesures et les outils BigData viennent Ă  notre secours.

La présentation se trouve là.

SĂ©bastien Brousse a twittĂ© sur une partie de la prĂ©sentation oĂč je fais un dĂ©tour par la matiĂšre noire. Je pense que le rapport avec le monitoring est peu Ă©vident sans les explications que j’ai donnĂ© de vive voix et le slide ne vous sera pas forcĂ©ment d’une grande aide.

Pour ceux qui n’Ă©taient lĂ  en attendant la vidĂ©o voici les explications et mĂȘme quelques infos supplĂ©mentaires.

Mais pourquoi la matiĂšre noire ?

Non, je n’ai pas changĂ© de mĂ©tier, la prĂ©sentation parlait bien de monitoring.

Tout d’abord il y a peu de femmes dans l’informatique et donc dans les confĂ©rences, et c’Ă©tait l’occasion d’avoir deux grandes dames avec nous, Margaret Burbidge et Vera Rubin, deux astrophysiciennes.

La premiÚre a imaginé le concept de matiÚre noire, la seconde a poursuivi les travaux et mis au point une méthode pour prouver son existence.

Nous on est n’est pas des astrophysiciens, je vais rester Ă  un niveau assez gĂ©nĂ©ral. Pour les dĂ©tails, sur la matiĂšre noire je vous renvoie Ă  Wikipedia.

Des galaxies prises en excĂšs de vitesse

Cette découverte a un rapport avec le monitoring parce que tout ça découle de problÚmes de mesure.

Les astronomes avait constatĂ© depuis longtemps que les galaxies spirales tournaient trop vite par rapport Ă  la masse qu’elles sont supposĂ©es avoir d’aprĂšs les mesures.

Plusieurs hypothĂšses ont Ă©tĂ© avancĂ©es pour expliquer cette bizarrerie en particulier l’imprĂ©cision des mesures.

Dans les annĂ©es 1970, Margaret Burbidge a refait les mesures avec toute la prĂ©cision des moyens de l’Ă©poque. Et lĂ , ça ne collait toujours pas.

PlutĂŽt que de remettre en cause les mesures, Margaret Burbidge a remis en cause le raisonnenment. Si la vitesse ne colle pas avec la masse, c’est que la masse n’est pas celle que l’on pense.

A cette Ă©poque on Ă©value la masse Ă  partir des objets que l’on peut observer au tĂ©lĂ©scope, donc ceux qu’on peut voir parce qu’ils Ă©mettent de la lumiĂšre. Par consĂ©quent, elle en a dĂ©duit qu’il y a dans les galaxies quelque chose qui a une masse mais que l’on ne voit pas parce que ça n’Ă©met pas de lumiĂšre. C’est le concept de matiĂšre noire.

Vera Rubin qui travaillait avec Margaret Burbidge a apportĂ© des Ă©lĂ©ments de preuve en mettant au point une mĂ©thode de calcul de la masse basĂ©e sur l’influence gravitationnelle de la galaxie sur son environnement, ce qu’on appelle la masse dynamique. A la diffĂ©rence de la masse lumineuse, la masse dynamique est compatible avec la vitesse de rotation des galaxie spirales. Et la masse dynamique basĂ©e directement sur l’effet de la masse n’a pas de raison d’ĂȘtre fausse, ce qui justifie qu’il y a un Ă©lĂ©ment non visible ayant une masse.

Bon, d’accord mais moi je mesure des requĂȘtes HTTP

Ok, nous on ne mesure pas des galaxies, mais mĂȘme si on peut parfois regarder le serveur, enfin la boĂźte, finalement ce qu’on mesure est tout aussi peu visualisable.

Cette histoire montre que c’est important de mesurer de la bonne maniĂšre.

Si on mesure des effets indirects, on est dĂ©pendant d’un modĂšle. Ce modĂšle c’est l’idĂ©e qu’on se fait du fonctionnement du systĂšme et il peut ĂȘtre faux.

Dans un certain nombre de cas, cette mesure indirecte marche, par exemple la masse lumineuse convient pour les objets trÚs lumineux comme les étoiles. Mais de temps en temps, ça ne marche pas.

Bien sĂ»r, on n’a pas toujours la possibilitĂ© de mesurer l’effet direct, et de temps en temps on doit se baser sur une mesure indirecte parce que c’est plus abordable. Dans ce cas il faut rester vigilant, et savoir remettre en cause le modĂšle qu’on se fait du systĂšme.

Notre matiĂšre noire

Qu’est ce que c’est notre matiĂšre noire Ă  nous les informaticiens ?

Ce sont les caches, les buffers, les load balancers, les heuristiques sur les files d’attente, les optimisations de JVM, tout un tas de mĂ©canismes internes au systĂšme qui le rendent plus performant, mais qui font aussi que certaines de nos mesures ont un comportement erratique ou n’ont plus de sens dans certaines situations.

Au final, mesurer correctement les performances d’un systĂšme ou d’une application informatiques est une activitĂ© qui rĂ©serve toujours des surprises. On ne peut pas se contenter de poser des sondes au petit bonheur la chance sans comprendre ce qu’on fait. Il faut comprendre le systĂšme et comment il fonctionne pour le mesure correctement.

On a un peu plus de chances, en cas de doute on peut souvent se reporter à la documentation (quoique à la réflexion pas toujours) ou demander au développeur (enfin des fois 
 ).

Mais par contre, un cache c’est beaucoup moins beau sur les photos qu’une galaxie spirale.

Les images proviennent toutes de la galerie d’images de la Nasa.


Catégories: Blog Individuel

[ #ESPC14 ] T10 Delivering SharePoint as a Service & TH25 Building an operational SharePoint Governance Practice

Le blog de Patrick Guimonet - sam, 05/31/2014 - 07:55
After following the pre-conference on Governance Service Delivery by Dan Holme , I was curious to follow these two sessions on Governance and Service Delivery by Anders B. SkjĂžnaa from Denmark. AprĂšs avoir ...
Catégories: Blog Individuel

Theme Press VS RefinedWiki : which tool to customise Confluence ?

Le blog de Valiantys - ven, 05/30/2014 - 16:05

If you are used to customise Confluence, the must-have “theming” add-on RefinedWiki must sound familiar. RefinedWiki offers a wide range of possibilities but its standard themes don’t necessarily fit your business needs. In this article, I propose you to discover a newborn add-on in the world of Confluence customisation: Theme Press, which deals with these limitations effectively. Thus we will go through this new […]

The post Theme Press VS RefinedWiki : which tool to customise Confluence ? appeared first on Valiantys Blog.

Catégories: Blog Société

Big data : quelques mythes

Chez mon coiffeur, posĂ© sur la table basse, un de ces magazines masculins branchĂ©s avec un mannequin en couverture, et la promesse d’apprendre comment Ă©viter les 10 erreurs classiques lorsqu’on porte une cravate. J’ouvre par hasard la page 34 : “La rĂ©volution Big Data”.

 

 Big-Data-Meme

Le sujet continue de prendre de l’ampleur, et en particulier auprùs du grand public, ce qui a pour effet d’agacer beaucoup de monde. Chaque succùs trouve sa critique


On peut lĂ©gitimement se demander comment le public parvient Ă  comprendre le Big Data. Entre les journalistes simplificateurs, les aigris agacĂ©s par l’utilisation du terme et les vendeurs qui promettent des miracles, pas facile de s’y retrouver. Je vais essayer dans cet article de dĂ©monter quelques mythes et de redĂ©finir le terme.

 

Big Data = Big Brother

Ce clichĂ© est un vĂ©ritable ennemi public. Non, je ne travaille pas Ă  la NSA et non je ne fais pas l’utilisation frauduleuse de vos donnĂ©es personnelles!

Quest-ce que Big Data?

 

  1.  Un phĂ©nomĂšne culturel et technologique Ă  l’origine d’une accumulation exponentielle des donnĂ©es dans nos systĂšmes d’informations. Nous partageons, communiquons et produisons de la donnĂ©e de plus en plus, tout le temps et partout.
  2. Une amélioration des infrastructures, des technologies et des méthodes statistiques pour analyser massivement ces données.
  3. Le constat qu’au vu de la quantitĂ© de donnĂ©es produites, la masse cĂ©rĂ©brale humaine mondiale ne sera pas en mesure de tout analyser. D’oĂč l’importance de la Datascience, du machine learning et de l’Intelligence Artificielle pour transformer de façon automatisĂ©e cet ocĂ©an de donnĂ©es en informations, ou mieux, en savoirs.

Les phĂ©nomĂšnes n’ont pas d’inclination morale. Pas plus que les outils ou les technologies. L’analyse de donnĂ©es a toujours existĂ©. La constitution de fichiers de renseignements aussi. Les applications du Big Data concernent avant tout l’amĂ©lioration des services de santĂ©, l’optimisation et la rĂ©duction de la consommation d’énergie (smart metering, smart city), l’amĂ©lioration de notre expĂ©rience utilisateur, le partage de la connaissance humaine, la lutte contre la fraude bancaire, l’open data et l’idĂ©e de transparence


 

Big Data = Hadoop

 hadoopbigdata

 

Oui, Hadoop et son Ă©cosystĂšme forment un acteur majeur et un outil incroyablement riche. Cependant, son utilitĂ© et son rĂŽle sont souvent mal compris. Hadoop ne remplace pas le Datawarehouse. Hadoop n’est pas originalement prĂ©vu pour rĂ©aliser du reqĂ»etage intĂ©ractif mais du traitement batch massif et hyper performant. Hadoop n’est pas destinĂ© Ă  servir du reporting Ă  des utilisateurs finaux en dessous de la milliseconde. Hadoop n’est pas fait pour le traitement de flux en temps rĂ©el.

C’est pour cette raison que des distributions telles qu’Hortonworks se sont enrichies avec de nombreux autres projets comme HBase, Solr, Storm. Pour comprendre Hadoop il faut s’intĂ©resser aux patterns d’utilisation et d’accĂšs de la donnĂ©e. De quoi avons nous besoin?

  • Faire des scans complets de ma donnĂ©e pour calculer des agrĂ©gations, des indicateurs → Map Reduce, Hive, Pig
  • Stocker de grandes quantitĂ©s de donnĂ©es dans un format permettant de requĂȘter un objet spĂ©cifique instantanĂ©ment → Hbase
  • Traiter des donnĂ©es en flux avec des latences minimes et de grand volumes→ Storm
  • Analyser ou indexer des documents texte → Solr, ElasticSearch
  • EntraĂźner des modĂšles prĂ©dictifs par apprentissage → Mahout, H20

En fait cet écosystÚme tire sa puissance dans sa capacité à atomiser et distribuer sur plusieurs machines ce que les bases de données traditionnelles essaient de faire seules :

  • Indexation
  • TransactionnalitĂ©
  • Latence faible / requĂȘtage intĂ©ractif
  • Full scan / Calculs d’agrĂ©gations
  • Multi-tenancy

Il ne faut pas voir Hadoop comme une solution miracle, mais comme un assemblage complexe de solutions hĂ©tĂ©rogĂšnes adressant des use cases et patterns d’accĂšs variĂ©s :

 

patternsHadoop

 

Enfin, Big Data ne concerne pas uniquement le traitement massif de donnĂ©es, mais leur exploitation au travers de mĂ©thodes statistiques sophistiquĂ©es, et en particulier grĂące au machine learning! Il faut bien avouer qu’Hadoop manque encore de maturitĂ© Ă  ce sujet tant au niveau de Mahout, qu’au niveau des connecteurs Ă  R ou Python qui ne permettent pas rĂ©ellement de distribuer les algorithmes. D’ailleurs en dessous du TĂ©ra, voire plus, on peut s’en tirer avec un peu de bonne volontĂ© sans Hadoop grĂące Ă  postgres SQL et Python Pandas! On parle mĂȘme de “small data”


 

Big Data = Grands Volumes de données

Non! Nous venons bien de voir la complexitĂ© du problĂšme Ă  traiter avec les patterns d’accĂšs.

Big Data = Volume, Vélocité, Variété?

C’est dĂ©jĂ  mieux. Mais la partie la plus intĂ©ressante rĂ©side dans la conjonction entre l’analytique et le florilĂšge de donnĂ©es dont nous disposons. Big Data ne doit pas ĂȘtre un sujet IT, mais adresser des use-cases et des enjeux business. Trop d’entreprises portent comme initiative Big Data l’installation d’un cluster Hadoop. Par ailleurs, trois compĂ©tences sont gĂ©nĂ©ralement nĂ©cessaires pour mener Ă  bien un projet de datascience, et elles ne se limitent pas Ă  l’IT :

 

datasciencevenn

Big data = unstructured data

On parle beaucoup de la donnĂ©e non structurĂ©e et de la capacitĂ© des technologies Big Data. Pour ĂȘtre sincĂšre, accordons nous d’abord sur le fait qu’en dehors des entreprises spĂ©cialisĂ©es dans le mĂ©dia, la majoritĂ© de la donnĂ©e qui nous incombe est structurĂ©e (des tables, des champs, des colonnes, des lignes, des dates). Dans le reste, on peut imputer une bonne part au texte libre. Pour finir? Une minoritĂ© de vidĂ©os, d’images, de fichiers sons. Ces donnĂ©es sont moins structurĂ©es mais possĂšdent toujours des formats, plus ou moins unifiĂ©s. Il vaudrait en rĂ©alitĂ© mieux parler de multi-structure. Big data n’a pas de maniĂšre intelligente de traiter avec cette hĂ©tĂ©rogĂ©nĂ©itĂ© sinon de dire : “load first, model second”. Donc modĂ©liser la donnĂ©e aprĂšs chargement, si c’est nĂ©cessaire.

D’ailleurs, les gens du marketing adressent depuis des annĂ©es cette problĂ©matique de l’hĂ©tĂ©rogĂ©nĂ©itĂ© des formats. En revanche, les outils liĂ©s au search permettent de grandement simplifier l’utilisation de donnĂ©es faiblement structurĂ©es, et les mĂ©thodes pour traiter ces diffĂ©rents formats se sont unifiĂ©es (Apache Tika en est un exemple).

Enfin, il y a un plancher Ă  dĂ©passer en dessous duquel il est trĂšs complexe d’analyser Ă  moindres coĂ»ts des donnĂ©es vidĂ©o, son, image ou texte libre.

 

Big data = analyser les rĂ©seaux sociaux et faire de l’analyse de sentiments

“Nous allons analyser Twitter et prĂ©dire la bourse”.

Vous ĂȘtes sĂ»rs? Je conseillerais plutĂŽt d’essayer l’inverse, cela marchera sĂ»rement mieux.

Analyser des donnĂ©es des rĂ©seaux sociaux peut ĂȘtre trĂšs intĂ©ressant mais reste complexe, et souvent inapplicable/inintĂ©ressant pour un grand nombre de business. L’usage principal restant Ă©tant l’analyse de l’e-rĂ©putation.

Les donnĂ©es internes Ă  l’entreprise sont dĂ©jĂ  bien souvent une mine d’or inexploitĂ©e qui se contente de Business Intelligence traditionnelle. Un premier pas serait de transcender le reporting multidimensionnel et parvenir Ă  de l’analyse prĂ©dictive ou non supervisĂ©e afin de dĂ©tecter des signaux faibles.

 

Oui, ce papier d’humeur est truffĂ© de partis pris. Pour autant Big data est un sujet en pleine Hype et pour lequel il faut redoubler de mĂ©fiance envers les prĂ©dicateurs de bonne paroles, les gourous et les vendeurs de tapis. Certains mythes affectent en mal la vie des projets, conduisant Ă  une vision nĂ©gative et erronĂ©e. Le potentiel avantage Ă©conomique liĂ© au Big Data doit ĂȘtre Ă©tudiĂ© avec discernement, et dirigĂ© par la vision business. Les investissement doivent ĂȘtre pilotĂ©s et pensĂ©s plus globalement au travers du dĂ©veloppement digital de l’entreprise en rĂ©pondant Ă  des besoins mĂ©tiers prĂ©cis.

 

Suggestion d'articles :

  1. EasyMock: Mythes et réalités
  2. Teradata & Cloudera : partenariat autour de Data Warehousing et de Hadoop
  3. HDInsight : Le Big Data selon Microsoft

Catégories: Blog Société

Agile : l'avenir est politique

Être Agile - Thierry Cros - ven, 05/30/2014 - 08:54

Depuis le début des années 2000, ce qui est désigné par agile est en expansion. Si dans un premier temps - et sous l'égide de l'Extreme Programming - les bases étaient posées dans la communauté des Développeurs, il restait encore à embarquer l'IT dans son ensemble, au-delà l'organisation... IT ou pas. Nous en sommes à ces prémices.

Lire la suite

Catégories: Blog Individuel

Il était une fois un projet IT en Kanban (Episode 6) : Suivre les adhérences externes

Cet article fait partie d’une sĂ©rie intitulĂ©e « Il Ă©tait une fois un projet IT en Kanban », dĂ©butĂ©e en 2013 et dĂ©crivant les diffĂ©rentes Ă©tapes de l’accompagnement d’un grand groupe vers une transformation Agile Ă  grande Ă©chelle, basĂ©e sur la mise en place d’un systĂšme kanban.

Les épisodes précédents :

Ce sixiĂšme Ă©pisode est l’occasion de mettre en avant un sujet rĂ©current, sur les projets agile que j’accompagne habituellement : comment peut-on gĂ©rer les adhĂ©rences (nommĂ©es Ă©galement contributions) avec des Ă©quipes externes, agile ou non.

Qu’est-ce qu’une adhĂ©rence externe ou contribution ?

Un adhĂ©rence externe reprĂ©sente le dĂ©veloppement d’une activitĂ© (story) fonctionnelle ou technique, nĂ©cessaire au bon fonctionnement d’un produit et dont la rĂ©alisation est effectuĂ©e par une autre Ă©quipe que celle intervenant sur le projet.

Nombre de projets/Ă©quipes agiles sont confrontĂ©s Ă  cette problĂ©matique d’ĂȘtre en attente de livraison d’un ou plusieurs composants, par une autre entitĂ©, sans avoir la moindre visibilitĂ© sur leur date de livraison et leur avancement.

Comment avons-nous gĂ©rĂ© les contributions sur notre projet ? Etant donnĂ© (État des lieux et analyse)


Dans le cas de notre projet, l’adhĂ©rence identifiĂ©e portait sur la partie Ă©dition de contrats, dont le dĂ©veloppement Ă©tait gĂ©rĂ© par une entitĂ© externe, que nous nommerons dans la suite Équipe Alpha. La mĂ©thode de gestion de projet mise en Ɠuvre par cette entitĂ© est le cycle en V, avec des dĂ©veloppements en offshore.

L’Ă©quipe kanban Ă©tait, quant Ă  elle, composĂ©e d’un Product Owner, d’un Proxy Product Owner (lĂ , je sens que ça va troller), d’une personne en charge de la rĂ©daction et du passage des cas de test et d’une Ă©quipe de dĂ©veloppement de 4 personnes.

Cette contribution a Ă©tĂ© identifiĂ©e, dĂšs le lancement de la dĂ©marche kanban, comme un obstacle ou tout du moins un risque sur la capacitĂ© de l’Ă©quipe projet Ă  tenir son engagement de livraison Ă  la date prĂ©vue. Ce sujet a donc Ă©tĂ© traitĂ©, via une fiche kaizen et un kata, pour aboutir Ă  un A3 dĂ©crivant les actions Ă  mettre en Ɠuvre (voir les articles de l’Ă©pisode 5 pour plus de dĂ©tails sur la gestion des obstacles).

La premiĂšre Ă©tape a Ă©tĂ© de prendre contact avec l’Ă©quipe Alpha, afin de lui prĂ©senter la dĂ©marche kanban, mise en Ɠuvre sur le projet, la roadmap et les objectifs de l’Ă©quipe projet. Cela a Ă©galement Ă©tĂ© l’occasion de revoir le mode de fonctionnement de l’Ă©quipe Alpha :

  1. Une demande de dĂ©veloppement est rĂ©alisĂ©e via la rĂ©daction d’une expression de besoin dĂ©taillĂ©e ;
  2. Un devis est rĂ©alisĂ©, ainsi qu’une proposition de planning de livraison ;
  3. Les développements sont réalisés par une équipe offshore ;
  4. La livraison est effectuĂ©e Ă  la fin de la phase de codage et de tests unitaire, pour les tests d’intĂ©gration.

Nous avons ensuite Ă©tudiĂ© la possibilitĂ©, pour l’Ă©quipe Alpha, de se rĂ©organiser en mode agile. Au vu des dĂ©lais courts du projet et de la relation contractuelle avec l’Ă©quipe de dĂ©veloppement offshore, cette solution n’a pas Ă©tĂ© retenue.

Lorsque (Actions mises en oeuvre) … Etape 1 – De l’expression de besoin aux cartes kanban

La premiĂšre action mise en Ɠuvre, a Ă©tĂ© d’identifier un « Agent de liaison » (faut vraiment que j’arrĂȘte de regarder NCIS) entre l’Ă©quipe kanban et l’Ă©quipe Alpha, ayant en charge la rĂ©daction de l’expression de besoin et la relation entre les deux Ă©quipes. Une autre activitĂ© essentielle, que cet « Agent de liaison » a eue, a Ă©tĂ© de dĂ©couper l’expression de besoin, sous forme de fonctionnalitĂ©, de type story.

Ces stories ont ensuite été écrites sur des cartes kanban dédiées :

kanban

Etape 2 – Rendre visuel les adhĂ©rences

AprĂšs avoir identifiĂ© nos cartes kanban d’adhĂ©rence, nous avons crĂ©Ă© un tableau de suivi de leur rĂ©alisation, Ă  cĂŽtĂ© du Management visuel de l’Ă©quipe kanban.
kanban
À ce stade, nous pouvons suivre l’ensemble des sujets en adhĂ©rence avec notre projet. NĂ©anmoins, comment connaitre les impacts de ces adhĂ©rences sur les users stories de l’Ă©quipe kanban ?

Etape 3 – Lier les adhĂ©rences aux user stories et aux MMF

Lors du dĂ©coupage de l’expression de besoin, en carte kanban d’adhĂ©rence, l’Ă©quipe kanban a constatĂ© que certaines user stories ne pourraient pas ĂȘtre totalement validĂ©es, sans la livraison par l’Ă©quipe Alpha d’une fonctionnalitĂ©. Le risque Ă©tait donc de se retrouver avec des stories dĂ©veloppĂ©es, mais non testables, ce qui aurait eu pour consĂ©quence une perturbation du systĂšme kanban, la gĂ©nĂ©ration de goulet d’Ă©tranglement et une perte de la prĂ©dictibilitĂ© de notre systĂšme.
Pour Ă©viter que ce risque ne se produise, nous avons mis en place le processus suivant :

  • Ajout, dans le systĂšme kanban, d’une Ă©tape (buffer) d’attente des stories. Les stories restent en attente jusqu’Ă  ce que l’Ă©quipe kanban ait une visibilitĂ© fiable sur la date de livraison d’une adhĂ©rence Ă  laquelle elles sont liĂ©es. DĂšs que cette confirmation est donnĂ©e, la story peut ĂȘtre tirĂ©e dans la phase de dĂ©veloppement et ensuite ĂȘtre testĂ©e avec son adhĂ©rence.
  • Ajout d’un identifiant visuel unique (pictogramme) entre une adhĂ©rence et la ou les stories auxquelles elle est liĂ©e. Cela nous a permis, d’un simple coup d’Ɠil, de visualiser les liens entre les stories et les adhĂ©rences et de mieux gĂ©rer la priorisation. Pour les adhĂ©rences n’Ă©tant liĂ©es Ă  aucune story, mais uniquement Ă  la MMF (Minimal Marketable Feature), aucun identifiant n’est affichĂ©.

kanban

Etape 4 – L’Ă©quipe Alpha en Guest Star des Daily Meeting

L’ensemble du suivi de l’avancement a Ă©tĂ© effectuĂ© par notre « Agent de liaison », qui Ă©tait en contact direct avec l’Ă©quipe Alpha. Mais cela n’a pas Ă©tĂ© suffisant pour garantir une efficience de notre processus et garantir une livraison des composants aux Ă©chĂ©ances prĂ©vues.

Nous avons donc, tout simplement, invitĂ© le responsable de l’Ă©quipe Alpha sur ce projet, Ă  nos daily meeting (rĂ©union d’Ă©quipe quotidienne). Cela a permis d’instaurer une communication de partenariat, une confiance mutuelle et de sensibiliser au quotidien notre partenaire sur nos attentes/prioritĂ©s.

Alors (RĂ©sultat)


Alors ? Eh bien, l’ensemble des fonctionnalitĂ©s que nous attendions de l’Ă©quipe Alpha a Ă©tĂ© livrĂ© dans les dĂ©lais prĂ©vus, avec un niveau de qualitĂ© trĂšs satisfaisant. Le plus a Ă©tĂ© que le processus mis en Ɠuvre a Ă©galement permis de faire disparaitre l’effet tunnel, avec une livraison des composants au fil de l’eau et une forte rĂ©activitĂ© de l’Ă©quipe Alpha dans l’ajustement des prioritĂ©s.

Un facteur, qui Ă©tait Ă  l’origine identifiĂ© comme un obstacle majeur du projet, a au contraire permis de rendre notre systĂšme kanban plus efficient et prĂ©dictible, sans oublier la tenue de ses promesses par l’Ă©quipe projet. Cela a Ă©galement gĂ©nĂ©rĂ© une meilleure communication entre des Ă©quipes distantes et appartenant Ă  des organisations diffĂ©rentes.

L’aspect humain, l’implication et la motivation des Ă©quipes partenaires a Ă©galement Ă©tĂ© un facteur dĂ©terminant dans la rĂ©ussite de ce processus.

Take Away (Allez plus loin)

Bien entendu, ce processus est aussi applicable lorsque votre systĂšme kanban est en adhĂ©rence avec plusieurs Ă©quipes. Votre tableau de suivi peut alors ĂȘtre dĂ©coupĂ© en « ligne d’eau », dont chacune reprĂ©sentera une Ă©quipe contributrice. Cela nĂ©cessitera Ă©galement la mise en Ɠuvre d’une instance de coordination entre ces contributeurs et le systĂšme kanban.

kanban

Vous pouvez Ă©galement lire l’excellent livre de Laurent Morisseau « Kanban pour l’IT », dont la quatriĂšme partie aborde ce sujet de liens entre Ă©quipes projets, au travers d’un rĂ©seau de systĂšmes kanban (page 230).

Catégories: Blog Société

[ #ESPC14 ] TH4 PowerBI and SharePoint Online / Martina Grom

Le blog de Patrick Guimonet - jeu, 05/29/2014 - 16:01
This session was presented by Martina Grom ( @magrom ) and was about Analytics on and with Office 365 data. Cette session Ă©tait prĂ©sentĂ©e Martina Grom ( @magrom ) et abordait l’Analyse des donnĂ©es dans et a...
Catégories: Blog Individuel

Notes sur l’Agile ConfĂ©rence 2014

Barre Verte ! - mer, 05/28/2014 - 21:13

Ça se passait les jeudi-vendredi 22 et 23 mai toujours au chalet de la porte jaune. Cette annĂ©e, la confĂ©rence suivait au moins 2 fils. L’un explicite « le fil rouge », activitĂ© de mĂ©diation graphique omniprĂ©sente et l’autre en trame, avec une rĂ©sonance entre la keynote de RĂ©gis MĂ©dina sur le produit lean et les sessions qui ont suivi.

L’aprĂšs-XP pour du dĂ©veloppement produit

Avis de non-responsabilitĂ© : pratiquant l’XP depuis 7 ans, en partie avec Antoine C, et travaillant avec David B, membre de l’Ă©quipe d’organisation les propos suivants sont Ă©ventuellement subjectifs ;)

Cette keynote Ă©tait une bonne introduction, une synthĂšse construite autour de l’expĂ©rience de RĂ©gis parti de l’extreme programming pour faire du lean. Ce ne sont plus des pratiques lean (les liens ci-dessous) qui sont expliquĂ©es mais l’utilisation de ces pratiques au service d’un nouveau modĂšle de gestion du systĂšme de production logicielle. Le marchĂ© a changĂ©, l’open source, les plate-formes de tĂ©lĂ©chargement (apple store, android store…), les Ă©diteurs, mettent en compĂ©tition Ă©normĂ©ment d’acteurs. Pour sortir du lot, il faut crĂ©er un effet « whaoo!! ».

Pour cela, il revient sur la mĂ©taphore artistique : il faut un rĂ©alisateur, comme pour un film. Quelqu’un qui ait

  • la vision pour positionner le challenge : trouver le segment d’utilisateur ciblĂ©, les paramĂštres clĂ©s du logiciel (par ex pour google chrome, la vitesse), et les points durs Ă  solutionner. Le gemba ou go and see, est un bon moyen d’identifier ces 3 parties du concept.
  • l’encadrement pour cultiver le dĂ©saccord : le consensus rapide que promeut l’agilitĂ© est Ă©galement source de re-travail (rework). Pour crĂ©er l’alignement, le set based design assure une discussion basĂ©e sur des faits. Le management visuel fournit des modĂšles pour animer la collaboration, propose une vision partagĂ©e du produit.
  • l’exigence de dĂ©nicher les erreurs : des revues de design permettent de crĂ©er le challenge nĂ©cessaire Ă  l’affinage de la vision. L’ouverture des vannes de retour utilisateur gĂ©nĂšre une source de rĂ©solution de problĂšme par PDCA.

IMGP6867

BenoĂźt Charles-Lavauzelle qui nous expliquait ensuite « Comment impliquer vos clients dans leurs projets », Ă©tait en parfaite continuitĂ© avec cette keynote. Il nous relatait sous format PDCA les problĂšmes, hypothĂšses, actions et leçons apprises au niveau de la gouvernance de leur sociĂ©tĂ©. Au cƓur de la dĂ©marche Ă©tait remis en cause le type de contrat au forfait. Mais comment faire accepter des contrats au temps passĂ© Ă  des clients qui choisissent (lorsqu’ils ont le choix) systĂ©matiquement le forfait ? BenoĂźt a un dĂ©clic lorsque l’un de ses clients qui lui dit « les experts c’est vous ». Ils dĂ©cident alors de vendre le temps passĂ© en invoquant :

  • leur vitesse de dĂ©veloppement. Le plus grand dĂ©fenseur du cycle en V sait que la vitesse n’est pas la force de ce type de mĂ©thode.
  • les dĂ©passements dĂ©jĂ  subis par les prospects. Ces derniers conviennent que le risque existe aussi dans ce contrat
  • le risque du temps passĂ© est partagĂ© contrairement Ă  l’argument des avocats du forfait : ThĂ©odo peut avoir des dĂ©veloppeurs en inter-contrat du jour au lendemain si le contrat est dĂ©noncĂ©, et le client rĂ©cupĂšre le code
  • leur grande expertise technique dans un marchĂ© de niche (dĂ©veloppement web PHP-symfony)

Et ça marche!

Ils mettent en place des questionnaires de satisfaction client Ă  chaque sprint avec un objectif de 8/10. Chaque Ă©cart est vu comme un problĂšme qui conduit Ă  un PDCA. Ils font participer le client au planning-poker (avec un vote). Ils envoient un mail quotidien aprĂšs chaque daily, contenant le burndown et le board virtuel Trello. Ils partagent la vision avec des boards physiques dans les Ă©quipes. De cette maniĂšre ils proposent Ă  leur client de devenir pilote de la voiture de course qu’est ThĂ©odo. Il pilote les choix fonctionnels et budgĂ©taires.

Bien sĂ»r, la session sur la rĂ©trospective continue par Antoine Contal et RĂ©gis MĂ©dina enfonçait le clou. Ils Ă©voquent les difficultĂ©s de l’amĂ©lioration continue et introduisent en prĂ©cisant que la solution n’est pas dans la rĂ©trospective mais Ă  l’extĂ©rieur : un nouveau dĂ©fi. Pour cela ils proposent de crĂ©er un environnement propice Ă  l’apprentissage, et dĂ©cider qui doit apprendre quoi pour que le format ne soit plus un soucis. Comment ?

  • En dĂ©finissant le challenge de façon mesurable en terme de qualitĂ©, dĂ©lais et productivitĂ©. En se basant sur l’idĂ©e de prospĂ©ritĂ© mutuelle, le gemba permet d’aller voir sur le terrain le problĂšme que cherche Ă  rĂ©soudre le client, comment il se traduit en euros sonnants et trĂ©buchants, en stratĂ©gie pour ses Ă©quipes. L’Ă©coute des Ă©quipes permet de conserver les talents, et on itĂšre sur le gemba
  • en rendant ce challenge visuel : montrer Ă  tous la dĂ©clinaison du challenge sur les murs. Les tĂąches quotidiennes doivent participer Ă  l’atteinte du challenge
  • en animant les exercices de kaizen (amĂ©lioration de chacun). Un problĂšme opĂ©rationnel (ex: le temps de rĂ©solution des bugs est trop important), est dĂ©clinĂ© en plusieurs PDCA qui sont pris en charge par des dĂ©veloppeurs. Par exemple ce temps de rĂ©solution de bug est Ă©levĂ© car les logs applicatives ne sont pas pertinentes. Un dĂ©veloppeur devient alors M. Logs en prenant le sujet avec l’aide d’une ou 2 autres personnes. Il devient expert dans le domaine et peut ensuite retransmettre son expertise aux autres personnes de l’Ă©quipe.

L’intervention du Thibaud BriĂšre le soir, sur l’intelligence collective, proposait de favoriser la diversitĂ© pour pouvoir bĂ©nĂ©ficier des Ă©carts entre les opinions exprimĂ©es, et trouver des nouveaux chemins. Cultivons l’impertinence. La remarque d’un participant sur l’alignement des desseins me fait aussi penser Ă  la congruence de G. Weinberg.

IMGP6900

La keynote du vendredi Ă©tait faite du mĂȘme bois, Rachel Davies nous explique l’organisation de sa sociĂ©tĂ© qui a poussĂ© l’extreme programming bien plus loin que ce que dĂ©crit la littĂ©rature. Et pour cause, Matt Cooke, le directeur technique est un expert XP depuis plus de 10 ans. Leur challenge c’est crĂ©er plus de valeur en rapprochant les opĂ©rationnels de l’expression du besoin, du mĂ©tier, des utilisateurs. Les dĂ©veloppeurs sont organisĂ©s en petites Ă©quipes de 3-4 personnes. Ils Ă©crivent les stories, font du support, ils fonctionnent en flux tirĂ©, font du set based design, chaque story a un leader. AprĂšs le dĂ©jeuner, c’est « story time » un moment pendant lequel ils explorent le besoin avec les gens du mĂ©tier. Pour les « impairs » ils ont mis en place un rĂŽle de « lone rangers« , ils sont disponibles pour la corrections de dĂ©fauts, ou rĂ©pondre aux questions fonctionnelles.

Enfin, Bernard Notoriani nous relate avec Guillaume Nurdin leur expĂ©rience de Dojo et Mob programming. Ou comment ils ont relevĂ© le challenge de la refonte d’une application financiĂšre avec une Ă©quipe rĂ©partie entre l’Espagne, La Belgique, l’Italie et la France contenant 4 experts fonctionnels, 5 dĂ©veloppeurs et un coach XP.

Ils mettent d’abord en place des Dojo-DĂ©veloppements pour faire monter en compĂ©tence les dĂ©veloppeurs dĂ©butants. 2 fois par semaine, 2h, avec une prĂ©paration minutieuse. AprĂšs avoir montrĂ© un geste (ex un CRUD), ils font rĂ©pĂ©ter le mĂȘme geste Ă  chacun d’entre eux. Puis vient l’idĂ©e du Mobprogramming c’est un poste de dĂ©veloppement, une Ă©quipe de 4-6 personnes avec un PO, des rotations tous les 1/4h derriĂšre le poste et un rĂ©troprojecteur pour que tout le monde puisse suivre. Leur implĂ©mentation est diffĂ©rente pour des raisons logistiques, ils essayent 1/2j par semaine ou 1j par semaine en sous Ă©quipe, sur les sujets complexes de l’application sans PO (pas facilement disponibles et Ă©loignĂ©s).

Ils dĂ©clinent ensuite sous forme de Requirement-Mob pendant lequel ils itĂšrent sur les spĂ©cifications. AprĂšs avoir Ă©chouĂ© Ă  travailler depuis le format FitNesse, ils utilisent un template word accompagnĂ© Ă©ventuellement d’une feuille de calcul excel. Ils dĂ©crivent les scĂ©narii (Tests d’acceptance) de l’application et incorporent les tests dans leur wiki FitNesse.

Une inconférence dans la conférence

IMGP6884

Un grand bol d’air avec un jeudi aprĂšs midi consacrĂ© Ă  une parenthĂšse d’inconfĂ©rence. La pluie s’est calmĂ©e, et a fait place Ă  de belles Ă©claircies, permettant des sessions en plein air. Bien sĂ»r il y avait un peu d’Ă©go-trip dans certaines propositions. Mais nous avons pu parler de ce qui fait qu’une Ă©quipe est agile, jouer avec l’ableton push de Guillaume Saint Etienne, parler du buzz du moment le TDD (ou plutĂŽt Requirement Driven Developpment) avec Étienne Charignon.

Dans un esprit trĂšs Agile Open (en session de la confĂ©rence) nous avons pu voir du coding live, grĂące Ă  Emmanuel Gaillot, qui nous a montrĂ© qu’on pouvait faire du TDD avec… de l’assembleur (i386 je crois). TrĂšs agrĂ©able de voir la progression mĂ©thodique et rĂ©guliĂšre qui ne laisse personne au bord du chemin sur un sujet aussi difficile qu’inhabituel.

Le format court et rapide des sessions du vendredi aprĂšs-midi dans la salle plĂ©niĂšre Ă©tait Ă©galement divertissant, avec notamment la belle prĂ©sentation de Matti Schneider sur Petit Board Deviendra Grand, ou comment faire de l’amĂ©lioration continue par les artefacts, en faisant Ă©voluer son management visuel pour qu’il modĂ©lise le systĂšme de production. Comme le modĂšle est moins complexe que le systĂšme reprĂ©sentĂ©, il est plus facile de le discuter, le modifier.
artefact
Lorsque le modĂšle rĂ©sonne avec le systĂšme, on atteint le graal : l’hyperproductivitĂ©. RĂ©trospectivement, sur un projet passĂ© dans la tĂ©lĂ©phonie (dans lequel nous avions parlĂ© de l’importance de la modĂ©lisation avec Antoine C), c’est en partie ce qui nous est arrivĂ©. Je ne l’avais jamais vu sous cet angle.

Bref, bonne Ă©dition de la confĂ©rence, mĂȘme si on sent bien une adoption de l’agilitĂ© par le « mainstream », preuve aussi de son succĂšs, l’organisation a bien su mettre l’emphase sur ceux qui continuent d’avancer. Merci Ă  eux de venir partager leurs trouvailles.

Catégories: Blog Individuel

Octo sponsorise la soirée Strength-Based L6S, avec David SHAKED le 4 Juin 2014, places offertes

Le 4 juin prochain, Alexis Nicolas nous fait dĂ©couvrir David SHAKED et ses travaux sur le Strength-Based Lean Six Sigma, une autre maniĂšre d’aborder le changement et l’amĂ©lioration continue.

Octo Technology sponsorise et s’associe Ă  cet Ă©vĂ©nement qui aura lieu au 10 rue de Milan, Ă  2 pas de la Gare St Lazare (dans les locaux de Rupture)21).

Si vous souhaitez nous y rejoindre voici un code OCTO-yisy-books-vrw%lqa pour obtenir votre place gratuitement :)
Attention : le nombre de place gratuite est limité.

 

Inscrivez-vous dĂšs maintenant sur http://www.weezevent.com/the-strength-based-way-to-efficiency

Suggestion d'articles :

  1. Soirée Agile à Octo le 03 Décembre
  2. Formation Kanban avec David Anderson 27-28 Octobre 2010
  3. Belle soirée de présentation de sessions avec les speakers USI

Catégories: Blog Société

Eclipse Con France 2014

Paris Java User Group - mer, 05/28/2014 - 16:36

EclipseCon France 2014, le rendez-vous annuel de la communauté Eclipse en France revient à Toulouse, au Centre de CongrÚs Pierre Baudis, les 18 et 19 juin.

Catégories: Association

[ #ESPC14 ] W28X Introducing Codename Oslo and the Office Graph

Le blog de Patrick Guimonet - mer, 05/28/2014 - 16:22
  This session was a very interesting and awaited one, being fully dedicated to #CodenameOslo. It was presented by Troels Walsted Hansen, from Microsoft Corp, but based in Norway, managing a team coming from the FA...
Catégories: Blog Individuel

Perspectives de la santé connectée

Dans le cadre de nos recherches sur les objets connectĂ©s, nous avons eu la chance de faire plusieurs rencontres en mai : la sociĂ©tĂ© H4D qui propose une cabine de tĂ©lĂ©-mĂ©decine, et l’équipe de mĂ©decins qui Ă©dite le site automesure.com.

Par ailleurs, un certain nombre de personnes chez OCTO pratiquent le Quantified Self avec des objets Fitbit, Withings, Jawbone, etc.

Le propos de cet article est de donner un éclairage sur les perspectives de la santé connectée entre quantified self et télé-médecine. Nous pensons que ce  sujet intéresse les acteurs de la santé, mais aussi ceux de la prévention.

Le Quantified Self (QS)

Nous avons dĂ©fini le Quantified Self dans ce billet. Pour mĂ©moire, il s’agit de faire des mesures de ses paramĂštres physiques (nombre de pas, poids, tension, rythme cardiaque, etc.) dans un objectif de connaissance de soi, et d’amĂ©lioration.

Jusqu’à prĂ©sent, les acteurs du QS se positionnaient sur le “fitness” et ne revendiquaient pas le statut d’appareils mĂ©dicaux. Cela leur Ă©vitait de passer des certifications complexes. Par ailleurs, comme le QS est Ă  l’initiative de l’utilisateur et non du mĂ©decin, ces acteurs n’ont pas besoin d’utiliser un “hĂ©bergeur de donnĂ©es de santĂ©â€, trĂšs coĂ»teux aux dires de nos interlocuteurs.

En l’absence de contrainte, ils ont pu dĂ©velopper rapidement des appareils plutĂŽt “low cost” Ă  large diffusion, ce qui aurait Ă©tĂ© difficile si les autoritĂ©s mĂ©dicales avaient Ă©tĂ© dans la boucle.

Il existe des polĂ©miques sur la fiabilitĂ© de ces appareils, mais il est probable qu’ils vont s’amĂ©liorer pour devenir de plus en plus fiables. Un exemple illustre cette Ă©volution : le tensiomĂštre Withings a Ă©tĂ© certifiĂ© par le corps mĂ©dical.

TensiomĂštre Withing

La télémédecine

Il existe divers dispositifs homologués pour la télé-médecine personnelle : voir cette page. Ils sont mis à disposition des patients par des médecins. Ils sont largement utilisés dans le suivi de maladies rares ou chroniques (hypertension, asthme, diabÚte, etc.).

La grande diffĂ©rence avec le QS est la nĂ©cessitĂ© de mettre en place des programmes trĂšs prĂ©cis pour guider le patient pour s’assurer que les mesures seront utilisables par un mĂ©decin. En outre, dans un contexte mĂ©dical, il est indispensable de ne pas faire prendre de risque Ă  un patient, donc de lui faire rencontrer un vrai mĂ©decin dĂšs que nĂ©cessaire. Le site automesure.com propose un certain nombre de vidĂ©os explicatives Ă  ce sujet (exemple).

la Consult-Station

La consult-station de H4D est un exemple intĂ©ressant de dispositif pour un diagnostic Ă  distance : elle mesure plusieurs paramĂštres (tension artĂ©rielle, rythme cardiaque, taux d’oxygĂšne sanguin, poids et taille, tempĂ©rature) pour les transmettre au mĂ©decin. Les mesures sont certifiĂ©es. Le mĂ©decin peut aussi ĂȘtre joint depuis la cabine via tĂ©lĂ©confĂ©rence. Elle reste cependant un dispositif lourd, intĂ©ressant pour les EHPAD (Ă©tablissement d’hĂ©bergement pour personnes ĂągĂ©es dĂ©pendantes), les villages dĂ©pourvus de mĂ©decins. Elle n’est pas Ă©ligible Ă  l’achat par un particulier.

Comme les dispositifs de tĂ©lĂ©-mĂ©decine exigent un hĂ©bergeur de donnĂ©es de santĂ© agrĂ©Ă© et une certification, on peut s’interroger sur le fait  qu’ils rĂ©duisent les frais de la sĂ©curitĂ© sociale.

La convergence de ces deux mouvements ?

Les acteurs du monde du QS ont plusieurs atouts :

  • RapiditĂ© d’innovation et agilitĂ© : par exemple, Fitbit a sorti 6 versions de son “tracker d’activitĂ©â€ depuis 2008.

  • CapacitĂ© Ă  diffuser des appareils “low cost” (environ 100€) auprĂšs du grand public

  • Ergonomie : rĂ©flexion avancĂ©e sur le design, les modalitĂ©s de recharge et synchronisation des objets

  • Usage d’un hĂ©bergement Web classique.

  • DĂ©but de “dossier mĂ©dical” opĂ©rationnel, en particulier chez Fitbit, Runkeeper et Withings

  • CapacitĂ© Ă  accumuler des bigdata de santĂ© et de fournir des statistiques de santĂ© publique

 

De plus, ils ont ouvert un dĂ©bat intĂ©ressant sur la santĂ© connectĂ©e, en partant d’élĂ©ments concrets et utilisables par tout Ă  un chacun (lĂ  oĂč le DMP reste trĂšs abstrait).

Par contre, ils souffrent du syndrome du gadget. En effet, la plupart des utilisateurs s’en lassent au bout de quelques mois. PassĂ© le premier effet ludique, la phase de bonnes rĂ©solutions, ces objets finissent souvent au fond d’un tiroir.

Il y a donc un enjeu de crĂ©dibilitĂ©, de dĂ©monstration d’utilitĂ© rĂ©elle pour les acteurs du QS. Je pense qu’ils peuvent rĂ©soudre cette Ă©quation en devenant des accĂ©lĂ©rateurs de la santĂ© connectĂ©e.

Ils devraient peu Ă  peu se tourner vers le corps mĂ©dical pour offrir un service Ă  plus forte valeur ajoutĂ©e : s’intĂ©grer Ă  un programme homologuĂ© pour le suivi de la santĂ© et la prĂ©vention des risques. Le QS pourrait se trouver une place extrĂȘmement pertinente entre le particulier, son mĂ©decin, et son assureur dans divers scĂ©narios :

  • Maintient Ă  domicile de personnes ĂągĂ©es
  • Suivi de maladies chroniques et alertes au mĂ©decin en cas de dĂ©passement de seuil (tension, glycĂ©mie, etc.). Des vies peuvent ĂȘtre sauvĂ©es dans ce cas.
  • PrĂ©vention des maladies via une hygiĂšne de vie dont les Ă©lĂ©ments (exercice, poids, etc.) peuvent ĂȘtre remontĂ©s au mĂ©decin
  • etc.

Il est donc temps de rĂ©flĂ©chir Ă  ces usages nouveaux, mais aussi aux architectures IT capables d’intĂ©grer la santĂ© connectĂ©e au SI des assureurs et de la sĂ©curitĂ© sociale.

Suggestion d'articles :

  1. Quelques perspectives pour 2011…
  2. Les perspectives des CDN en mode Pay as you go

Catégories: Blog Société

Université de la Performance -retour sur DevoxxFR 2014

Le blog des experts du groupe Infotel - mer, 05/28/2014 - 09:37
Sebastien VAIRA, Senior Developper JEE / Grails revient sur une session Performance de DevoxxFR 2014 La performance, partie intĂ©grante du travail de chacun d’entre nous, se doit d’ĂȘtre au cƓur de nos dĂ©veloppements ; nous ne devons pas nĂ©gliger cet … Lire la suite →
Catégories: Blog Société

Partagez la connaissance

Partagez BlogsdeDeveloppeurs.com sur les réseaux sociaux