Retour au blog

Retour sur le MixIT 2017

Après avoir été présent au SymfonyLive le mois dernier, certains membres de la team Novaway (Fabien et Jérémy) ont eu la chance d’être tirés au sort pour participer aux deux jours du MixIT (la conférence lyonnaise aux sujets techniques, agiles, ésotériques ou encore engagés) qui ont eu lieu les 20 et 21 avril 2017. Ce billet est donc un retour des conférences qui nous ont le plus marqués.

L’orchestre un modèle de gestion du groupe ?

(track: Aliens - Hors des sentiers)

Samuel Couffignal est chef d’orchestre et nous a fait la démonstration, au travers d’un morceau joué par son orchestre mais “dirigé” de différente manière, de l’importance et du rôle de ce dernier. Bien que les musiciens (professionnels) soit capable de jouer sans ce dernier,  il est capable d’influer sur le style et le jeu de la musique notamment en sachant faire ressortir le style de musique de chaque membre du groupe.

Au travers de cette keynote d’ouverture, il était tout à fait possible de faire le parallèle entre la gestion d’un orchestre de musique et la gestion de n’importe quelle équipe en terme de management. Le rôle du chef d’orchestre (au même titre que n’importe quel manager) est de favoriser la relation entre chaque membre d’un groupe tout en sachant faire ressortir ce qui fait la force de chacun.

Cargo Cult Agile

(track: Apprendre - Découverts surprenantes)

En arrivant à cette conférence, nous n’avions jamais entendu parler du “Culte du cargo”. De manière concise il s’agit d’imiter ou de reproduire un schém ou comportement que l’on a déjà observé afin d’obtenir un même résultat. Pour avoir plus de détails sur l’origine de ce culte, nous vous invitons à lire la page Wikipédia dédié. C’est ainsi qu’Emilie Esposito, product owner au sein la société Kuzzle nous a parlé de ce qu’elle appelle le “Cargo cult agile” au travers de son expérience personnelle et professionnelle.

L’utilisation des méthodes agiles a explosé ces dernières années, à tel point que c’est pour un grand nombre d’entreprises devenu un argument marketing. Il est vrai que ce qui est promis par ces méthodes est intéressant : livrer plus rapidement un produit à haute valeur ajoutée et utile pour le client.

Pourtant, il arrive parfois que les entreprises se concentrent sur les principes “visibles” des méthodes au détriment du pourquoi ces principes sont appliqués. Il s’agit certainement de la principale cause de la mauvaise utilisation des méthodes agiles et de l’échec de ces dernières au sein de certaines sociétés. Parmi les éléments qui reviennent le plus souvent :

  • l’utilisation du bord pour faire un management visuel
  • la mise en place de standup meeting

Il est pourtant facile de faire le parallèle avec de nombreux autres domaines. Par exemple, combien de fois avez-vous copier/coller un code trouvé sur Stack Overflow sans en comprendre le fonctionnement ? Et suite à cela, combien de fois avez-vous eu à débugger ce code quelques mois après sans comprendre ce que faisait ce dernier ? Avant d’appliquer une méthode ou d’utiliser un outil, il est donc primordial de comprendre comment fonctionne ce dernier et les différentes raisons qui ont conduit à sa création pour savoir dans quelles occasions il est opportun de l’utiliser.

Quelle éthique pour les développeurs ?

(track: Hacktivism - IT engagée)

Cette année a vu apparaître des conférences engagées orientées Hacktivism. C’est ainsi que Guillaume Champeau, juriste de formation et fondateur du magazine Numerama.com, maintenant responsable des relations publiques pour le moteur de recherche Qwant, nous a parlé d’éthique dans l’informatique et notamment de l’importance que les développeurs jouent dans ce domaine.

Guillaume nous a ainsi fait réfléchir sur les impacts que peuvent avoir nos développements sur la vie réelle. Notre métier n’est pas uniquement virtuel, il a des incidences sur le monde de tous les jours. Il est donc important pour les développeurs d’avoir cette notion d’éthique et un avis critique sur les projets sur lesquels il peut être amené à travailler. Pour exemple, il prend les révélations d’Edward Snowden sur les programmes utilisés par la NSA.

Ce fut également l’occasion de découvrir l’existence d’un code d’éthique et déontologique de l’ingénieur logiciel. Il s’agit d’un document recommandé par l’IEEE sur l’éthique et la déontologie dans le domaine.

Progessive Web Apps, au-delà du buzzword

(track: Tech - Techno à la mode)

Parmi les nombreux sujets tendances actuellement, difficile de passer au travers des Progressive Web Apps (ou PWA). Sous ce nom marketing se cache en réalité un groupement de technologie et bonnes pratiques dont l’objectif est de permettre aux applications web de rivaliser avec les applications natives.

Paul-Guillaume Déjardin et Antoine Le Taxin, tous les deux développeurs au sein de la société Xebia ont souhaité démystifier ce concept en faisant un retour de leurs expériences afin de savoir quelles sont les motivations de la mise en place de ce type d’application, les bonnes pratiques à mettre en oeuvre ainsi que les outils à notre disposition et leurs rôles.

C’est ainsi que l’on apprend que tout ce qui est nécessaire pour la mise en place d’une PWA comme par exemple l’utilisation de ServiceWorkers, des Push Notifications, les Manifest sont apparus avec HTML5. Et c'est donc la combinaison de ces technologies avec d’autres bonnes pratiques tel que le responsive design, qui permettent à des applications Web de se rapprocher du fonctionnement d’applications natives.

Le terme de Progressive Web Apps ayant été mis en place pour regrouper l’utilisation de tous ces concepts, un peu comme le Web 2.0 permettait à l’époque de désigner les sites Web utilisant l’AJAX pour améliorer leur interactivité et simplifier la navigation.

Le Streaming d’API : pourquoi et comment transformer vos APIs statiques en données temps réel ?  

(track: Tech - Techno à la mode)

Nous sommes tous naturellement attirés vers ce qui bouge. Cela vient en réalité d’un instinct primitif de la nuit des temps : si ça bouge c’est que cela représente soit de la nourriture, soit un danger. C’est ainsi qu’Audrey Neveu, développeuse évangéliste chez Streamdata.io a introduit son sujet et pourquoi nous sommes naturellement plus attentive à un contenu qui “bouge”, plutôt qu’à un contenu statique expliquant ainsi le succès de nombreux sites et/ou applications telles que Twitter, Waze, Slack et plein d’autres encores.

Audrey a ensuite fait un tour des solutions possibles pour dynamiser nos API REST existantes plus ou moins simplement, chacune des solutions ayant des avantages et inconvénients :

  • le long polling : une solution simple, mais qui consomme beaucoup de ressources inutilement (98% des appels ne génèrent pas de réponse).
  • les webhooks qui peuvent être facilement mis en place car ils ne nécessitent pas l’ajout de brique supplémentaire. Il sera nécessaire de faire attention aux attaques du type DDoS si le point d’entrée peut-être connu.
  • la mise en place d’un protocole de type Pub/Sub implique la mise en place d’une nouvelle brique logicielle. Mais de plus en plus de solutions se démocratisent pour simplifier leurs intégrations.
  • les méconnues Server-Sent Events qui sont économiques et peu coûteux en terme de ressources, mais qui ont l’inconvénient d’être unidirectionnel.
  • les Web-Sockets qui sont la seule solution permettant une communication bidirectionnelle. Mais attention, bien que de plus en plus supporté, il y a certaines exceptions !

Spécifications en milieu agile

(track: Makers - Bricolage & Produit)

“Nous ne faisons pas de spécification, nous travaillons en mode agile”. Qui n’a jamais entendu ce genre de phrase en travaillant sur un projet agile ? La salle de la conférence d’Arnaud Lemaire était remplie, il doit s’agir de quelque chose de fréquent.

L’agilité est souvent mis en place pour palier à l’effet tunnel du cycle en V. Le manifeste agile dit qu’il est préférable d’avoir “des logiciels opérationnels plus qu’une documentation exhaustive”. Ce point est souvent interprété du fait qu’il n’est pas nécessaire d’écrire des spécifications et qu’il est préférable de privilégier les interactions humaines. Pourtant on reproche souvent aux méthodes agiles de trop rentrer dans les détails et d’empêcher d’avoir une vision à long terme sur les projets.

Et c’est à cette question qu’Arnaud a répondu tout au long de sa présentation. Une phase de spécification peut très bien être intégré à des projets agiles. Ces dernières sont un entre-deux entre le fait de décrire un problème et proposer une solution car le problème peut-être amené à évoluer et décrire une solution technique ne doit pas fermer la vision de l’équipe projet. Elle sont avant tout là pour comprendre le projet et son “pourquoi”. Elles doivent donc, tout comme le code évoluer tout au long du projet.

Etre un développeur après 40

(track: Makers - Bricolage & Produit)

Bien que les mentalités sont actuellement en train d’évoluer sur le sujet, réussir une carrière longue de développeur est rare, le poste de développeur sénior n’étant pas ou trop peu valorisé. Et quand bien même on souhaite rester développeur, il est nécessaire de se former continuellement afin de rester “à la page”. Mais avec la multitude des technologies, il devient presque impossible de rester au top dans tous les domaines.

Adrien Kosmaczewski nous fait part de son histoire personnelle pour réussir une longue carrière dans le milieu de la création de logiciels sans perdre la tête ni l’envie de continuer. Si cette conférence vous intéresse, vous trouverez sur son blog un article très complet sur le sujet.

Cette année encore le MixIT nous a offert un grand nombre de conférences de qualité sur des sujets variés. Merci à tous les bénévoles qui s’impliquent dans ce projet pour nous faire découvrir toujours plus de sujets sortant des sentiers habituels. Nous avons hâte d’être présents l’année prochaine en espérant avoir notre précieux sésame !

Si vous n’avez pas eu la possibilité d’avoir vos billets pour l’événement, les vidéos seront prochainement disponibles sur InfoQ. En attendant vous pourrez toujours vous consoler avec les vidéos de l’an dernier.