La revue de presse hebdomadaire des technologies Big Data, Cloud et Web, architectures Java et mobilité dans des environnements agiles, proposée par Xebia.
Agilité
Who makes a better Scrum Master : a developer or a project manager ?
Intéressante cette question, vous ne trouvez pas ? Si vous aviez le choix entre ces deux profils pour ‘élire’ votre Scrum Master, lequel prendriez-vous ?
L’auteur de cet article (http://agileprojectmanagementtraining.com/who-makes-a-better-scrum-master-a-developer-or-a-project-manager/) ne répond pas directement à cette question, car il n’y a bien entendu pas de réponse toute faite, pas de ‘silver bullet’. Il déplace le débat sur le champs des qualités et compétences, à la manière dont un recrutement sérieux se ferait. Et il pioche allègrement dans le portrait robot d’un servant leader. Il y parle de capacité d’écoute, de persuasion, d’influencer sans autorité (au sens hiérarchique du terme). Le billet porte d’autres messages forts, mais je vous laisse les découvrir : must read.
Nightmare – Central teams consisting coaches
Luis Gonçalves propose un billet avec une accroche provocatrice mais dont le fond interpelle réellement: les équipes de coachs sont-elles salvatrices ? L’auteur s’exprime sur l’importance en tant que coach de ne pas se rendre indispensable, et sur le fait que des équipes de coachs pourraient se laisser aller à cette dérive pour justifier leur position. Au final, l’objectif du coach est de viser l’autonomie de ses interlocuteurs et non leur dépendance.
Ce billet peut-être mis en parallèle avec une figure de l’analyse transactionnelle : le triangle dramatique (ou triangle de Karpman) et le risque pour un coach de se placer en tant que sauveur.
Plus de détails sur le triangle dramatique ici :http://analysetransactionnelle.fr/les-concepts-de-base/les-jeux-psychologiques/.
Front
Le guide de style unifié de Google
A l’occasion de son évènement I/O 2014, Google a présenté son nouveau guide de style nommé "Material Design" qui veut s’appliquer à l’ensemble des applications sur les plateforme Google (Android, ChromeOS mais aussi ses applications web). Google a pour objectif de proposer un style propre et efficace mais aussi adapté pour les interfaces tactiles et à un grand nombre de résolution différentes. Les interactions proposées mettent en avant l’utilisation le pattern UI type "cartes" qui est de plus en plus reconnu
Vous pouvez lire les réactions de différents designers à ce propos ici: http://venturebeat.com/2014/06/27/top-designers-react-to-googles-new-material-design-language/
Enfin si vous voulez avoir un avant gout de ce "Material Design" vous pouvez aller le tester avec Polymer, l’implémentation des Web Components par Google.
Data
Flume 1.5 et le SpillableMemoryChannel
Le 22 mai est sortie la cinquième release de Flume en tant que projet Apache. Pour rappel, Flume est le projet de référence pour centraliser des événements (par exemple des logs) sur un cluster Hadoop.
En tant que nouveauté, on notera l’ajout d’un SpillableMemoryChannel (FLUME-1227). En effet, Flume peut se résumer à un graphe d’agents qui se transmettent des événements. Dans le cas classique, ils finissent par être écrits dans HDFS, la partie stockage d’un cluster Hadoop. Flume gère les erreurs et typiquement si le prochain agent ne répond pas alors l’événement est gardé dans un channel pour pouvoir être renvoyer plus tard. Jusqu’à présent, seulement deux strategies de channel existaient.
Soit tout en mémoire (MemoryChannel), c’est rapide mais si quelqu’un trébuche dans le datacenter et arrache le cordon d’alimentation, alors tout est perdu. Et la second limitation est qu’il fallait réserver un buffer suffisamment grand pour pouvoir stocker un maximum d’événements pour pouvoir supporter le cas critique.
Soit tout sur disque (FileChannel), l’avantage en terme d’espace est évident : on dispose potentiellement de tout l’espace sur le disque. Et même si quelqu’un décide de changer toutes les alimentations, les événements ne sont pas perdus et peuvent être relus au démarrage. Mais, bien sur, un accès disque est très lent en comparaison avec un accès mémoire.
Ce nouveau channel permet de gérer un mode dégradé si jamais le buffer en mémoire est rempli. Cette amélioration permet donc de spécifier la taille du buffer en fonction des cas courants (99%) et de continuer de fonctionner dans le cas critique, non prévu, sans avoir à faire de surallocation de mémoire.
Un second point tout aussi important est le support des payloads syslog en entier lorsqu’ils sont transmis par UDP (FLUME-2130), précédemment ils étaient injustement tronqués.
Pig 0.13 et le monde NoMapReduce
Pig est un des projets permettant de spécifier rapidement des traitements de données pour Hadoop (MapReduce). Le 4 Juillet, la version 0.13 est sortie.
Il s’agit d’une version majeure dans l’évolution de Pig. En effet, Pig (tout comme Hive ou Cascading) a été initialement conçu pour simplifier le traitement des données en MapReduce en fournissant en langage plus haut niveau, PigLatin dans le cas de Pig. Mais ce langage n’est bien sur pas fortement dépendent de MapReduce. Cette version 0.13 marque la possibilité de changer le moteur d’exécution (PIG-3419). Cela permettrait à terme de lancer un même script Pig avec MapReduce ou Tez, voire potentiellement Spark ou toute autre solution.
Pour la petite histoire concernant Pig et Spark, il existe un projet nommé Spork mais, à ma connaissance, aucune version stable n’est maintenue par une communauté digne de ce nom. Si vous aimez les rumeurs, peut être que Twitter va changer cela.
Web
Dart à la conquête du monde mobile
La version 1.5 de Dart, le langage orienté web de Google qui a aussi été standardisé récemment, est sorti il y a quelques semaines. Cette release comprend principalement une version de développement de Dartium – Chrome avec la VM Dart – qui fonctionne sur les appareils Android. L’éditeur Dart a également été mis à jour pour aider le débogage des applications Web mobiles écrites en Dart. Vous pouvez définir des points d’arrêt et des exceptions de débogage avec les applications Dart s’exécutant sur Android avec le même flux de développement qui existe sur votre machine de développement.