Enseigner Agile, par Jean-Luc Lambert – Printemps Agile 2015

Jean-Luc Lambert est enseignant agile à l’Université de Caen et président-fondateur du Club Agile Caen. Après s’être présenté, il nous a proposé une conférence sur mesure où le public choisi les sujets qu’il va aborder.

Les sujets sont répartis sur un large tableau, où chaque colonne représente une période, et disposés sur des Post-it de trois couleurs différentes :

  • vert : c’est une bonne expérience d’Agilité
  • jaune : un incident est survenu, posant des questions
  • rouge : catastrophe, le public n’a pas saisi le message

« Planning Game » (vert)

Le premier sujet tiré met en avant un retour d’expérience où des étudiants doivent travailler sur un sujet commun imposé. À la première itération, les étudiants travaillent individuellement, mais se dispersent. À la seconde itération, ils rassemblent leurs idées par binômes, puis lors de la troisième itération par quadrinômes. Il apparait que les phases de travail collectif motivent bien plus les étudiants, parfois 2h durant.

Création d’illustrations de contes de fées (vert)

Dans ce second sujet, des étudiants en informatique sont répartis en petits groupes où sont implantés des dessinateurs professionnels. Le but est de réaliser des planches commandées par un « client » chargé de définir ses attentes. Lors de la première itération, les dessinateurs ne laissent pas l’accès à leurs travaux et refusent que les étudiants interviennent dessus. Durant la seconde itération, les dessinateurs laissent peu à peu les étudiants mettre en couleurs leurs illustrations ou y apporter des retouches.

L’exercice montre qu’une équipe fière de son travail fonctionne mieux, et qu’un client plus content créé une dynamique positive qui conduit à créer une sensation d’équipe plus forte.

L’intervenant estime que le système éducatif ne forme pas à surmonter l’échec, mais génère au contraire des étudiants qui se démoralisent vite, cachant leurs problèmes plutôt que de les exposer : ils n’osent pas poser de question mais réalisent le produit malgré tout.

Une équipe qui a eu un problème majeur (jaune)

Un binôme d’étudiants a choisi d’utiliser un logiciel en début d’année pour lequel ils avaient obtenu de l’école une licence valide. Malheureusement plusieurs mois après, au moment de réaliser le projet, la licence a expiré. L’intervenant explique ici toute l’importance de ne pas chercher un fautif, pour ne pas dégrader l’ambiance du groupe, tout en précisant le rôle du manager qui doit tout remuer pour apporter une solution.

En joignant les étudiants, le professeur et les interlocuteurs concernés, l’intervenant est parvenu à obtenir une nouvelle licence. En outre, montrer ouvertement qu’on cherche à résoudre un problème est une attitude qui tend à rassurer l’équipe et le client : il est bien plus efficace d’escalader un problème que de l’affronter.

Des étudiants contestataires (rouge)

Ayant exercé dans deux filières différentes, imagerie et monétique, l’intervenant fait part de sa sensation de l’existence d’un formatage plus ou moins résistant au changement selon le cursus. Si les TD avec les étudiants en imagerie se passent sans accrocs, ceux en monétique se heurtent à des étudiants fermés au dialogue.

Au cours d’un TD, un groupe réussi l’exercice, deux groupes le contestent tout en le réalisant à contre-cœur et le dernier groupe voit ses membres s’éviter. Aucun des groupes n’acceptera un débriefing sur l’exercice, pas même celui l’ayant réussi.

Une étudiante surprenante (jaune)

Suite à un brainstorming à l’aide d’un mur de Post-it, une étudiante annonce à l’intervenant qu’elle compte reproduire l’expérience dans sa propre association. Le groupe, composé de membres d’âge très varié, est en effet dirigé par une minorité âgée contre les envies d’une majorité plus jeune. La minorité se compose de membres qui refusent le dialogue, bloquent le changement et manipulent les plus jeunes.

Le brainstorm proposé par l’étudiante fait apparaitre clairement le double langage des anciens, dont les idées sont en opposition avec les aspirations de la majorité. C’est l’échec du dialogue : le groupe éclate, les anciens quittent l’association. La jeune génération lance enfin les nouvelles activités tant attendues dans un élan de motivation général.

Cette anecdote souligne qu’il est parfois nécessaire de se séparer des éléments bloquants dans l’intérêt du groupe.

Sécuriser une refonte avec le Golden Master Testing – Printemps Agile 2015

Matthieu Sadouni et Pierre-Emmanuel Fringant nous ont présenté le principe du Golden Master Testing lors d’une présentation du Printemps agile 2015.

La problématique est la suivante : Comment assurer la refonte d’une application non testée (legacy code) réalisée par une autre équipe tout en assurant la maintenance de l’existant ?

L’idée du Golden Master est de vérifier que pour un ensemble de paramètres donnés en entrée, la sortie de l’application ne varie pas. L’application est alors vue comme une boite noire. L’état initial de la sortie  est appelé Golden Master. Une fois celui-ci défini, on peut  développer de nouvelles fonctionnalités ou factoriser le code existant sans souci : si la sortie reste identique au Golden Master, c’est qu’aucun effet de bord n’a été constaté. Il peut arriver que la sortie soit différente du Golden Master mais qu’elle soit tout de même valide (si l’application de base contient des bugs par exemple). Dans ce cas, la nouvelle sortie devient le Golden Master pour la suite du développement.

Pour mettre en place le Golden Master Testing, Pierre-Emmanuel et Matthieu utilisent rspec et capybara. Tout leur processus est expliqué sur github : https://github.com/mhcommunication/golden-master

BarCamp web 2013 – 4ième journée

Une intervention à réaliser rapidement impose à Thomas de décaler sa présentation sur Rails 4. Nous avons beau nous être éloignés de l’entreprise, nous en restons pas moins disponibles pour gérer les urgences.

Julien aura rédigé le plus court article du blog : une seul ligne. Lorsque tout est dit ailleurs, un simple lien suffit ! Mais aussi un article sur Angular JS plus élaboré.

Lise nous fera part de sa veille au sujet des sites réaliser en Responsive Design. Des nouveautés, des designs bluffants, reste à savoir les pré-requis technologiques qui détermineront si nous pouvons les mettre en oeuvre facilement. Et Emmanuelle a rédigé un article sur le Display, ou comment faire de la publicité sur internet à moindre coût à condition de réaliser beaucoup d’efforts.

Avant de partir nous réaliserons un débrief de ces quatre jours, d’où il ressortira la nécessité dans nos métiers de pratiquer régulièrement ces activités de veille afin de ne pas être « dépassé » par les nouveautés. Ainsi que le nombre de sujets qui n’ont pu être abordés faute de temps. Mais aussi une motivation d’équipe, et de l’énergie, tout à fait perceptibles.

BarCamp Web 2013 – 3ième journée

Comme nous l’avions envisagé hier, la journée commença par la mise en place de graphiques en JavaScript sur un projet existant où le besoin était prégnant avec pour binôme Matthieu et Frédéric.

Puis Julien nous présenta des technologies émergentes, notamment NodeJS et ses acolytes. L’univers du web bouge en permanence et ce qui semblait impossible il y a quelques années devient une réalité tangible. De quoi proposer de nouvelles solutions à nos utilisateurs.

En fin de matinée, Frédéric présenta rapidement le parallèle troublant entre la vision agile et certaines approches éducatives.

L'équipe, équipée de portables, est de plus en plus mobile.

L’après-midi, Matthieu fit des recherches afin de pouvoir utiliser Rails grâce à NetBeans. Bon, à priori, c’est assez compromis, vu qu’il n’est plus supporté. Du coup, nous avons eu droit à une présentation des formulaires en HTML5, notamment pour les validations. Beaucoup de temps à gagner, mais il faudra encore attendre un peu, pour que ces fonctionnalités soient supportées par tous les navigateurs.

Au cours de ce BarCamp nous avons utilisé de manière accrue les vidéo comme vecteur des connaissances. En effet, de très bonnes conférences, souvent en anglais, sont disponibles sur internet. Y compris certaines données par les inventeurs des technologies ! Le monde est de plus en plus petit, les connaissances de plus en plus accessibles à ceux qui se donnent les moyens de les acquérir.

BarCamp Web 2013 – 2ième journée

Après la première journée, cette seconde s’ouvre sur les chapeaux de roues puisqu’après que Julien nous ait expliqué ce qu’étaient les tests automatiques, nous avons droit à une session de live coding avec Thomas et Julien ! Ou comment le binômage peut être réinventé au regard des tests automatiques. Une belle présentation qui dura près d’une heure : lorsque les bonnes pratiques entrent en résonance, cela donne un ensemble détonant !

La bibliothèque, un lieu idéal pour binômer.

Ensuite Matthieu nous a présenté la réalisation de graphes en JavaScript by Google, grâce à Google Chart Tools. Que de chemin parcouru ces dernières années : les résultats obtenus sont bluffants et confirment que Flash se meurt un peu plus chaque jour. Nous avons une application immédiate à cette nouvelle technologie : si nous avons le temps nous le ferons au cours de ce BarCamp, autrement ce sera fait à notre retour.

En début d’après-midi, il y a eu une session de rattrapage pour visionner la présentation faite par Frédéric au cours du dernier CaenCamp, au sujet du binômage. Et un second rattrapage avec la (re)lecture du Manifeste Agile.

Lise nous a ensuite fait une présentation de Susy. C’est un enjeu majeur, vu l’importance du responsive design pour nous ces prochaines années. Et un gain de productivité certain.

BarCamp Web 2013 – 1ère journée

Comme nous l’avions déjà fait l’année dernière, nous retournons dans le nord Cotentin pendant quelques jours, loin des problèmes du quotidien. Objectifs de ce second BarCamp :

  • permettre à l’équipe de se former,
  • faire de la veille dans l’univers du Web, où le mouvement est continu,
  • pratiquer, mettre en oeuvre des technologies encore peu utilisées au quotidien.

Nous partons en fin de matinée et après avoir déjeuné sur Valognes, nous sommes accueillis au manoir de la Fieffe qui propose des chambres d’hôtes sur Cherbourg.

L’équipe se met au travail et très rapidement apparaissent les (36 !) sujets qui sont susceptibles d’êtres étudiés. Après hiérarchisation, les ateliers se mettent en place.

Définition des sujets en début de BarCamp

 

En fin d’après-midi, nous aurons l’occasion de visionner une vidéo concise mais précise d’introduction au lean. Ce sujet ayant été spontanément évoqué par deux personnes, le traiter était important.

Les présentations issues des autres ateliers seront présentés le lendemain.

 

BarCamp Web 2012 – le bilan

Après 3 jours de BarCamp, quels enseignements en tirer ?

Un format adapté

Le format semble parfaitement adapté : 3h30 de veille sur internet et 30 min. de présentation au reste de l’équipe. Les réflexes de binômage sont présents, la rédaction d’articles sur le blog permet de clarifier nos recherches et les transmettre (aux autres mais aussi dans le temps). Enfin, la mise en application sur nos vrais projets est un plus considérable.

Des objectifs atteints

Les objectifs de ce BarCamp de 3 jours sont non seulement atteints, mais même dépassés, puisque nous avons pu nous approprier les techniques et les technologies dont nous avons besoin au quotidien et, ce qui n’avait initialement pas été prévu, les mettre en oeuvre sur certains de nos sites internet qui sont déjà en ligne.

La dream team

 

Les avantages d’un BarCamp

Ils sont importants :

  • la possibilité pour toute l’équipe de participer à la formation en même temps,
  • le fait de pouvoir traiter sereinement les demandes urgentes émanant de l’entreprise et de pouvoir différer les autres,
  • la diversité des sujets traités : 32 articles en 3 jours !
  • un processus d’apprentissage actif et intensif,
  • le fait de pouvoir appliquer immédiatement le savoir acquis à des projets existants,
  • l’apprentissage de ce qui nous est réellement utile,
  • le fait de pouvoir travailler sur des technologies pour lesquelles les formations n’existent pas encore.

Un mode de travail à par entière ?

L’autre constat est que le fait de se « couper » de l’entreprise était indispensable. Il nous permet de bénéficier d’une bien plus grande disponibilité et donc efficacité pour ce travail de veille. Associé au fait que nous pouvons travailler partout où nous bénéficions d’une connexion internet et d’électricité, la question se pose de savoir si ce mode de travail ne mériterait pas d’être plus utilisé. Pas au quotidien mais par exemple en cas de pic de charge sur projet important.

Il existe une condition indispensable pour que cela fonctionne : les personnes doivent être motivées, pour ne pas dire passionnées par leur métier.

Les améliorations à apporter

Après un court débrief, voici les éléments qui ressortent :

  • les résultats de ces trois jours sont très intéressants et n’auraient pas pu être obtenu dans notre contexte de travail habituel,
  • d’un point de vue matériel un vidéoprojecteur, un amplificateur wifi ainsi qu’un serveur de tests seraient un plus appréciable,
  • les chambres d’hôte, avec une salle de travail, semblent être la bonne forme d’hébergement,

Merci aux collègues que nous avions prévenus et qui ont joué le jeu. Nous avons reçu beaucoup moins de mails et, bien que les lignes téléphoniques furent basculées sur nos portables personnels, beaucoup moins d’appels téléphoniques que d’habitude. Gageons que ce n’est que partie remise et qu’à notre retour nous aurons à traiter toutes les demandes ajournées.

Dans cette série : la première journée, la deuxième, la troisième et le bilan.

BarCamp Web 2012 – 3ième journée

Le matin après avoir répondu en urgence à une demande du service export, nous commençons nos travaux, avec :

La rédaction, la correction et la publication des articles en cours.

AJAX théorie, ce qui permettra d’améliorer l’expérience utilisateur.

AJAX selon JQuery, donc mise en application immédiate de ce qui a été vu précédemment.

CSS3 : l’avenir se conjugue au présent 😉

Débugage sur Rails, afin de gagner un peu temps.

Routes en rails, sujet abscons s’il en est.

La frise chronologique Facebook, encore lui 😉

Direction la Brasserie du Commerce.

Unique, Frédéric qui cale sur une entrée !

Et l’après-midi :

La gestion des dates sur Rails. parce que c’est toujours compliqué, les dates.

Aide mémoire sur les formulaires en Rails 3 afin d’éviter de perdre du temps.

Le e-commerce sur Facebook, un peu de veille, ne sait-on jamais.

Retour sur Caen peu après 18 h, un peu fatigués, mais contents !

Dans cette série : la première journée, la deuxième, la troisième et le bilan.

BarCamp Web 2012 – 2ième journée

P’tit déj. (avec Haddock qui ronfle toujours !) et c’est parti pour la matinée.

Mise en application du système de notation sur un projet de test, quasi immédiate, puisque la théorie fut traitée hier.

De nouveau le référencement naturel, dans la droite ligne de ce qui a été fait hier.

Nous avons continué à travailler sur git. Et enfin nous avons trouvé l’instruction magique qui va nous permettre d’utiliser pleinement cet outil très puissant, sans devoir l’attendre et l’attendre encore.

Un repas sur le pouce, dans le jardin, sous un magnifique soleil printanier 😉

Le repas dans le jardin

 

L’après-midi nous avons étudié :

  • HTML 5 un pied dans l’avenir, mais des éléments à utiliser dès à présent.
  • extraits enrichis. Ou comment améliorer notre référencement en fournissant toujours plus d’informations aux moteurs de recherche 🙁
  • git avec la confirmation par les chiffres de ce que nous avions découvert la matin.
  • vim, une bonne avancée qui nous fait prendre conscience de la puissance de cet outil.

La journée se terminera sous la verrière à refaire le monde 🙂

Comme à l'accoutumé Thomas fait la vaisselle !

Dans cette série : la première journée, la deuxième, la troisième et le bilan.

 

BarCamp Web 2012 – 1er journée

Lundi soir, 18 h, arrivée après 1 h 30 de route à la Maison de Chevreuil – http://www.maisonduchevreuil.com.

Nous sommes accueillis par Sophie, notre hôte, dans une superbe propriété, très spacieuse.

Emmanuelle aura sa propre dépendance en guise de chambre, celle de Thomas sera choisie en fonction de la salle de bain, forcément ;-), et Frédéric celle où une grande pièce fera office de bureau.

A peine installés, nous commençons la connexion de nos (huit !) ordinateurs sur le wifi de la demeure.

Puis sur le conseil de Sophie, direction le restaurant la Satrouille, sur le port de Cherbourg : http://www.cherbourg.maville.com/sortir/restaurant-fiche_-La-Satrouille-Restaurants-Restaurant-traditionnel_49325-1_cuisine.Htm. Cuisine toute en saveur, originale, chef passionné par son métier : un régal.

Mardi, 8 h 00 : p’tit déj. bien traditionnel et bien bon. Chocolat, baguette, beurre, oeuf, marmelade, viennoiseries… avec Haddock, le chien, qui ronfle sous la table !

8 h 30 : arrivée de Lise et Julien, puis direction le « salon » de la chambre de Frédéric pour terminer d’installer les connexions Wifi et déménager (deux fois ;-)) les meubles pour capter la box qui est de l’autre côté de la cour. 2 ordi. en Wifi, 3 en 3G et c’est parti.

Ceci confirme une intuition : nous pouvons travailler partout où nous avons une connexion internet fonctionnelle et de l’électricité pour alimenter les ordinateurs. Ce qui signifie, avec une bonne batterie, partout où la couverture 3G est assurée. Pas de papier, pas de classeur : la dématérialisation a aussi ses avantages en terme de mobilité.

Nous nous répartissons les sujets puis après avoir réalisé nos recherches au cours de la matinée, nous faisons à tour de rôle une présentation des travaux  :

Jquery et la fonction on() : une fonction JQuery afin de gagner du temps.

Image Magick : un outil que nous utilisons déjà, très puissant.

HAML, il n’y a pas que le HTML pur dans la vie : un nouveau langage afin de gagner du temps.

ce que nous attendons d’un IDE : notre pain quotidien. Mais quelles sont les fonctionnalités que nous utilisons réellement ?

SASS – SCSS / Compass Ruby on Rails : encore un nouveau langage.

cashback : une technique de référencement sur internet inconnue de la plupart d’entre nous.

L'équipe en pleine concentration

 

12 h 30, direction la charcuterie des parents de Julien où nous sommes fort bien accueillis et avons le droit à un très bon assortiment de charcuteries et de salades. Un repas pour 5 € par personne ! Plus d’un repas en fait, vu la quantité… et la qualité 😉

L’après-midi fut en partie consacrée à la mise en pratique des technologies découvertes le matin. Avec pour HAML et SASS, l’installation sur un projet de test, puis la mise en place sur un site internet déjà en ligne. Ou comment en quelques heures, découvrir une technologie, la tester et la mettre en œuvre dans les faits ! Cela nous permettra dès notre retour de gagner en efficacité.

Nous travaillerons aussi à Améliorer la performance de vos sites Web. Meilleur confort pour les internautes (donc fidélisation accrue) et meilleur référencement. Ce qui a été mis à jour au cours de cet atelier sera généralisé sur tous nos nouveaux sites.

Ainsi que les animations avec JQuery. Ou comment envisager la diminution de Flash, technologie dont la compatibilité avec terminaux est contestable et qui est lourde à mettre en place, au profit de JQuery, dont l’usage ne cesse de se développer. En attendant le support par tous les navigateurs de HTML 5 et CSS 3.

Ainsi que les systèmes de notation, notamment Google. Depuis le temps que nous en parlions, nous y voyons plus clair !

Bien entendu, la recherche porte aussi sur le référencement naturel, sujet vaste et complexe mais au combien nécessaire.

Enfin,  nous avons aussi étudié comment vim pouvait répondre à notre problématique évoquée le matin au sujet des IDE.

Nos travaux se terminent peu après 18 h, après une présentation de nos recherches aux autres membres de l’équipe.

Le repas du soir fut pris chez Lise. Heureusement, ce fut léger 😉

Dans cette série : la première journée, la deuxième, la troisième et le bilan.