USI 2012 Première journée
Quelques notes après l’USI–2012
Le 25 et 26 juin 2012 avait lieu l’université du SI, organisée par Octo Technology, à laquelle j’ai eu la chance d’assister. C’est la 5ème édition de la conférence annuelle des geeks et des boss. Cette année, les deux jours étaient divisés en quatre thèmes : comprendre, changer, construire et rêver. Je n’ai bien sûr pas pu assister à toutes les conférences qui étaient divisées en quatre tracks différentes mais je suis au final assez content de celles auxquelles j’ai pu assister.
Première matinée : Comprendre
La réalité aurait besoin d’un meilleur Game Design
La première keynote intitulée : “la réalité aurait besoin d’un meilleur game design” était une bonne entrée en matière pour nous décaler. Globalement, les études montrent que les gens passent de plus en plus de temps à jouer. Que ce soit à Angry Birds ou à Call of Duty MW3, il y passent des heures. L’idée est de se dire que cela représente énormément de temps et donc d’argent. On joue peu avec Angry Birds, mais avec 1 milliard de téléchargement, ça commence à faire beaucoup. L’idée est de se demander comment utiliser ce temps colossal et le rentabiliser : par exemple Wikipedia représente à peu près 400 millions d’heures de travail que l ‘on peut traduire en 3 semaines d’Angry Birds ou 1 semaine de COD.
Des initiatives on permis de créer des logiciel pour demander à des joueurs de résoudre des problèmes de pliage de protéïne. En vérifiant tout d’abord la validité du modèle sur des cas où l’on connaissait les réponse, les joueurs se sont avérés beaucoup plus rapides : l’équivalent de 10 ans de recherche en 10 jours de jeu. Désormais, le même jeu est utilisé pour résoudre des problèmes dont on ne connait pas les réponses, notament pour trouver des médicaments contre le sida. Autre exemple, on peut essayer de prédire le futur en faisant jouer des personnes sur des simulations. Un jeu simulant la pénurie de pétrôle en faisant augment le prix de l’essence a par exemple permis de voir que les gens prendraientplus les transports en commun. Alors que cette idée était inimaginable aux Etats-Unis, cette prédiction s’est vérifiée.
Pour ma part, cela m’a rappelé un article récent à propos d’une personnes ayant joué pendant 10 ans à Civilization : c’est assez peu optimiste, dans le sens où après dix ans de jeu, il ne restait plus aucune démocratie…. à méditer. Le touilleur a fait une excellente retranscription beaucoup plus détaillée ici.
Introduction au machine learning : des algorithmes à la pratique
Le côté geek revenant toujours très vite, je suis ensuite allé réviser quelques algorithmes avec David Bessis. Son talk était une très bonne introduction à une matière pouvant vite paraitre très technique. On a eu le droit à quelques équation me faisant retourner en prépa, mais tout de suite après, on rentrait dans la pratique.
David nous a présenté ce qu’était un algorithme de régression linéaire et surtout nous a bien rappelé qu’il faut toujours vérifier ses hypothèses sur un jeu de test différent du jeu d’apprentissage. Un exemple valant mieux qu’un long discours, imaginons qu’on cherche créer à trouver une relation entre ma taille et le numéro de ma rue. Je mesure 180cm, habite au 475 de ma rue. On peut faire l’hypothèse d’après les données empirique de la taille est égale au numéro de la rue que divise 475 que multiplie 180. Si je regarde sur la population de départ, la mesure de l’erreur de l’alogrithme est nulle. Bien sûr si je vérifie sur un autre jeu de test, en prenant mon voisin par exemple, ça ne fonctionne plus. L’exemple est trivial, mais en machine learning, on peut souvent avoir la tentation de vérifier l’algorithme sur le jeu d’apprentissage. Dans un cas réel, pour avoir deux jeux de données, il suffit de couper l’échantillon en deux et d’en choisir un pour l’apprentissage et un pour le test.
On a ensuite eu le droit à la présentation de l’algorithme de partitionnement (clustering) K-Means. Pour résumer, étant donné une population donnée, comment la séparer en deux. Un dessin étant plus parlant, voici une photo de l’algorithme étape par étape.
L’oeil voit rapidement qu’il y a deux jeux de données, pour l’ordinateur c’est une peu plus compliqué. Je ne rentrerai pas ici dans le détail de l’algorithme (wikipedia est là pour ça), mais ce qu’il faut savoir, c’est que d’une part on peut partitionner des ensemble en n groupes et d’autre part l’alogrithme fonctionne pour bien plus de dimensions que la représentation en deux dimensions de l’exemple.
Enfin David nous présente les algorithme de recommandation collaborative. Il s’agit ici d’utilliser les notes que des utilisateurs donnent par exemple à des films (dans le cas de Netflix par exemple) pour en déduire des recommandations pour d’autres utilisateurs. Ce qui est intéressant ici, c’est que le simple fait de voter pour un film permet d’en déduire des propriétés intrinsèques : si c’est un western, la même catégorie d’utilisateur va aimer les mêmes films, de même pour les films d’actions, d’auteur, à actrices blondes ou brunes etc.. Ce qui nous intéresse n’est pas forcément de connaître ces propriétés, mais de découvrir les personnes qui ont les mêmes centres d’intérêt. L’algorithme utilisé ici n’a pas été détaillé et à peine évoqué : un algo par descente de gradient, ça me rappelle mes cours de thermodynamique. Pour un autre compte rendu, c’est ici
Business des données illégales
L’idée de cette keynote de Marc Goodman est de nous montrer comment, alors que les entreprises peinent à tirer parti des dernières technologies, les criminels ont su les adopter très rapidement. Au début du siècle, quand on demandait à un braqueur de banque pourquoi il allait dans les banques, il répondait : parce que c’est là qu’il y a de l’argent. Aujourd’hui, avec le web, on laisse énormément de traces sur internet, via Facebook, Twitter, des commentaires sur les blogs etc… Ne pas y aller ne sert à rien et peut même être dangereux. Par exemple, le patron d’Interpol ne voulant pas se créer de compte sur Facebook, s’est vu pirater son compte, quelqu’un se faisant passer pour lui.
En fait le marché criminel autour des données est très organisé, il existe même des services avec des SLA et numéro d’assistance en 0800 ! Il existe aussi des application iPhone pour par exemple trouver le dealer le plus proche de soi avec géolocalisation sur Google Maps. Le fait est que les criminels vont très vite et peuvent très vite redéployer des applications… bien plus que la capacité des autorités à les arrêter rapidement.
Enfin on apprend qu’il est assez facile de se procurer des numéros de cartes de crédit ou des numéros de compte pour quelques euros. Depuis le leak de données de Sony l’année dernière, le prix d’un numéro de carte de crédit valide est passé de 10$ à 2$. Si on veut avoir une garantie sur le montant disponible c’est un peu plus cher, mais en gros tout a un prix et il y a des garanties derrière !
Voilà, c’était une conférence intéressante qui nous permet de nous décaler… mais en même temps, dans notre vie de tous les jours, j’ai du mal à voir où ça va nous être utile, dans le sous où on peut être assez vite fataliste. Une chose à retenir c’est que les criminels sont très organisés et surtout très rapide à s’adapter aux nouvelle technologies… vivement que nos organisations soient aussi réactives ! Pour un compte rendu plus détaillé, c’est ici avec le touilleur
Premier après-midi : Changer
Personnellement, je n’ai pas énormément accroché à cette conf. Il faut dire que c’était juste après le repas et que la nuit précédente avait été très courte…. Si le sujet semblait intéressant : comment tirer partir du fait que l’on se trompe souvent, j’ai eu beaucoup de mal à accrocher et je ne me risquerait pas à vouloir retranscrire cette conf… le bouqin de Katryn Shulz
Equipe auto-organisée avec Esther Derby
Après s’être présentée, Esther nous montre une simple slide avec trois chiffres : 60, 30 et 10. Qu’est ce que ces chiffres veulent bien dire ? nous demande-t-elle. Cela correspond à l’impact de trois choses sur la productivité d’un équipe :
60% : c’est la composition et la formation de l’équipe
30%: c’est l’impact de la réunion de démarrage
10% : c’est l’impact du coaching sur l’équipe au fur et à mesure du projet
Ce constat est juste impressionnant. 60% de la productivité de votre équipe tient dans la manière dont vous la composez. Une des idées qu’Esther nous donne quand on fait rentrer quelqu’un dans une équipe, est de faire des entretiens avec le chef de projet, le manager….. mais surtout avec l’équipe qui doit être impliquée dans le choix des nouvelles “recrues”. En ces temps de coupe d’Europe vous conviendrez que ce n’est pas non plus en choisissant plein d’individualités extrêmement fortes individuellement que l’on arrive à former une équipe. Il vaut mieux une équipe avec des personnalités qui coopèrent. Esther nous rappelle aussi que la taille idéale pour une équipe auto-organisée est de 5 personnes. Au dessus de 10 ce n’est plus une équipe et il vaut mieux scinder en deux plus petites équipes, sinon les problèmes d’inter-communications vont peser sur la productivité. En dessous de 5, l’équipe ne peut plus absorber de manière uniforme le travail qu’on lui demande et si il manque une personne dans l’équipe (congé, maladie, usi etc…) cela se sentira très vite.
La réunion de démarrage d’une équipe auto-organisée est aussi très importante : 30%. Globalement cette réunion pose les bases de la suite. Un des exemples donné est le suivant : avec une équipe auto-organisé la management s’attend à ce que l’équipe soit autonome et prenne des initiatives. Inversement, l’équipe s’attend à ce que le management intervienne très peu voire jamais… Quand est-ce que le management intervient alors ? Si l’équipe ne délivre jamais de produit, ce n’est pas au bout de 2 ans qu’il faut aller lui taper sur les doigts. C’est au cours de la réunion de démarrage que les règles doivent être données : quels types d’initiatives l’équipe peut prendre, sur quels choix elle doit demander l’avis au l’autorisation, parce qu’un choix au niveau d’une équipe peut sembler anodin, mais avoir de grandes répercussions au niveau global.
Au final, il ne reste plus que 10% pour le coaching qui a assez peu d’influence au final. Si on est dans les conditions bonne équipe / bon démarrage un bon coaching va faire progresser rapidement la productivité, un mauvais coaching la fera progresser moins rapidement. Dans le cas inverse mauvaise équipe / mauvais démarrage, un mauvais coaching fera chuter la productivité tandis qu’un bon coaching ne pourra pas l’empêcher de chuter mais elle chutera un peu moins vite.
En conclusion, un talk très intéressant sur le management d’équipes agiles ; je ne connaissais pas Esther Derby, mais j’ai bien envie d’aller acheter son bouquin sur les rétrospectives agiles. Du coup j’ai loupé Bob Dorf dans le track Lean, vivement que la vidéo soit disponible sur le site de l’USI, les quelques tweet que j’ai lu m’on donné l’eau à la bouche.
L’adoption des réseaux sociaux d’entreprise en France
A priori, l’adoption des réseaux sociaux d’entreprise serait plus difficile en France que dand d’autres pays…. Cécil Dijoux nous présente ici sa vision sur 5 raisons qui pour lui seraient un frein typiquement culturel. La première vient d’un étude qui montre que l’adoption des RSE est plus lente dans les pays où le syndicalisme est plutôt récent. C’est le cas en France comparé à d’autres pays où le dialogue social est ancré depuis plus longtemps. Une autre raison serait la force des titres donnés aux emplois en France. Quand on se présente en France, on donne son nom, la boite pour laquelle on travaille ainsi que l’intitulé du poste (chef de projet, architecte, développeur…). En Angletere, on donne son nom, la boite pour laquelle on travaille et l’équipe de foot que l’on supporte ! Les RSE remettent en cause l’organisation hiérarchique par le biai des profils enrichis où l’on peut déclarer ses compétences et donc remettent en cause les postes et la manière dont on manage. Bon…. je me rend compte que je ne me rappelle que de deux raisons…. mais en gros il existe dans la culture française des freins typiquement culturels qui en freinent l’adoption.
Résoudre des problème IT avec le lean
J’avais déjà vue Sandrine Olivencia il y a deux ans à l’USI où elle nous présentait le concept d’Oyeba Room et de l’importance du management visuel. Cette année elle propose de nous montrer comment améliorer la satisfaction client et la productivité d’une équipe IT avec le lean. Le contexte est le suivant : dans une grande banque européenne, une équipe est en charge de déliver les ID cards et les autorisations à leur clients. Globalement après enquête, les indicateurs sont les suivants :
Satisfaction client : 2,4/5
NRFT (non right first time) : 21%
Productivité : 6 ticket par jour / personnes
Dans le but premier de protéger le client, l’équipe a décider d’attaquer en premier le chantier de réduction du stock. Quand ils se sont aperçus de la masse de tickets à traiter, ils ont au début eu peur puis ont décidé de le prendre petit bout par petit bout, en supprimant les demandes obsolètes en répondant aux tickets avec un objectif chiffré et mesuré plusieurs fois par jour. Ils se sont alors aperçu que beaucoup de problèmes étaient dus au fait que les ID card n’étaient pas vérifiées avant d’être envoyées ce qui occasionnait des retours des cartes. Un procédure a donc été mise en place pour vérifier avant chaque envoi que la carte fonctionnait bient et était active. Un autre point dont ils se sont aperçus et qu’il a beaucoup de problème qui sont gérables facilement et rapidement tandis que d’autres sont plus long et demandent une plus grande expertise. L’équipe a donc décidé que les problèmes simples seraient réglés par les ressources les moins expertes tandis que les plus compliqués seraient confiés aux plus experte. Un pré-filtrage a donc été mis en place et les personnes de l’équipe ne se retrouvent plus devant un pot de 1000 ticket sans savoir lequel est de l’ordre de leur compétences. Sandrine nous a donné d’autres exemples mais, ce que je retiens de cette présentation est que le lean permet d’analyser et de résoudre les problèmes en chassant les petits gaspis que l’on identifie. Un problème doit être vu comme une pépite et comme un moyen de s’améliorer, l’objectif principal étant de protéger le client. Au bout de 8 semaines les indicateurs étaient les suivants :
Satisfaction client : 3,4/5
NRFT (non right first time) : 0%
Productivité : 10 ticket par jour / personnes
Ce projet pilote dans l’entreprise a permis de montrer comment le lean peut se mettre en place dans une organisation IT et pas seulement dans les équipes de développement via les méthodes agiles mais aussi sur de l’équipe de production.
Développement web : multi-écran, multi-terminal, multi-devices en HTML5
Pour ce talk, deux consultant d’Octo nous ont fait une présentation sur les possibilité qu’offrait le HTML5. Tout d’abord la présentation elle même était en HTML5 utilisant la librairie impress.js, elle est disponible ici
Après avoir présenté le problème que posait la complexité de la multitude des devices, ils font le constat que HTML est la seule solution technologique commune à tous ces appareils (iPhone, Android, box, console, télé connecté etc…). Seulement il va falloir apprendre de nouvelles pratique propres à cet écosystème, car on ne développe plus en HTML comme au bon vieux temps du site web à papa.
Premièrement, il existe deux approches pour le multi-écran :
Responsive design : le design de l’application s’adapte au device en fonction du contexte. On peut extraire ce contexte en fonction du User-Agent mais c’est compliqué étant donné la multitude de ceux ci. On peut autrement se rabattre sur les capacités du device pour connaitre que template utiliser comme par exemple la taille de l’écran.
Mobile first design : le design de l’application est déjà prévu pour le mobile et est ensuite élargi pour en faire une application web. C’est par exemple le cas de Twitter.
Il n’existe en revanche qu’une seule approche pour le développement multi-interface, c’est le touch first design. Il faut que l’interface soit pensée pour les gestes touch. Dans GMail on voit ainsi que les liens vers les boites sont suffisament espacés pour qu’un doigt puiss les cliquer. C’est la même chose pour la hauteur des cellules. Enfin il existe deux approches pour le multi-plateforme :
Progressive enhancement : on dispose les fonctionnalités de base pour tous les navigateurs et pour ceux qui peuvent on ajoute certaines fonctionnalités (globalement tous les navigateurs sauf IE ;-) )
Graceful degradation : c’est l’inverse, on met toutes les fonctionnalités riches et pour IE on enlève ce qu’il ne sait pas faire.
Parfois cependant il y a trop de différences et il faut penser à deux versions en fonction du contexte, c’est le cas de GMail qui n’a pas du tout la même tête quand il est sur mobile ou quand il est sur un plus grand écran. Enfin, il commence à émerger des librairies permettant de gérer différentes vues en fonction du contexte. On a alors un un pattern MVC côté client et la vue est choisie en fonction du device. Pour l’avoir moi-même mise en place sur un projet, la librairie backbone.js est tout à fait adaptée pour cela.
Cette présentation n’a fait que confirmer ce que j’ai déjà mis en place sur des projets dans mon équipe. On en est cependant qu’au début et il faut aujourd’hui bien assembler les différentes librairies disponibles pour faire un développement HTML5 qui soit au niveau d’un développement natif. En tout cas HTML5 est très clairement un choix dans la bonne direction.
Une plateforme interactive pour raconter des histoires
La dernière keynote de la journée était celle de Michael B. Johnson des studios Pixar. La promesse de départ était de nous montrer comment une équipe IT pouvait se mettre au services d’artistes. Si globalement j’ai été un tout petit peu déçu de la promesse de départ (on a vu qu’un seul outil utilisé dans la production), j’ai été enchanté par la description du flux de production et les différentes citations de John Lasseter qui rappelaient différentes choses de la journée :
Quality is the best business plan
When you don’t know what to do, do something so that you can change it
Le fait que Pixar repose beaucoup sur trois personnes : John Lasseter, Ed Catmul et Steve Jobs me font penser que peu de personnes avec de fortes convictions peuvent vraiment faire bouger des montagnes.
Bon, en plus on a eu le droit à plein de petit passages de films (Toy Story 3, Les indesctructibles…) ce qui était assez sympa. Ce que Michael nous a montré avec pas mal d’humour c’est qu’il peut souvent y avoir des désaccords entre les différentes équipes qui composent le flux de production et qu’à chaque fois qu’il y a un problème, il se dit qu’il peut apporter une solution. C’est le cas d’un logiciel permettant de chainer les différents dessins d’un storyboard et de synchroniser le discours de la personne “mimant” les voix et bruits diverses (psssshhhh, boum etc…).
Un autre exemple qu’il nous donne est la fois où il a du introduire les tablettes Wacom avec écran intégré. Les dessinateurs n’étaient pas convaincus et même après des formations ils revenaient à leurs fusain. L’idée à été de détourer l’image d’un gars avachi dans un canapé dans une position disons….. spéciale (les photos étaient interdites pendant le talk), de le détourer et de proposer à tout le monde de retravailler le tout et de l’incorporer dans d’autres situations… à l’aide de la tablette bien sûr. Je ne sais pas combien d’exemples de détournement on a pu voir, mais globalement, les artistes sont maintenant formés à Photoshop de manière bien plus efficace qu’en enchainant des formations.
C’est tout pour cette journée de laquelle je suis sorti crevé ! Comme la dernière fois c’était dense et cela demande pas mal d’effort pour ce reconcentrer toutes les heures sur des sujets différents…. ça rappelle le lycée. La journée du lendemain avait pour thème : Construire et Rêver, mais ce sera pour un nouveau billet !