reprends le style de l'histoire

This commit is contained in:
Yannick Francois
2020-04-13 23:04:09 +02:00
parent a3e3e68e37
commit ef256082dd
3 changed files with 743 additions and 165 deletions
+221
View File
@@ -0,0 +1,221 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Yannick François - Elsif.fr</title>
<meta name="DC.title" content="elsif.fr, site de Yannick François aka yaf (ou ya_f)."/>
<meta name="description" content="Le site de Yannick François. Développeur Senior, Responsable Produit, Pédagogue. Je travail chez Scopyleft"/>
<meta name="keywords" content="code, développement, programmation, apprentissage, apprendre, lean, agile, logiciel, tdd, objet, refactoring, libre, creative commons, linux, unix"/>
<meta name="author" content="Yannick François, https://elsif.fr"/>
<meta name="designer" content="Yannick François, https://elsif.fr"/>
<meta name="geo.placename" content="Poissy, Ile de france, France"/>
<meta name="robots" content="index,follow" />
<meta name="language" content="French" />
<meta name="HandheldFriendly" content="True" />
<meta name="MobileOptimized" content="320" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" />
<link rel="index" title="Yannick François / Développeur / Pédagogue" href="index.html" />
<link rel="alternate" type="application/rss" href="/feed.xml" title="elsif.fr/feed" />
<style>
body { font-size:16pt; max-width:42rem; margin: 1em; color: black; background: white; font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif; }
a { color: darkred; }
a:hover { background: gold; }
a:visited, a:active { color: dimgrey; }
nav { text-align:center; font-size:smaller; padding: 0; margin: 0; }
nav li { list-style-type: none; }
.portrait { margin: 1em; }
h2 > a, h2 > a:active, h2 > a:visited { color: lightgrey; text-decoration:none;}
h2 > a:hover { color: black; text-decoration:underline }
</style>
</head>
<body>
<article>
<h1>Une mission bancale</h1>
<p>Cest lhistoire dune mission qui ne se passe pas très bien, surtout à la fin. Personne na été blessé, personne na vraiment souffert. Cest un environnement pas des plus agréable pour travailler que jai traversé durant ces quelques jours de 2015. Il me semble intéressant de partager aussi ce genre daventure.</p>
<p>La mission commence en mai 2015. Je venais de quitter Simplon, et j’étais retourner minscrire chez Port Parallèle. Lobjectif étais de rentrer chez /ut7, de faire comme si j’étais chez /ut7, de travailler chez ds clients comme si j’étais chez /ut7, sans y être administativement. Pendant ce temps, nous allions constituer la trésorerie nécessaire à mon entrée dans cette SCOP.</p>
<p>La mission sannonçait plutôt pas mal pourtant. Cest dans la boite de connaissance (peut-être damis pour certaines personnes chez /ut7) ayant participé à Agile Open France au moins une ou deux fois. Pourtant, je vais découvrir que nous navons pas du tout la même façon de voir lagilité, de pratiquer notre métier.</p>
<p><em>je nai pas commencé à journalisé au début de la mission, ou bien jai perdu des journaux, je ne sais plus</em></p>
<h1 id="mardi-19-mai-2015"><a href="#mardi-19-mai-2015">#</a>Mardi 19 mai 2015</h1>
<blockquote>
<p>Il faut faire un point</p>
</blockquote>
<p>Réaction très forte de Thibaut, un des membres de l’équipe. France voulais faire une redirection après la création dune ressource : retourner à lindex. Ça semble logique, mais comme ce nest pas écrit dans les specs… Jai mal à mon esprit agiliste.</p>
<p>Le repas du Midi avec Étienne et un des responsable chez ce client nous permet dexprimer nos difficultés face à certaines pratique de chez eux.</p>
<p>Je suis sensé être invité pour boire une bière avec les Acrhi (les grands boss expérimenté de cette boite). Cest noté !</p>
<p>Je suis content de la journée. Début de reprise de certaines partie du code que je ne trouvais pas agréable. Et lapplication commence à ressembler à quelque chose.</p>
<h2 id="mercredi-20-mai-2015"><a href="#mercredi-20-mai-2015">#</a>Mercredi 20 mai 2015</h2>
<p>Ce matin jai binomé avec France pour nettoyer un peu encore le code <a href="https://nodejs.org/">node</a>, ajouter des tests, supprimer des duplications et ajouter une règle de gestion. Ça fait du bien :-)</p>
<p>Cette après midi, cérémonie. Le client final arrive en retard.</p>
<blockquote>
<p><strong>Cérémonie de laprès midi, avec un estomac bien rempli, resultat non garanti</strong>.</p>
</blockquote>
<p>Je suis un peu surpris par la démo. Cest un peu bordelique. Le client final naide pas. Perte de temps, dispersion. Celui quon nome ScrumMaster chez mon client avoue ne pas avoir beaucoup regardé lappli. La rétrospective me semble un peu plate. Nous évoquons quand même des craintes sur le code sale.</p>
<p>Comme bien souvent, jai le sentiment que les raisons qui ont poussé à choisir cette stack technique sont douteuses. En plus de node, nous utilisons <a href="https://angularjs.org/">AngularJS</a>, et une base <a href="https://www.postgresql.org/">postgresql</a>.</p>
<p>Une bonne discussion pour la plannification. La recette chez mon client permet de calculer des points et de choisir des US. Cest bien commode, cest bien codifi. Ceci dit, je crois que nous en avons encore trop prit. Nous verrons. Cest peut-être pas si bon que ça davoir ce genre dabaque, ça se saurait si ça fonctionnait :)</p>
<p>Je suis fatigué, on a fini tard: 20h.</p>
<p>Jai acté avec le commercial du projet que je nai que les 16h30 provisionné sur le projet pour le moment. Je peux consommer comme je veux, mais pas plus. Je vais donc adapter ma présence avec l’équipe. Dans un premier temps je vais venir un peu plus (le vendredi en plus), et je viendrais moins en juin.</p>
<h2 id="vendredi-22-mai-2015"><a href="vendredi-22-mai-2015">#</a>Vendredi 22 mai 2015</h2>
<p>Stand up qui va bien. Nous avons du retard, cest principalement du au client final qui na pas validé les tickets. Il est loin ce client.</p>
<p>Nous partons ensuite chacun sur nos tickets. Pas de pair programming. Cest triste. Surtout que je pense que cest pour un soit disant gain defficacité. Mais comment gagner en efficacité alors que deux des trois développeurs sont des stagiaires ?</p>
<p>Un des stagiaires part sur le ticket dupload de photo. Cest un peu la galère: la lib angular envoie le fichier en mode streaming (intéressant pour ne pas bloquer linterface utilisateur), mais du coup node le recoit bizarrement. Il manque peut-être un truc pour cloturer la reception ?</p>
<p>Lautre stagiaire part elle sur l’éditeur WYSIWYG. Je nai pas assez insisté pour ne pas faire cette feature, jaurais peut-être due ? Après quelques essais, elle à finalement réussie à le mette en place.</p>
<p>De mon coté, jai voulu faire du nettoyage du code coté client (organiser un peu les repertoires angular). C’était galère. Je faisait des pas trop grand. Jai fait plusieurs fois des retour en arrière pour avancer dun plus petit pas. Au final, je nai pas fait tout ce que je voulais. Jai ensuite fait un premier pas sur le système de recherche: un champ avec une query avec un <code>where =</code>. Jai ensuite exploré la recherche en full text search. Je crois que nous allons faire tout ça à la main.</p>
<p>Après une journée un peu hard. Jaide le premier stagiaire à trouver un contournement au fonctionnement de lupload. Nous avons faire un formulaire or angular pour envoyer le fichier en direct à node, puis nous le stockons dans un repertoire local, avec enregistrement du chemin…</p>
<p>Entre les difficultés à maintenir une organisation clair des fichiers, les galères sur lupload, et le fait que les deux stagiaires ont déjà beaucoup de chose à apprendre, je me demande si AngularJS est un choix judicieux ? De plus je ne vois pas trop quel est lintérêt pour lusage du client ?</p>
<p>En fait je me demande si ce projet naurait pas été plus simple avec du html/css/jquery/nodejs/mongodb plutôt que du html/css/angular/node/postgres. Est-ce que le changement est encore faisable ? Je pense que pour mongo cest moins indispensable… Mais nous pourrions gagner du temps de réalisation en supprimant angular :-)</p>
<h2 id="mardi-26-mai-2015"><a href="#mardi-26-mai-2015">#</a>Mardi 26 mai 2015</h2>
<p>Jai démarré la journée en pensant quil fallait que nous passions le projet sur html/css/jquery, nodejs et mongodb, et je la termine en me disant, &quot;ok tant pis, mais du coup mettont tout dans angular. Ce sont les stagiaires qui insiste pour garder Angular. Je ne vois toujours pas lintérêt de ce truc, mais autant sen servir à fond pour savoir.</p>
<p>Le client final commence à chouiner. La fin du projet va être difficile avec lui.</p>
<p>Je test une nouvelle configuration de vim: numérotation de lignes relative et ligne courante souligné. Pas mal.</p>
<p>Jai craqué le soir, jai fusioné les deux repertoire client et server du projet. Ça mennuie davoir travaillé le soir pour eux, mais jen avait vraiment envie.</p>
<h2 id="mercredi-27-mai-2015"><a href="#mercredi-27-mai-2015">#</a>Mercredi 27 mai 2015</h2>
<p>Ce matin, nous nous sommes dépéché pour finir les derniers points. Du coup nous avons livré une régression… Retour arrière aussi vite que possible… Jai vraiment le sentiment que nous courons après les points.</p>
<p>Cest dailleurs évoqué en retro, lors de la cérémonie de laprès midi. Il y a aussi des grandes discussion sur la célérité. Le stagiaire voudrais la doubler pour pouvoir utiliser plus de couleurs pour définir les tickets. Le scrum master semble contre, il préfère que lon découpe plus les tickets… Je fais linnocent en demandant pourquoi au stagiaire (je ne comprenais vraiment pas ce quil voulais faire pendant la cérémonie). Après la cérémonie, il ma expliqué. La célérité représente une sorte de ticket possible par jour (et par personne… ), et le <em>standard</em> ici cest de finir un ticket tout les jours. Cest donc interdit davoir un ticket à 3 points si la célérité est de 3 ou moins.</p>
<p>Tout ça pour faire du code pour un client… Je ne suis pas sur que ces <em>standard</em> aide vraiment à faire fonctionner les équipes. Mon intuition cest que cest utilisé pour savoir comment l’équipe avance en cours de sprint. <strong>Ça sent le contrôle à fond</strong>. Dommage pour lefficacité.</p>
<p>Jai fait le taf du scrum master (sans le vouloir) pendant la cérémonie: jai demander au client de bloquer une demi journée toutes les semaines, histoire quil soit dispo toujours à cette date.</p>
<p>Cest à ce demander si des formations dev en mode Gym Club pour les aider à faire monter des dev en archi + des formations scrum pour les scrum master ne serait pas intéressant pour eux. Le hic est quils ne font rien si ce nest pas facturé (le principe des boite de services qui essaient d’être rentable sur chaque minutes…).</p>
<h2 id="vendredi-29-mai-2015"><a href="#vendredi-29-mai-2015">#</a>Vendredi 29 mai 2015</h2>
<p>Nous avons encore fait le lapin blanc… Nous sommes en retard. Bruno, le scrum master nest pas là, alors quand nous faisons le standup, Antoine (le commercial, scrum master sur dautre projet normalement) viens faire un passage en mode “mais pourquoi”…</p>
<p>Thibaut à essayé de mettre en place des outils de specs executable ET travisCI. Travis fait tourné les tests unitaires que jai écrit sur la partie nodejs, mais pour les specs executables, ça semble plus difficile. WebDriver ou je ne sais quel protractor ne semble pas fonctionner. Jespère quil à réussi à faire quelque chose dans laprès midi.</p>
<p>France à fait des essais de librairie pour faire du PDF. Mais elle essaie den faire trop peut-être. Japprend que l’équipe à décidé hier (jeudi) de dire que ce ticket de “recherche” devait avoir un livrable dans lapplication. <em>Je ne suis pas sur de bien comprendre ce que cette boite entend par ticket de recherche du coup ?</em>. Alors elle aussi est en <em>retard</em>.</p>
<p>De mon coté, je démarre avec Ansible. Cest amusant et pas trop compliqué. De la configuration yaml. Dommage que ça ne soit pas du code ? <strong>Je me demande comment faire du TDD sur ces sujets, comment automatiser les vérifications que je fait manuellement</strong>, Il faudra que jen parle avec la super équipe qui a mis ça en place chez Mourinex ! :-D</p>
<p>Je commence aussi à modifier le script de déployement pour livrer lapplication sur le serveur de prod. Ça me permet de voir quil manque git. Je finirais mardi.</p>
<h2 id="mardi-2-juin-2015"><a href="#mardi-2-juin-2015">#</a>Mardi 2 juin 2015</h2>
<p>Aujourdhui, nous sommes encore en retard… Apparement France nest pas en forme. Jai appris que ça mère viens darriver de Chine. Cause-Effet ? Peut-être. Du coup elle dit que cest elle qui est en retard. <em>Esprit d’équipe bizarre ici par rapport à ce genre de sujet</em>.</p>
<p>Je continue sur Ansible et Capistrano. Un peu galère davoir la prod et la préprod sur le même serveur. <em>Cest là que je pense très fort à des container</em>. Mais au final je men sors (avec du retard par rapport à la prévision). En plus, je me rappel sur la fin que pour générer du PDF, nous avons besoin de la dernière version de wkhtmltopdf, une installation hors paquet debian du coup. Cest un peu galère au dernier moment. Je finirais demain matin. Tant pis pour lupload de photo qui ne fonctionnera surement pas.</p>
<p>Quelques questions darchi avec Tibaut. Il me parle ce qui pour lui est normal: créer une table avec lid (mais rien dautre) ET une table de jointure avec le même id plusieurs fois, lié à des id de documents… Je lui propose de tout mettre dans la même pour le moment… ça semble lui faire bizarre.</p>
<p>Journée un peu rude (des échecs sur la mise en production), mais globalement tout semble rouler un peu mieux…</p>
<h2 id="mercredi-3-juin-2015"><a href="#mercredi-3-juin-2015" class="title-mark">#</a>Mercredi 3 juin 2015</h2>
<p>Ce matin, je fini de réparer le ansible/capistrano. Je regrette davoir fait le déployement en capistrano. Nous aurions pu le faire avec ansible, et ainsi utiliser le même outil pour le provisionning ET le delpoiement.</p>
<p>France nest toujours pas dedans. Mais elle me signale un soucis quand elle essaie de déployer. Nous regardons. Effectivement, ya une truc qui coince avec Forever (loutil nodejs qui soccupe du monitoring du process node).</p>
<p>Thibaut est toujours empétré dans les test fonctionnel. Apparement, quand cest pas protractor qui merde, cest travis. Il faut que je trouve une strategie pour mettre plue de test unitaire. Ça maidera à avoir un peu plus confiance dans notre code, et ça me permettra de relativiser un peu plus le manque de tests fonctionnel.</p>
<p>Cette après midi, cérémonie. Le SM est speed. Il a un train pour Londres ce soir. Jai appris ce midi que lui aussi après le projet, il part à Londres. <strong>Cest sur, pas de rab pour moi, ou alors ça sera avec une autre équipe !</strong>. Je regle aussi un soucis de date, disons une mauvaise compréhension. Je vais donc finir les deux dernières semaines à 1 jour par semaine.</p>
<p>La cérémonie se passe plutôt bien. Mais France est encore à coté du sujet. Pas concentré. A la fin, il nous reste un peu de temps à nous, l’équipe. Du coup on remet un peu les doigts dans le code. Jen profite pour parler un peu avec France. Effectivement, elle a des soucis lié à son stage à Londres et ça mère qui est aussi ici… et peut-être dautre truc. Je lui dit que ce nest pas grave, et que je préfère savoir que cest ça plutôt quun truc avec l’équipe.</p>
<p>Jai vraiment un soucis avec leur cérémonie. Mais comment faire autrement ? Avec des stagiaires, un po qui est client, un sm qui est commercial… Dur de trouver le bon ton, le bon rythme, la bonne façon de procéder. <em>Peut-être à la fin du projet, jaurais trouvé une proposition à leurs faire :-p</em>.</p>
<h2 id="mardi-9-juin-2015"><a href="#mardi-9-juin-2015" class="title-mark">#</a>Mardi 9 juin 2015</h2>
<p>Ce matin, après un update (git pull et revue/discussion), jessaie de voir les soucis de deploiment dont l’équipe ma parlé hier par email. Et là, paf le chien, je me retrouve coincé, impossible de déployer.</p>
<p>Je peux me connecter au serveur en ssh, mais le capistrano ne fonctionne pas, un soucis de ssh. Je me rappel que Capistrano utilise un <em>forwarding agent</em>. Cest ça qui coince. Je prend quelques renseignements, jessaie de vérifier étape par étape si un truc coince…</p>
<p>L’équipe ayant bien avancé, ils continuent sur leur lancé, moi jessaie de me dépatouiller.</p>
<p>Je binome un peu avec eux. Ils ont du mal à apréhender la notion de callback JS. Idem pour les problématique de SQL.</p>
<p>Antoine est venu mettre un coup de <em>pression</em>: <em>Vous navez pas encore fait le standup, il faut le faire à heure fixe</em>. Nous attendions Bruno, notre scrum master. Mais du coup, tant pis nous avons fait le daily sans lui.</p>
<p>Laprès midi, finalement un autre archi me donne la solution, il fallait que je re-donne ma clef privée à lagent: <code>ssh-add .ssh/id_rsa</code>… Ça fonctionne.</p>
<p>Jen profite pour faire un peu de shell pour rendre le processus de deploiement un peu plus robuste.</p>
<h2 id="mercredi-10-juin-2015"><a href="#mercredi-10-juin-2015" class="title-mark">#</a>Mercredi 10 juin 2015</h2>
<p>Ce matin, la cérémonie devait commencé à 8h. Javais pris des disposition pour pouvoir être là vers 8h30 au plus tard. Je suis arrivé à 8h15, le PO était en retard.. (alors que cest pour lui que nous avons fait ça très tôt).</p>
<p>Nous ne faisons pas vraiment de demo, mais plutôt la validation de tickets qui traine. Il se trouve quun nouveau cas non prévu bousille tout une partie des features que nous avons fait. Du coup plein de ticket reparte dans le backlog. Nous avons oublié quune affaire doit absoluement avoir un interlocuteur…</p>
<p>Ce raté est en partie du à nous qui navons pas rappelé au PO ces sujets, et à lui qui est vraiment en mode: “ok, lagilité, cest j’écris mon cahier des charges sur des petits tickets dans un outils en ligne, cool”. Mais lapplication, dont il nest pas et ne sera pas utilisateur apparement, nest toujours pas dans les mains dun utilisateur… Il y aura dautres surprises !</p>
<p>A la pause, il reçoit un coup de fil qui le met dans une drole dhumeur… A son retour, il commence à simpatienter, il est nerveux. Il nous reproche de ne pas aller assez vite, et malheureusement l’équipe lui donne raison (sans vraiment le vouloir je pense ?) en exprimant un sentiment daller trop doucement…</p>
<p>Jessaie dattirer leur attention sur le nombre de chose que nous avons fait, sur le fait que ce sont des features un peu masqué (sans interface graphique).</p>
<p>Le PO part avant la fin, nous essayons de faire le planning sans lui, mais il y a trop de question pour pouvoir le faire correctement. Gros sentiment d’échec. Bruno, le SM, men fait par le midi: “Cest un gros échec pour moi”. Nous discutons un peu sur les trucs possible qui pourrait rattraper le coup.</p>
<p>En même temps, Bruno et France vont partir à Londres à la fin du projet, ça se ressent.</p>
<p>Laprès midi, Thibaut est tout feu tout flamme, comme dhabitude, et veux coder 12 trucs en même temps. Mais il oublie de verifier que cela fonctionne, d’écrire des tests, de nettoyer son code… Bref.</p>
<p>Ils ont rendez-vous au téléphone ce soir avec le PO pour essayer de finir le planning. De mon coté, jai essayé de faire une feature ET de faire du refatoring… peut-être un peu trop. Du coup, au moment de push, je pull et lance les rare tests dintégrations, <em>paf</em>, jen ai pété un. Je vais être en retard au JSLDD, mais tant pis, jessaie de corriger. Je ny arrive pas, Cest pas très simple, nous navons pas commecé sur de bonne base lutilisation dangular, et les refactoring nécessaire sont parfois délicat. Le débugage aussi ! Je pousse ma branche et laisse un message. Jespère quils vont trouver la solution demain.</p>
<h2 id="mardi-16-juin-2015"><a href="#mardi-16-juin-2015" class="title-mark">#</a>Mardi 16 juin 2015</h2>
<p>Je me retrouve à réparer le build, mais pas suite à ce que javais laissé la dernière fois. En fait hier, il y a eu une boulette, et peut-être une boulette par dessus… bref. Une histoire de variable, de setup, doublie de function et autres bricole.</p>
<p>Pendant le daily, Benjamin est venu surveiller… Il me redemande (avec Bruno) si je peux être en ligne (skipe/hangout) pendant les Daily. Jexplique que cest compliqué de prendre du temps sur dautres client… Benjamin me demande un postmortem sur les histoires de test qui sont rouge. Il insiste aussi sur leur questionnaire devops, il essaye de voir si nous avons bien compris ce que ça signifie (nous sommes sous le standard depuis le début, ça les chatouillent on dirait ! :-)).</p>
<p>L’équipe à vraiment bien avancé, le backlog du sprint et vide. Comme cette après-midi France et Bruno vont chez le client pour faire un tour de lappli avec un oeil UX/Design, nous avons décidé de ne pas prendre des tickets en plus. Nous optons pour une phase de nettoyage du code. Thibault met en place un outil de qualité de code, et suite à ça, se lance dans le refactoring. De mon coté, jessaie de mettre en place des outils pour pouvoir bénéficier dun environnement de test propre, un environnement de dev et un de prod. Ça nous permettrais dau moins mettre en place un reset de la base avant de lancer les tests. Le mieux serais de pouvoir mettre en place une sorte de factory-girl.</p>
<p>Après mon email <em>post-mortem</em>, Benjamin me répond en parlant de ne faire que des choses qui apporte de la valeur pour le client, des choses que le client verra, pour quil se rende compte de ce que je fait… Je trouve que leur mode de travail laisse peut de place à la qualité. Ce matin il évoquait le fait que le client pouvait décider de la non qualité de son application… <strong>beurk</strong></p>
<p>Ce midi je suis allez manger avec 6 petits jeunes <em>développeurs</em> dici (cest Thibaut qui ma emené avec ces copains). Et bien ils sont tous stagiaires. Lun dentre eux, arrivé hier, à fait une réflexion: “mais ya que des stagiaires ?” :-)</p>
<h2 id="mercredi-17-juin-2015">Mercredi 17 juin 2015</h2>
<p>Ce matin cest cérémonie chez le client. Une société qui controle des travaux, avec des gros sous donc. Avenue Iéana… Jarrive en retard, je suis orienté en sous-sol vers la salle de réunion. Grande pièce, fauteils en cuir énorme, une table en bois précieux énorme, bref, ça sent largent frais…</p>
<p>Le client se plaint des régressions, cest vrai quil y en a pas mal. Hier en refactorant nous avons cassé pas mal de truc… Il est content car il va sen servir pour négocier un tarif sûrement.</p>
<p>Le chrono est bien tenu, la cérémonie ne dépasse pas le temps imparti, par contre la rétro est quasi passé à la trappe. <strong>On voit bien les priorités</strong>. Bruno négocie le fait que je puisse être là au daily le matin. Je vais du coup plutôt faire des demi-journées surement.</p>
<p>Après le repas, de gros échange avec Thibaut et France sur les tests, trop de tests, pas assez, comment on fait… Une vrai négociation. Je narrive pas à faire comprendre mon point de vue à Thibaut. Je me rend compte que jai peu dargument. <em>Est-ce vraiment important dailleurs ?</em> Jonhatan évoque sur slack que george est codé sans tests. Cette idée fait un bout de chemin durant laprès midi, après que jai décidé darreter de convaincre Thibaut.</p>
<p>Antoine, le commercial de laffaire, a reçu un email du PO/client. Bien sur, il se plaint. Il commence une négo. Mais Antoine vient nous voir avec Bruno pour faire une réunion/point pour avoir des billes à lui opposer. La réunion est un peu cliché, cest un peu chiant de revenir encore sur ces histoires de tests. Surtout que je suis en reflexion, prêt à justement faire une impasse dessus, alors quAntoine et Bruno, insiste sur le fait de devoir les faire et de présenter cela au client comme indispensable. Je vis ces remarques comme assez dogmatique. <em>Est-ce que je vieilli sur ces sujets ?</em>. Je me rend compte que le TDD maide à programmer proprement, mais que je ne suis pas pour une couverture de tests à 100%. Je crois que Thibaut pense que je souhaite cela. En fait je commence à proposer de faire des tests maunellement surtout, de les écrires et les dérouler.</p>
<p>Je suis en retard pour la réunion avec les potentiels futurs élèves, je me sauve avant de les avoir entendu statué sur le sujet. De toute façon je ne les voient que lundi matin prochain, je verrais bien le résultat.</p>
<p>Bizarre de travailler dans une équipe de cette manière. Le plus bizarre et de faire de la production pendant juste quelques jours…</p>
<h2 id="mardi-23-juin-2015">Mardi 23 juin 2015</h2>
<p>Pas de courant chez le client aujourdhui, je travail depuis la boutique.</p>
<p>Nous faisons le daily meeting sur Slack, comme hier matin, il ny a pas Bruno (hier je suis passé faire le daily seulement). Cest bizarre. En plus d’être avec 2 stagiaires, je me retrouve sans un garant des pratiques du client. Cest un coup à me faire faire tout changé :-p.</p>
<p>Nous sommes en retard daprès les standard défini ici. Il faut donc se fouetter avec des orties. En gros, nous avons travaillé sur des sujets hors scope, hors ticket hier, et nous navons pas comptabilisé latelier chez le client dans la vélocitée. <em>Je trouve tout ce système bien lourd à la longue, quest-ce que le client réclame vraiment ? Est-ce que tout cela nest pas pour servir un discour commercial ?</em> Jaimerais bien debriefer avec Étienne sur l’échange que nous avons eu avec Antoine à Agile France.</p>
<p>Je commence un ticket qui a posé problème à Thibaut hier, un truc de date. Je me focalise sur un point: ne pas pouvoir saisir une date inconnu: le 34 mai 2015. Il se trouve quen fait, Angular le gère déjà en glissant jusquau jour qui conviens, dans lexemple, la date utilisé sera le 3 juin 2015 (34 - 31 = 3). Du coup je comment et passe à un autre ticket en attendant le verdic du client. Jajoute un footer dans le pdf, sans faire beaucoup de refactoring.</p>
<p>Le client répond dans laprès midi que cest ok de ne rien faire sur ce sujet, mais il rappel quil ne faut pas pouvoir saisir une date futur… Jai mal lu le ticket ou bien ce n’était pas précisé ?</p>
<p>Thibaut a encore faire une remarque: &quot; jai passé le sprint à faire des tests, il faut que nous fassions des points maintenant &quot;</p>
<p>A suivre demain.</p>
<h2 id="mercredi-24-juin-2015">Mercredi 24 juin 2015</h2>
<p>Ce matin, je suis de mauvaise humeur. Une histoire de clefs introuvable, un plombier qui devait venir à 8h qui nest pas là à 8h45, du coup je pars quand même, je suis en retard à la cérémonie…</p>
<p>Nous partons encore dans des histoires de forme, de standard, de points, destimations. Je suis un peu fatigué et ça ne passe pas bien. Je crois que ça se voit. Le client nest pas très heureux non plus. Est-ce quil joue pour négocier ?</p>
<p>Thibaut me fatigue un peu parfois, il ne prend pas de recul sur sa pratique. Je pense que France là dessus remet plus facilement en cause, et se pose plus de question. Bruno lui essait de faire avancer le projet, mais en collant aux standards définie.</p>
<p><em>Quel est lobjectif de ces standard ?</em> Je me demande si cest pour controller les troupes/projets au sens large, ou bien juste pour être sur que les scrum master ne soit pas inutile, ou encore si ce nest pas un pseudo process pour rassurer le client et pouvoir vendre des prestation. En tout cas, je nai pas limpression que ça maide à avance moi.</p>
<p>Je dois annuler un déjeuner car la cérémonie dur trop longtemps. Tant pis, je le verrais plus tard. Cest un élève de la 2nd promo, celui embauché chez Octo, dans la startup qui fait des app pour entreprise… Peut-être je vais lui proposer de passer demain à la boutique ?</p>
<p>Cet après midi, Valentin, un archi en partance pour Londres, et le coach de France, viens nous aider en mode sous marin (entendre, gratuit pour le client). Cest cool. Du coup il binome avec Thibaut sur les soucis de travisCi et de tests fonctionnels. De mon coté, je binome avec France pour régler des soucis sur la numérotation de documents, et dans loptique de nettoyer un peu le code.</p>
<p>Cest très sympa. Nous essayons des choses pour améliorer le code. Nous enlevons des appels serveurs inutile, des procédures qui ne servent à rien, déplaçons du code du serveur sur le client et inversement… Bref, un grand nettoyage, tout en déroulant des scénarios utilisateurs autour de ces documents, mais manuellement. Je nai vraiment pas envie de prendre du temps pour écrire des scénarios automatisé. Je trouve cela trop douloureux pour le moment. Jaimerais arriver à un code dans lequel nous pourrons faire du TDD (et donc ajouter des tests unitaires sur le code existant) facilement.</p>
<p>France avait parlé dun gros noeud de spageti, je pensais que nous pourrions nettoyer, mais non, cest effectivement un gros bordel.</p>
<p>Avant de partir, un rebase pour faire une pull request, et là, on se rend compte que le refactoring des tests des autres ne fonctionne pas sur la machine de france… Je les laissent essayer de régler cela.</p>
<p>Jai chopé Benjamin vite fait pour voir les histoires de dispo. Pas eu le temps daller chercher Étienne. Apparement, le client actuel souhaite ajouter 3 sprint début aout que je vais faire en 2 semaines puisque jai une semaine prise. Et par contre, il voulait me prendre sur un autre projet, pour 3 semaines, mais cest sur mes congés… tant pis.</p>
<p>Je suis bien fatigué, mais content du code produit avec France. Je ne la reverrais pas tout de suite, elle part à Londres samedi. Jespère que le code ira bien en prod et que jarriverais à travailler avec Thibaut la semaine prochaine.</p>
<h2 id="mardi-30-juin-2015">Mardi 30 juin 2015</h2>
<p>Ce matin, après un point rapide avec Thibaut, je matèle à réparer le serveur de staging (qui est aussi celui de prod). France, avant de partir pour lAngleterre à cassé un truc. Elle à voulu mettre nodejs à jour pour pouvoir faire marché des promèses quelle à mis en place sur sont environnement… Mais ne sachant comment faire elle a ajouté NVM… Une couche par dessus une couche…</p>
<p>Je nettoie tout cela en supprimant toute linstallation, je modifie le script ansible et zou, ça fonctionne … presque. Le paquet Debian de node est à jour: 0.12.5, mais linstallation de NPM ne fonctionne pas. Je met un peu de temps à découvrir quen fait, npm est inclu dans note à partir de la version 0.12. Ouf.</p>
<p>Laprès midi, je prend un ticket que Thibaut ne sent pas. Après quelques échanges avec le client, le ticket se simplifié. Je le fait tranquillement pendant que lui nettoie la génération de PDF.</p>
<p>Vu les températures, ils ont le droit de travailler de chez eux pour le reste de la semaine. Mais demain, nous ferons la dernière cérémonie chez le client, et nous viendrons travailler laprès midi chez Theodo.</p>
<p>Bruno, le SM, était absent tout le matin, et vraiment pas présent laprès midi. Il part en vacances demain soir, avant la fin du sprint qui a lieu vendredi. Comme France, il a déjà la tête en Angleterre. Ça fait même quelques semaines. Thibaut se lache et me faire part de son mécontentement par rapport à Bruno, certaines pratiques ici, et la relation avec le client final qui, par interface électronique interposé, nest pas très fluide.</p>
<p>Est-ce que dautres sont comme Thibaut, pas très enchanté de la façon dont les projets sont géré ici ? Cest possible.</p>
<p>Jai croisé plusieurs fois Julien et Benjamin, ils ne mont rien dit par rapport à mes prochaines journées chez eux. Je déduis que je suis dispo la semaine prochaine. En même temps, je suis en congé juste après.</p>
<h2 id="mercredi-1er-juillet-2015">Mercredi 1er juillet 2015</h2>
<p>Ce matin, cérémonie chez le client. Thibaut à demandé à Antoine de venir. Il est là, posé. Cest pas mal au début il prend un peu le stylo pour animer la cérémonie, mais très vite ça tourne au consultant, donnant de grand conseil… Bof.</p>
<p>Encore plein d’échanges autour du la façon dont on travail plus que sur la façon de mettre de la valeur dans lapplication. Un moment, Bruno me demande de trancher. Je lui explique que non, je ne vais pas trancher sur une pratique qui ne me va pas. Je note plusieurs chose qui me semble ne génante chez eux, les voici un peu en vrac:</p>
<ul>
<li>Pas de démo, cest dommage</li>
<li>grosse perte de temps pour les estimations (avec poker et tout le décorum)</li>
<li>toute la communication (avec le PO) est électronique, ça manque de fluidité</li>
<li>pourquoi pas du flux continue ? (cest peut-être un peu biaisais, lié à mes préférences ça)</li>
<li>un proxy-po aurait peut-être pu aider ? en tout cas, une personne qui sais batir des produits, histoire de pouvoir dialoguer avec le client, qui est celui qui finance. Au lieu dun SM, avoir une personne produit…</li>
<li>tous les clients sont différents, toutes les équipes sont différentes =&gt; pourquoi avoir des standard de fonctionnement valable pour tous ? ya un relan de command&amp;control dans cette histoire</li>
<li>le sentiment que parfois ils oublient que le faire un logiciel et un processus de découverte</li>
</ul>
<p>Je ne peux pas mempécher den parler avec Bruno et Thibaut, mais je ne suis pas sur d’être entendu. Sauf peut-être avec Bruno, nous avons des échanges constructif sur ce point.</p>
<p>Antoine a décelé que Thibaut, Bruno et moi n’étions pas aligné (ce sont mes mots, il a évoqué une mauvaise entente ou un truc dans le genre). Cest assez vrai. J’évoque le fait que je suis daccord, mais que je ne me sent pas du tout de l’évoquer en rétro devant leur client, que cela ne me semble pas propice. Jaurais aimé que eux laborde, pour me donner le signal que c’était possible.</p>
<p>Bref. Etant donné que cest le dernier jour pour moi, et pour Bruno, tout cela me semble bien inutile. Cest bizarre aussi ce fait de ne pas créer une équipe qui dure un peu.</p>
<p>Laprès midi, je code, répare des trucs, supprime une promise inutile et bugué que France nous avais laissé dans le code. fait une petite correction par ci, et un petit ajout de sécurité par là…</p>
<p>Je nai rien demandé à Benjamin ou Julien, que jai pourtant croisé plusieurs fois, et eux non plus ne mont rien dit.</p>
<h2 id="lundi-27-juillet-2015">Lundi 27 juillet 2015</h2>
<p>Cest la reprise. Le projet repart pour 3 sprints. Je retrouve Thibaut qui est toujours Dev. Sajoute Clément que jai déjà croisé, je crois quil a déjà un ou deux projets dans les pattes (jespère), et un autre Benjamin qui fera le SM.</p>
<dl>
<dt>Vendredi dernier, Benjamin ma appelé. Nous avons eu un échange sur le thème de</dt>
<dd>« ton projet est le pire de chez Théodo, comment ça se fait ? » Jai exposé les points comme le départ en Angleterre de Bruno et France, le fait que Thibaut cherche à <em>faire des points</em>… Nous verrons bien. Ce matin, Benjamin (le SM) à remis un peu le couvert : <em>Comment ça se fait que vous navez pas de définition du succès sur le projet ? Comment ça se fait que ce truc nest pas rempli, et que ça, sa ne fonctionne pas …</em> Bref. Ambiance. Thibaut met ça sur le dos de Bruno, je lui rappel que nous avons tous un peu merdé.
</dd>
</dl>
<p>Benjamin et Thibaut sont ok pour utiliser une célérité de 4 ou je ne sais pas quoi. Je ne comprend toujours pas leur usage de ce truc, mais tant pis, je les laisse piloter. Je vais beaucoup moins mimpliquer sur leurs pratique pour éviter de faire des vagues… Le projet se passera peut-être mieux ? En tout cas, je serais sûrement moins affecté.</p>
<p>Nous essayons ensuite de débuguer le Travis qui est rouge (et laissé rouge) depuis bien longtemps… Je part avant de le voir vert. Jespère que demain ça sera réglé…</p>
<h2 id="mardi-28-juillet-2015">Mardi 28 juillet 2015</h2>
<p>Ce matin, pour ne pas changer, le PO/client, est arrivé en retard… Heureusement, nous navons pas fait de rétrospective (démarrage de projet). Décision sur la célérité: elle sera haute… Ah ! Cela permet davoir plus damplitude pour estimer les tickets. Cest vraiment bizarre, mais bon. La cérémonie se passe plutôt bien. Jai limpression que tous le monde était très attentif au fait que ça se déroule correctement et dans les temps.</p>
<p>Choix de petits tickets pour laprès midi, du coup ça dépotte. Enfin, je bouffe tout les petits tickets. Clément et Thibaut avance sur leurs tickets à 2. Est-ce la bonne stratégie ? Nous verrons bien.</p>
<p>En fin de journée jattaque un refactoring histoire de supprimer quelques duplication et daller un peu plus vers une archi où le nodejs sert dAPI et le client, avec angular contient beaucoup de logique métier.</p>
<h2 id="mercredi-29-juillet-2015">Mercredi 29 juillet 2015</h2>
<p>Jattaque aujourdhui un gros ticket. Gros parce quil touche des morceaux de code pas très beau. Lidée est de faire un peu de refactoring… Mais la motivation me manque. Je fais un peu de bricolage, rien de plus. Je fini le ticket. Jentends pendant ce temps les deux autres en train de ce prendre la tête sur lajout dune librairie pour la gestion de lautentification. Je nai pas très envie de les aider.</p>
<p>Ce matin, il y a tellement de personnes qui viennent pour des entretiens que Benoit, notre SM ne peux pas venir faire le Daily. Nous faisons sans lui. Comme nous avons fait beaucoup de petits tickets, les points sont fait. Donc rien à signaler. Pour combien de temps.</p>
<p>Gros manque de motivation aujourdhui.</p>
<h2 id="vendredi-31-juillet-2015">Vendredi 31 juillet 2015</h2>
<p>Ce matin, en arrivant, Clément et Thibaut sont en train de ce poser de grandes questions apparement, mais à mon arrivée, ils décident de plutôt aborder un soucis avec la preprod: elle ne fonctionne pas…</p>
<p>Après quelques questions, je comprend finalement que cest la fonctionnalité qui permet de sauthentifier, que nous devions finir mercredi, qui ne fonctionne pas sur la preprod alors quen local cela fonctionne. Nous partons en daily meeting sur ces échanges. Le Po/client à déplacé des tickets de “à valider” à “backlog” parce quil n’était apparement pas bon. Il a fait des retours sur des sujets qui apparement nont pas grand chose à voir…</p>
<p>Après analyse, il semblerais que sur 5 retour il y a bien 2 régression, deux précision sur les tickets réalisé, et un truc qui na rien à voir… Personnes ne souhaite lappeler pour en parler, je men charge donc. De manière factuel nous abordons ces points et il crée deux tickets (il dit “acheter”) quil place dans le backlog, puis nous discutons du reste, et je lui explique pourquoi la preprod est coincé pour le moment.</p>
<p>Ensuite, Clément et moi essayons de voir ce qui pose problème. Apparement cest le nginx qui bloque les cookies (ou une partie ?), mais Clément à limpression quil y a autre chose qui ne fonctionne pas. Cest vrai quen passant dans certains écrans, il y a “une déconnexion”, cest à dire que nous sommes redirigé vers la page de login. Je lui dit de réparer dabord la partie nginx et nous verrons ensuite, mais non, il sobstine. Ok. Un archi, demandé par Benoit, notre SM, arrive et demande à Clément de lui epxliquer le problème… Au lieu de partir de la situation actuel, il lui refait tout lhistorique. Je pars, cest lheure.</p>
<p>Jai le sentiment de ne pas avoir beaucoup fait avancé le projet, et de travailler avec deux sourds… Plus que 2 sprints, dont un seul chez eux ! :-)</p>
<h2 id="lundi-10-août-2015">Lundi 10 août 2015</h2>
<p>Ce matin, en arrivant, japprend que la préprod est encore en vrac. Apparement un truc aléatoire lors de la génération de certains documents…</p>
<p>Jai passé un bon bout de journée dessus pour au final virer les promesses quils avaient décidé dutiliser pour faire une bonne vieille requête SQL en chaine de caractères. Du coup, ça fait une reuqête au lieu de x (x pouvant aller facilement à 10). Nous regardons ensuite avec Clément comment améliorer le code. Je le force à regarder puisque jai laissé malgré moi des boulettes dans le code.</p>
<p>Quelques échanges technique avec Clément surtout, Thibaut cest lancé dans un ticket “en plus” avec plein de refactoring… Ce soir, il dit ne pas encore avoir attaqué le ticket mais fait du refactoring… Nous verrons demain la quantité de régression (que jespère proche de 0).</p>
<p>Pas de SM de la journée… Enfin si, nous le voyons débarquer vers 17h30. Il nous demande comment ça va et repart.</p>
<p>Benjamin à interpelé Étienne à notre retour du repas. Étienne est parti ensuite en réunion. Jai resenti comme une exclusion, mais javoue que ça me va bien. J’étais content de ne pas être invité. Jai vraiment le sentiment que cest ma dernière semaine ici et ça me va bien. Cest même peut-être ce qui va maider à passer la semaine.</p>
<h2 id="mardi-11-août-2015">Mardi 11 août 2015</h2>
<p>Je suis arrivé avant que les portes soient ouvertes chez mon client… Le client final est en mode pas content: le produit nest pas <em>fini</em>. Il découvre des régressions, râle, sans être trop agressif je trouve, mais je sens une tension dans la pièce. En plus il y fait chaud.</p>
<p>Je reste assez silencieux: je nai pas participé la semaine dernière, et hier jai juste reparé un soucis. Pas vraiment le sentiment davoir apporté une influence sur ce sprint. Ça me va bien. Je laisse les autres dérouler leur processus.</p>
<p>A la pause, le client final me prend à part pour me parler du projet, de la deception quil a. Il évoque aussi le fait que l’équipe est meilleur maintenant quau début. Je lui explique que cest tout à fait vrai, que chez les éditeurs il y a y soucis de ne pas avoir trop de turn over car les équipes deviennent meilleurs avec le temps. Elles apprenent à travailler comme un groupe et en plus apprennent le métier.</p>
<p>La cérémonie se déroule, la rétro passe presque inaperçu. Japprend quil y aura une cérémonie vendredi, en fin de journée, je ny serais pas.</p>
<h2 id="mercredi-12-août">Mercredi 12 août</h2>
<p>Ce matin, je ne suis pas bien motivé. Ça commence à être une habitude. Avec l’équipe, sans le SM, nous décidons que je vais prendre le ticket qui revois les pdf. Je nai pas vraiment mis le nez dedans depuis le début.</p>
<p>Je ne suis pas déçu ! De la duplication, des morceaux de code qui pourrait être dupliqué, mais en fait non (ce qui explique des écarts entre un pdf dun type et un autre).</p>
<p>Derrière moi, Thibaut rale sur le client. Cest fatiguant. Je me demande si un de mes soucis avec ce projet nest pas son attitude. Il veut faire vite, rejette les fautes sur le client. Du coup cette après-midi, nous ne le voyons presque pas: un coup il est bénévole pour installer le wifi au 3ième étage, un coup il a un entretien avec son <em>coach</em> (je crois).</p>
<p>Le SM lache une petite reflexion sur le fait que <em>ses deux projets</em> ne fonctionne pas bien (en dessous du standard sur le questionnaire client, le standard cest 8/10, nous avons 4/10).</p>
<p>Heureusement, demain cest jeudi, et il ne me reste plus que vendredi matin.</p>
<p>Je nai pas fini mon nettoyage de pdf, je finirais vendredi matin, Jespère que jarriverais à tout mettre au propre et quil ny aura pas dautres soucis.</p>
<h2 id="et-après">Et après</h2>
<p>Le client na pas voulu nous payer la dernière semaine de travail. Apparement, le client finale ne voulais pas payer les deux dernières semaines… Au delà de nous faire partager le soucis, jai été pointé comme étant le responsable du fiasco de ce projet. Ça na pas été facile à entendre.</p>
<p>Ensuite, nous avons voulu reconstituer le fil de certains évènements. Javais malheureusement perdu mes mails durant l’été. Une belle leçon.</p>
<p>Jai tiré un autre apprentissage de cette histoire : si ça ne va pas, il faut partir vite, pas attendre la fin en se disant que ça ira mieux après.</p>
<p>Cette histoire ma également confirmé quil y a plein dinterprétation possible de lagilité, et que même chez les personnes qui semblent proche, les écarts peuvent être dur à vivre.</p>
</article>
</body>
</html>
+520 -165
View File
@@ -1,15 +1,37 @@
--- ---
title: Une mission bancale title: Une mission bancale
--- ---
C'est l'histoire d'une mission qui ne se passe pas très bien, surtout à la fin.
Personne n'a été blessé, personne n'a vraiment souffert. C'est un environnement
pas des plus agréable pour travailler que j'ai traversé durant ces quelques
jours de 2015. Il me semble intéressant de partager aussi ce genre d'aventure.
La mission commence en mai 2015. Je venais de quitter Simplon, et j'étais
retourner m'inscrire chez Port Parallèle. L'objectif étais de rentrer chez
/ut7, de faire comme si j'étais chez /ut7, de travailler chez ds clients comme
si j'étais chez /ut7, sans y être administativement. Pendant ce temps, nous
allions constituer la trésorerie nécessaire à mon entrée dans cette SCOP.
La mission s'annonçait plutôt pas mal pourtant. C'est dans la boite de
connaissance (peut-être d'amis pour certaines personnes chez /ut7) ayant
participé à Agile Open France au moins une ou deux fois. Pourtant, je vais
découvrir que nous n'avons pas du tout la même façon de voir l'agilité, de
pratiquer notre métier.
_je n'ai pas commencé à journalisé au début de la mission, ou bien j'ai perdu
des journaux, je ne sais plus_
# [#](#mardi-19-mai-2015)Mardi 19 mai 2015
## 19 mai 2015
> Il faut faire un point > Il faut faire un point
Réaction très forte d'un des membres de l'équipe. L'autre voulais faire une Réaction très forte de Thibaut, un des membres de l'équipe. France voulais
redirection logique après la création d'une ressource : retourner à l'index. faire une redirection après la création d'une ressource : retourner à l'index.
Mais comme ce n'était pas écrit dans les specs... J'ai mal à mon esprit Ça semble logique, mais comme ce n'est pas écrit dans les specs... J'ai mal à
agiliste. mon esprit agiliste.
Le repas du Midi avec Étienne et un des responsable chez ce client nous permet Le repas du Midi avec Étienne et un des responsable chez ce client nous permet
d'exprimer nos difficultés face à certaines pratique de chez eux. d'exprimer nos difficultés face à certaines pratique de chez eux.
@@ -21,27 +43,31 @@ Je suis content de la journée. Début de reprise de certaines partie du code qu
je ne trouvais pas agréable. Et l'application commence à ressembler à quelque je ne trouvais pas agréable. Et l'application commence à ressembler à quelque
chose. chose.
## 20 mai 2015 ## [#](#mercredi-20-mai-2015)Mercredi 20 mai 2015
Ce matin j'ai binomé avec une de mes équipière pour nettoyer un peu encore le Ce matin j'ai binomé avec France pour nettoyer un peu encore le code
code [node](https://nodejs.org/), ajouter des tests, supprimer des duplications [node](https://nodejs.org/), ajouter des tests, supprimer des duplications et
et ajouter une règle de gestion. Ça fait du bien :-) ajouter une règle de gestion. Ça fait du bien :-)
Cette après midi, cérémonie. Le client final arrive en retard. **Cérémonie de l'après Cette après midi, cérémonie. Le client final arrive en retard.
midi, avec un estomac bien rempli, resultat non garanti**.
Je suis un peu surpris par la démo. C'est un peu cahotique (le client final n'aide > **Cérémonie de l'après midi, avec un estomac bien rempli, resultat non garanti**.
pas). Perte de temps, dispersion. Celui qu'on nome ScrumMaster chez mon client
avoue ne pas avoir beaucoup regardé l'appli. La rétrospective me semble un peu Je suis un peu surpris par la démo. C'est un peu bordelique. Le client final
plate. Nous évoquons quand même des craintes sur le code sale. n'aide pas. Perte de temps, dispersion. Celui qu'on nome ScrumMaster chez mon
client avoue ne pas avoir beaucoup regardé l'appli. La rétrospective me semble
un peu plate. Nous évoquons quand même des craintes sur le code sale.
Comme bien souvent, j'ai le sentiment que les raisons qui ont poussé à choisir Comme bien souvent, j'ai le sentiment que les raisons qui ont poussé à choisir
cette stack technique sont douteuses. cette stack technique sont douteuses. En plus de node, nous utilisons
[AngularJS](https://angularjs.org/), et une base
[postgresql](https://www.postgresql.org/).
De bonne discussion pour la plannification. La recette chez mon client permet Une bonne discussion pour la plannification. La recette chez mon client permet
de calculer des points et de choisir des US. C'est bien comode. Ceci dit, je de calculer des points et de choisir des US. C'est bien commode, c'est bien
crois que nous en avons encor trop pris. Nous verrons. C'est peut-être pas si codifi. Ceci dit, je crois que nous en avons encore trop prit. Nous verrons.
bon que ça d'avoir ce genre d'abaque, ça se saurais si ça fonctionnait :) C'est peut-être pas si bon que ça d'avoir ce genre d'abaque, ça se saurait si
ça fonctionnait :)
Je suis fatigué, on a fini tard: 20h. Je suis fatigué, on a fini tard: 20h.
@@ -51,7 +77,7 @@ Je vais donc adapter ma présence avec l'équipe. Dans un premier temps je vais
venir un peu plus (le vendredi en plus), et je viendrais moins en juin. venir un peu plus (le vendredi en plus), et je viendrais moins en juin.
## 22 mai 2015 ## [#](vendredi-22-mai-2015)Vendredi 22 mai 2015
Stand up qui va bien. Nous avons du retard, c'est principalement du au client Stand up qui va bien. Nous avons du retard, c'est principalement du au client
final qui n'a pas validé les tickets. Il est loin ce client. final qui n'a pas validé les tickets. Il est loin ce client.
@@ -66,17 +92,17 @@ la lib angular envoie le fichier en mode streaming (intéressant pour ne pas
bloquer l'interface utilisateur), mais du coup node le recoit bizarrement. Il bloquer l'interface utilisateur), mais du coup node le recoit bizarrement. Il
manque peut-être un truc pour cloturer la reception ? manque peut-être un truc pour cloturer la reception ?
L'autre stagiaire part elle sur l'éditeur WYSIWYG. Je n'ai pas assez insisté pour ne pas L'autre stagiaire part elle sur l'éditeur WYSIWYG. Je n'ai pas assez insisté
faire cette feature, j'aurais peut-être due ? Après quelques essais, elle à pour ne pas faire cette feature, j'aurais peut-être due ? Après quelques
finalement réussie à le mette en place. essais, elle à finalement réussie à le mette en place.
De mon coté, j'ai voulu faire du nettoyage du code coté client (organiser un De mon coté, j'ai voulu faire du nettoyage du code coté client (organiser un
peu les repertoires angular). C'était galère. Je faisait des pas trop grand. peu les repertoires angular). C'était galère. Je faisait des pas trop grand.
J'ai fait plusieurs fois des retour en arrière pour avancer d'un plus petit J'ai fait plusieurs fois des retour en arrière pour avancer d'un plus petit
pas. Au final, je n'ai pas fait tout ce que je voulais. J'ai ensuite fait un pas. Au final, je n'ai pas fait tout ce que je voulais. J'ai ensuite fait un
premier pas sur le système de recherche: un champ avec une query avec un premier pas sur le système de recherche: un champ avec une query avec un `where
`where = `. J'ai ensuite exploré la recherche en full text search. Je crois que = `. J'ai ensuite exploré la recherche en full text search. Je crois que nous
nous allons faire tout ça à la main. allons faire tout ça à la main.
Après une journée un peu hard. J'aide le premier stagiaire à trouver un Après une journée un peu hard. J'aide le premier stagiaire à trouver un
contournement au fonctionnement de l'upload. Nous avons faire un formulaire or contournement au fonctionnement de l'upload. Nous avons faire un formulaire or
@@ -94,10 +120,8 @@ Est-ce que le changement est encore faisable ? Je pense que pour mongo c'est
moins indispensable... Mais nous pourrions gagner du temps de réalisation en moins indispensable... Mais nous pourrions gagner du temps de réalisation en
supprimant angular :-) supprimant angular :-)
A suivre.
## [#](#mardi-26-mai-2015)Mardi 26 mai 2015
## 26 mai 2015
J'ai démarré la journée en pensant qu'il fallait que nous passions le projet J'ai démarré la journée en pensant qu'il fallait que nous passions le projet
sur html/css/jquery, nodejs et mongodb, et je la termine en me disant, "ok tant sur html/css/jquery, nodejs et mongodb, et je la termine en me disant, "ok tant
@@ -105,7 +129,8 @@ pis, mais du coup mettont tout dans angular. Ce sont les stagiaires qui insiste
pour garder Angular. Je ne vois toujours pas l'intérêt de ce truc, mais autant pour garder Angular. Je ne vois toujours pas l'intérêt de ce truc, mais autant
s'en servir à fond pour savoir. s'en servir à fond pour savoir.
Le client final commence à chouiner. La fin du projet va être difficile avec lui. Le client final commence à chouiner. La fin du projet va être difficile avec
lui.
Je test une nouvelle configuration de vim: numérotation de lignes relative et Je test une nouvelle configuration de vim: numérotation de lignes relative et
ligne courante souligné. Pas mal. ligne courante souligné. Pas mal.
@@ -114,253 +139,565 @@ J'ai craqué le soir, j'ai fusioné les deux repertoire client et server du
projet. Ça m'ennuie d'avoir travaillé le soir pour eux, mais j'en avait projet. Ça m'ennuie d'avoir travaillé le soir pour eux, mais j'en avait
vraiment envie. vraiment envie.
## 27 mai 2015 ## [#](#mercredi-27-mai-2015)Mercredi 27 mai 2015
Ce matin, nous nous sommes dépéché pour finir les derniers points. Du coup nous avons livré une régression... Retour arrière aussi vite que possible... J'ai vraiment le sentiment que nous courons après les points. Ce matin, nous nous sommes dépéché pour finir les derniers points. Du coup nous
avons livré une régression... Retour arrière aussi vite que possible... J'ai
vraiment le sentiment que nous courons après les points.
C'est d'ailleurs évoqué en retro, lors de la cérémonie de l'après midi. Il y a aussi des grandes discussion sur la célérité. Le stagiaire voudrais la doubler pour pouvoir utiliser plus de couleurs pour définir les tickets. Le scrum master semble contre, il préfère que l'on découpe plus les tickets... Je fais l'innocent en demandant pourquoi au stagiaire (je ne comprenais vraiment pas ce qu'il voulais faire pendant la cérémonie). Après la cérémonie, il m'a expliqué. La célérité représente une sorte de ticket possible par jour (et par personne... ), et le *standard* ici c'est de finir un ticket tout les jours. C'est donc interdit d'avoir un ticket à 3 points si la célérité est de 3 ou moins. C'est d'ailleurs évoqué en retro, lors de la cérémonie de l'après midi. Il y a
aussi des grandes discussion sur la célérité. Le stagiaire voudrais la doubler
pour pouvoir utiliser plus de couleurs pour définir les tickets. Le scrum
master semble contre, il préfère que l'on découpe plus les tickets... Je fais
l'innocent en demandant pourquoi au stagiaire (je ne comprenais vraiment pas ce
qu'il voulais faire pendant la cérémonie). Après la cérémonie, il m'a expliqué.
La célérité représente une sorte de ticket possible par jour (et par
personne... ), et le *standard* ici c'est de finir un ticket tout les jours.
C'est donc interdit d'avoir un ticket à 3 points si la célérité est de 3 ou
moins.
Tout ça pour faire du code pour un client... Je ne suis pas sur que ces *standard* aide vraiment à faire fonctionner les équipes. Mon intuition c'est que c'est utilisé pour savoir comment l'équipe avance en cours de sprint. **Ça sent le contrôle à fond**. Dommage pour l'efficacité. Tout ça pour faire du code pour un client... Je ne suis pas sur que ces
*standard* aide vraiment à faire fonctionner les équipes. Mon intuition c'est
que c'est utilisé pour savoir comment l'équipe avance en cours de sprint. **Ça
sent le contrôle à fond**. Dommage pour l'efficacité.
J'ai fait le taf du scrum master (sans le vouloir) pendant la cérémonie: j'ai demander au client de bloquer une demi journée toutes les semaines, histoire qu'il soit dispo toujours à cette date. J'ai fait le taf du scrum master (sans le vouloir) pendant la cérémonie: j'ai
demander au client de bloquer une demi journée toutes les semaines, histoire
qu'il soit dispo toujours à cette date.
C'est à ce demander si des formations dev en mode Gym Club pour les aider à faire monter des dev en archi + des formations scrum pour les scrum master ne serait pas intéressant pour eux. Le hic est qu'ils ne font rien si ce n'est pas facturé (le principe des boite de services qui essaient d'être rentable sur chaque minutes...). C'est à ce demander si des formations dev en mode Gym Club pour les aider à
faire monter des dev en archi + des formations scrum pour les scrum master ne
serait pas intéressant pour eux. Le hic est qu'ils ne font rien si ce n'est pas
facturé (le principe des boite de services qui essaient d'être rentable sur
chaque minutes...).
## 29 mai 2015 ## [#](#vendredi-29-mai-2015)Vendredi 29 mai 2015
Nous avons encore fait le lapin blanc... Nous sommes en retard. Bruno, le scrum master n'est pas là, alors quand nous faisons le standup, Antoine (le commercial, scrum master sur d'autre projet normalement) viens faire un passage en mode "mais pourquoi"... Nous avons encore fait le lapin blanc... Nous sommes en retard. Bruno, le scrum
master n'est pas là, alors quand nous faisons le standup, Antoine (le
commercial, scrum master sur d'autre projet normalement) viens faire un passage
en mode "mais pourquoi"...
Thibaut à essayé de mettre en place des outils de specs executable ET travisCI. Travis fait tourné les tests unitaires que j'ai écrit sur la partie nodejs, mais pour les specs executables, ça semble plus difficile. WebDriver ou je ne sais quel protractor ne semble pas fonctionner. J'espère qu'il à réussi à faire quelque chose dans l'après midi. Thibaut à essayé de mettre en place des outils de specs executable ET travisCI.
Travis fait tourné les tests unitaires que j'ai écrit sur la partie nodejs,
mais pour les specs executables, ça semble plus difficile. WebDriver ou je ne
sais quel protractor ne semble pas fonctionner. J'espère qu'il à réussi à faire
quelque chose dans l'après midi.
France à fait des essais de librairie pour faire du PDF. Mais elle essaie d'en faire trop peut-être. J'apprend que l'équipe à décidé hier (jeudi) de dire que ce ticket de "recherche" devait avoir un livrable dans l'application. *Je ne suis pas sur de bien comprendre ce que cette boite entend par ticket de recherche du coup ?*. Alors elle aussi est en *retard*. France à fait des essais de librairie pour faire du PDF. Mais elle essaie d'en
faire trop peut-être. J'apprend que l'équipe à décidé hier (jeudi) de dire que
ce ticket de "recherche" devait avoir un livrable dans l'application. *Je ne
suis pas sur de bien comprendre ce que cette boite entend par ticket de
recherche du coup ?*. Alors elle aussi est en *retard*.
De mon coté, je démarre avec Ansible. C'est amusant et pas trop compliqué. De la configuration yaml. Dommage que ça ne soit pas du code ? **Je me demande comment faire du TDD sur ces sujets, comment automatiser les vérifications que je fait manuellement**, Il faudra que j'en parle avec la super équipe qui a mis ça en place chez Mourinex ! :-D De mon coté, je démarre avec Ansible. C'est amusant et pas trop compliqué. De
la configuration yaml. Dommage que ça ne soit pas du code ? **Je me demande
comment faire du TDD sur ces sujets, comment automatiser les vérifications que
je fait manuellement**, Il faudra que j'en parle avec la super équipe qui a mis
ça en place chez Mourinex ! :-D
Je commence aussi à modifier le script de déployement pour livrer l'application sur le serveur de prod. Ça me permet de voir qu'il manque git. Je finirais mardi. Je commence aussi à modifier le script de déployement pour livrer l'application
sur le serveur de prod. Ça me permet de voir qu'il manque git. Je finirais
mardi.
## 2 juin 2015 ## [#](#mardi-2-juin-2015)Mardi 2 juin 2015
Aujourd'hui, nous sommes encore en retard... Apparement France n'est pas en forme. J'ai appris que ça mère viens d'arriver de Chine. Cause-Effet ? Peut-être. Du coup elle dit que c'est elle qui est en retard. *Esprit d'équipe bizarre ici par rapport à ce genre de sujet*. Aujourd'hui, nous sommes encore en retard... Apparement France n'est pas en
forme. J'ai appris que ça mère viens d'arriver de Chine. Cause-Effet ?
Peut-être. Du coup elle dit que c'est elle qui est en retard. *Esprit d'équipe
bizarre ici par rapport à ce genre de sujet*.
Je continue sur Ansible et Capistrano. Un peu galère d'avoir la prod et la préprod sur le même serveur. *C'est là que je pense très fort à des container*. Mais au final je m'en sors (avec du retard par rapport à la prévision). En plus, je me rappel sur la fin que pour générer du PDF, nous avons besoin de la dernière version de wkhtmltopdf, une installation hors paquet debian du coup. C'est un peu galère au dernier moment. Je finirais demain matin. Tant pis pour l'upload de photo qui ne fonctionnera surement pas. Je continue sur Ansible et Capistrano. Un peu galère d'avoir la prod et la
préprod sur le même serveur. *C'est là que je pense très fort à des container*.
Mais au final je m'en sors (avec du retard par rapport à la prévision). En
plus, je me rappel sur la fin que pour générer du PDF, nous avons besoin de la
dernière version de wkhtmltopdf, une installation hors paquet debian du coup.
C'est un peu galère au dernier moment. Je finirais demain matin. Tant pis pour
l'upload de photo qui ne fonctionnera surement pas.
Quelques questions d'archi avec Tibaut. Il me parle ce qui pour lui est normal: créer une table avec l'id (mais rien d'autre) ET une table de jointure avec le même id plusieurs fois, lié à des id de documents... Je lui propose de tout mettre dans la même pour le moment... ça semble lui faire bizarre. Quelques questions d'archi avec Tibaut. Il me parle ce qui pour lui est normal:
créer une table avec l'id (mais rien d'autre) ET une table de jointure avec le
même id plusieurs fois, lié à des id de documents... Je lui propose de tout
mettre dans la même pour le moment... ça semble lui faire bizarre.
Journée un peu rude (des échecs sur la mise en production), mais globalement tout semble rouler un peu mieux... Journée un peu rude (des échecs sur la mise en production), mais globalement
tout semble rouler un peu mieux...
## 3 juin 2015 ## [#](#mercredi-3-juin-2015){.title-mark}Mercredi 3 juin 2015
Ce matin, je fini de réparer le ansible/capistrano. Je regrette d'avoir fait le déployement en capistrano. Nous aurions pu le faire avec ansible, et ainsi utiliser le même outil pour le provisionning ET le delpoiement. Ce matin, je fini de réparer le ansible/capistrano. Je regrette d'avoir fait le
déployement en capistrano. Nous aurions pu le faire avec ansible, et ainsi
utiliser le même outil pour le provisionning ET le delpoiement.
France n'est toujours pas dedans. Mais elle me signale un soucis quand elle essaie de déployer. Nous regardons. Effectivement, y'a une truc qui coince avec Forever (l'outil nodejs qui s'occupe du monitoring du process node). France n'est toujours pas dedans. Mais elle me signale un soucis quand elle
essaie de déployer. Nous regardons. Effectivement, y'a une truc qui coince avec
Forever (l'outil nodejs qui s'occupe du monitoring du process node).
Thibaut est toujours empétré dans les test fonctionnel. Apparement, quand c'est pas protractor qui merde, c'est travis. Il faut que je trouve une strategie pour mettre plue de test unitaire. Ça m'aidera à avoir un peu plus confiance dans notre code, et ça me permettra de relativiser un peu plus le manque de tests fonctionnel. Thibaut est toujours empétré dans les test fonctionnel. Apparement, quand c'est
pas protractor qui merde, c'est travis. Il faut que je trouve une strategie
pour mettre plue de test unitaire. Ça m'aidera à avoir un peu plus confiance
dans notre code, et ça me permettra de relativiser un peu plus le manque de
tests fonctionnel.
Cette après midi, cérémonie. Le SM est speed. Il a un train pour Londres ce soir. J'ai appris ce midi que lui aussi après le projet, il part à Londres. **C'est sur, pas de rab pour moi, ou alors ça sera avec une autre équipe !**. Je regle aussi un soucis de date, disons une mauvaise compréhension. Je vais donc finir les deux dernières semaines à 1 jour par semaine. Cette après midi, cérémonie. Le SM est speed. Il a un train pour Londres ce
soir. J'ai appris ce midi que lui aussi après le projet, il part à Londres.
**C'est sur, pas de rab pour moi, ou alors ça sera avec une autre équipe !**.
Je regle aussi un soucis de date, disons une mauvaise compréhension. Je vais
donc finir les deux dernières semaines à 1 jour par semaine.
La cérémonie se passe plutôt bien. Mais France est encore à coté du sujet. Pas concentré. A la fin, il nous reste un peu de temps à nous, l'équipe. Du coup on remet un peu les doigts dans le code. J'en profite pour parler un peu avec France. Effectivement, elle a des soucis lié à son stage à Londres et ça mère qui est aussi ici... et peut-être d'autre truc. Je lui dit que ce n'est pas grave, et que je préfère savoir que c'est ça plutôt qu'un truc avec l'équipe. La cérémonie se passe plutôt bien. Mais France est encore à coté du sujet. Pas
concentré. A la fin, il nous reste un peu de temps à nous, l'équipe. Du coup on
remet un peu les doigts dans le code. J'en profite pour parler un peu avec
France. Effectivement, elle a des soucis lié à son stage à Londres et ça mère
qui est aussi ici... et peut-être d'autre truc. Je lui dit que ce n'est pas
grave, et que je préfère savoir que c'est ça plutôt qu'un truc avec l'équipe.
J'ai vraiment un soucis avec leur cérémonie. Mais comment faire autrement ? Avec des stagiaires, un po qui est client, un sm qui est commercial... Dur de trouver le bon ton, le bon rythme, la bonne façon de procéder. *Peut-être à la fin du projet, j'aurais trouvé une proposition à leurs faire :-p*. J'ai vraiment un soucis avec leur cérémonie. Mais comment faire autrement ?
Avec des stagiaires, un po qui est client, un sm qui est commercial... Dur de
trouver le bon ton, le bon rythme, la bonne façon de procéder. *Peut-être à la
fin du projet, j'aurais trouvé une proposition à leurs faire :-p*.
## 9 juin 2015 ## [#](#mardi-9-juin-2015){.title-mark}Mardi 9 juin 2015
Ce matin, après un update (git pull et revue/discussion), j'essaie de voir les soucis de deploiment dont l'équipe m'a parlé hier par email. Et là, paf le chien, je me retrouve coincé, impossible de déployer. Ce matin, après un update (git pull et revue/discussion), j'essaie de voir les
soucis de deploiment dont l'équipe m'a parlé hier par email. Et là, paf le
chien, je me retrouve coincé, impossible de déployer.
Je peux me connecter au serveur en ssh, mais le capistrano ne fonctionne pas, un soucis de ssh. Je me rappel que Capistrano utilise un *forwarding agent*. C'est ça qui coince. Je prend quelques renseignements, j'essaie de vérifier étape par étape si un truc coince... Je peux me connecter au serveur en ssh, mais le capistrano ne fonctionne pas,
un soucis de ssh. Je me rappel que Capistrano utilise un *forwarding agent*.
C'est ça qui coince. Je prend quelques renseignements, j'essaie de vérifier
étape par étape si un truc coince...
L'équipe ayant bien avancé, ils continuent sur leur lancé, moi j'essaie de me dépatouiller. L'équipe ayant bien avancé, ils continuent sur leur lancé, moi j'essaie de me
dépatouiller.
Je binome un peu avec eux. Ils ont du mal à apréhender la notion de callback JS. Idem pour les problématique de SQL. Je binome un peu avec eux. Ils ont du mal à apréhender la notion de callback
JS. Idem pour les problématique de SQL.
Antoine est venu mettre un coup de *pression*: _Vous n'avez pas encore fait le standup, il faut le faire à heure fixe_. Nous attendions Bruno, notre scrum master. Mais du coup, tant pis nous avons fait le daily sans lui. Antoine est venu mettre un coup de *pression*: _Vous n'avez pas encore fait le
standup, il faut le faire à heure fixe_. Nous attendions Bruno, notre scrum
master. Mais du coup, tant pis nous avons fait le daily sans lui.
L'après midi, finalement un autre archi me donne la solution, il fallait que je re-donne ma clef privée à l'agent: `ssh-add .ssh/id_rsa`... Ça fonctionne. L'après midi, finalement un autre archi me donne la solution, il fallait que je
re-donne ma clef privée à l'agent: `ssh-add .ssh/id_rsa`... Ça fonctionne.
J'en profite pour faire un peu de shell pour rendre le processus de deploiement un peu plus robuste. J'en profite pour faire un peu de shell pour rendre le processus de deploiement
un peu plus robuste.
## 10 juin 2015 ## [#](#mercredi-10-juin-2015){.title-mark}Mercredi 10 juin 2015
Ce matin, la cérémonie devait commencé à 8h. J'avais pris des disposition pour pouvoir être là vers 8h30 au plus tard. Je suis arrivé à 8h15, le PO était en retard.. (alors que c'est pour lui que nous avons fait ça très tôt). Ce matin, la cérémonie devait commencé à 8h. J'avais pris des disposition pour
pouvoir être là vers 8h30 au plus tard. Je suis arrivé à 8h15, le PO était en
retard.. (alors que c'est pour lui que nous avons fait ça très tôt).
Nous ne faisons pas vraiment de demo, mais plutôt la validation de tickets qui traine. Il se trouve qu'un nouveau cas non prévu bousille tout une partie des features que nous avons fait. Du coup plein de ticket reparte dans le backlog. Nous avons oublié qu'une affaire doit absoluement avoir un interlocuteur... Nous ne faisons pas vraiment de demo, mais plutôt la validation de tickets qui
traine. Il se trouve qu'un nouveau cas non prévu bousille tout une partie des
features que nous avons fait. Du coup plein de ticket reparte dans le backlog.
Nous avons oublié qu'une affaire doit absoluement avoir un interlocuteur...
Ce raté est en partie du à nous qui n'avons pas rappelé au PO ces sujets, et à lui qui est vraiment en mode: "ok, l'agilité, c'est j'écris mon cahier des charges sur des petits tickets dans un outils en ligne, cool". Mais l'application, dont il n'est pas et ne sera pas utilisateur apparement, n'est toujours pas dans les mains d'un utilisateur... Il y aura d'autres surprises ! Ce raté est en partie du à nous qui n'avons pas rappelé au PO ces sujets, et à
lui qui est vraiment en mode: "ok, l'agilité, c'est j'écris mon cahier des
charges sur des petits tickets dans un outils en ligne, cool". Mais
l'application, dont il n'est pas et ne sera pas utilisateur apparement, n'est
toujours pas dans les mains d'un utilisateur... Il y aura d'autres surprises !
A la pause, il reçoit un coup de fil qui le met dans une drole d'humeur... A son retour, il commence à s'impatienter, il est nerveux. Il nous reproche de ne pas aller assez vite, et malheureusement l'équipe lui donne raison (sans vraiment le vouloir je pense ?) en exprimant un sentiment d'aller trop doucement... A la pause, il reçoit un coup de fil qui le met dans une drole d'humeur... A
son retour, il commence à s'impatienter, il est nerveux. Il nous reproche de ne
pas aller assez vite, et malheureusement l'équipe lui donne raison (sans
vraiment le vouloir je pense ?) en exprimant un sentiment d'aller trop
doucement...
J'essaie d'attirer leur attention sur le nombre de chose que nous avons fait, sur le fait que ce sont des features un peu masqué (sans interface graphique). J'essaie d'attirer leur attention sur le nombre de chose que nous avons fait,
sur le fait que ce sont des features un peu masqué (sans interface graphique).
Le PO part avant la fin, nous essayons de faire le planning sans lui, mais il y a trop de question pour pouvoir le faire correctement. Gros sentiment d'échec. Bruno, le SM, m'en fait par le midi: "C'est un gros échec pour moi". Nous discutons un peu sur les trucs possible qui pourrait rattraper le coup. Le PO part avant la fin, nous essayons de faire le planning sans lui, mais il y
a trop de question pour pouvoir le faire correctement. Gros sentiment d'échec.
Bruno, le SM, m'en fait par le midi: "C'est un gros échec pour moi". Nous
discutons un peu sur les trucs possible qui pourrait rattraper le coup.
En même temps, Bruno et France vont partir à Londres à la fin du projet, ça se ressent. En même temps, Bruno et France vont partir à Londres à la fin du projet, ça se
ressent.
L'après midi, Thibaut est tout feu tout flamme, comme d'habitude, et veux coder 12 trucs en même temps. Mais il oublie de verifier que cela fonctionne, d'écrire des tests, de nettoyer son code... Bref. L'après midi, Thibaut est tout feu tout flamme, comme d'habitude, et veux coder
12 trucs en même temps. Mais il oublie de verifier que cela fonctionne,
d'écrire des tests, de nettoyer son code... Bref.
Ils ont rendez-vous au téléphone ce soir avec le PO pour essayer de finir le planning. De mon coté, j'ai essayé de faire une feature ET de faire du refatoring... peut-être un peu trop. Du coup, au moment de push, je pull et lance les rare tests d'intégrations, *paf*, j'en ai pété un. Je vais être en retard au JSLDD, mais tant pis, j'essaie de corriger. Je n'y arrive pas, C'est pas très simple, nous n'avons pas commecé sur de bonne base l'utilisation d'angular, et les refactoring nécessaire sont parfois délicat. Le débugage aussi ! Je pousse ma branche et laisse un message. J'espère qu'ils vont trouver la solution demain. Ils ont rendez-vous au téléphone ce soir avec le PO pour essayer de finir le
planning. De mon coté, j'ai essayé de faire une feature ET de faire du
refatoring... peut-être un peu trop. Du coup, au moment de push, je pull et
lance les rare tests d'intégrations, *paf*, j'en ai pété un. Je vais être en
retard au JSLDD, mais tant pis, j'essaie de corriger. Je n'y arrive pas, C'est
pas très simple, nous n'avons pas commecé sur de bonne base l'utilisation
d'angular, et les refactoring nécessaire sont parfois délicat. Le débugage
aussi ! Je pousse ma branche et laisse un message. J'espère qu'ils vont trouver
la solution demain.
## 16 juin 2015 ## [#](#mardi-16-juin-2015){.title-mark}Mardi 16 juin 2015
Je me retrouve à réparer le build, mais pas suite à ce que j'avais laissé la dernière fois. En fait hier, il y a eu une boulette, et peut-être une boulette par dessus... bref. Une histoire de variable, de setup, d'oublie de function et autres bricole. Je me retrouve à réparer le build, mais pas suite à ce que j'avais laissé la
dernière fois. En fait hier, il y a eu une boulette, et peut-être une boulette
par dessus... bref. Une histoire de variable, de setup, d'oublie de function et
autres bricole.
Pendant le daily, Benjamin est venu surveiller... Il me redemande (avec Bruno) si je peux être en ligne (skipe/hangout) pendant les Daily. J'explique que c'est compliqué de prendre du temps sur d'autres client... Benjamin me demande un postmortem sur les histoires de test qui sont rouge. Il insiste aussi sur leur questionnaire devops, il essaye de voir si nous avons bien compris ce que ça signifie (nous sommes sous le standard depuis le début, ça les chatouillent on dirait ! :-)). Pendant le daily, Benjamin est venu surveiller... Il me redemande (avec Bruno)
si je peux être en ligne (skipe/hangout) pendant les Daily. J'explique que
c'est compliqué de prendre du temps sur d'autres client... Benjamin me demande
un postmortem sur les histoires de test qui sont rouge. Il insiste aussi sur
leur questionnaire devops, il essaye de voir si nous avons bien compris ce que
ça signifie (nous sommes sous le standard depuis le début, ça les chatouillent
on dirait ! :-)).
L'équipe à vraiment bien avancé, le backlog du sprint et vide. Comme cette après-midi France et Bruno vont chez le client pour faire un tour de l'appli avec un oeil UX/Design, nous avons décidé de ne pas prendre des tickets en plus. Nous optons pour une phase de nettoyage du code. Thibault met en place un outil de qualité de code, et suite à ça, se lance dans le refactoring. De mon coté, j'essaie de mettre en place des outils pour pouvoir bénéficier d'un environnement de test propre, un environnement de dev et un de prod. Ça nous permettrais d'au moins mettre en place un reset de la base avant de lancer les tests. Le mieux serais de pouvoir mettre en place une sorte de factory-girl. L'équipe à vraiment bien avancé, le backlog du sprint et vide. Comme cette
après-midi France et Bruno vont chez le client pour faire un tour de l'appli
avec un oeil UX/Design, nous avons décidé de ne pas prendre des tickets en
plus. Nous optons pour une phase de nettoyage du code. Thibault met en place un
outil de qualité de code, et suite à ça, se lance dans le refactoring. De mon
coté, j'essaie de mettre en place des outils pour pouvoir bénéficier d'un
environnement de test propre, un environnement de dev et un de prod. Ça nous
permettrais d'au moins mettre en place un reset de la base avant de lancer les
tests. Le mieux serais de pouvoir mettre en place une sorte de factory-girl.
Après mon email _post-mortem_, Benjamin me répond en parlant de ne faire que des choses qui apporte de la valeur pour le client, des choses que le client verra, pour qu'il se rende compte de ce que je fait... Je trouve que leur mode de travail laisse peut de place à la qualité. Ce matin il évoquait le fait que le client pouvait décider de la non qualité de son application... **beurk** Après mon email _post-mortem_, Benjamin me répond en parlant de ne faire que
des choses qui apporte de la valeur pour le client, des choses que le client
verra, pour qu'il se rende compte de ce que je fait... Je trouve que leur mode
de travail laisse peut de place à la qualité. Ce matin il évoquait le fait que
le client pouvait décider de la non qualité de son application... **beurk**
Ce midi je suis allez manger avec 6 petits jeunes *développeurs* d'ici (c'est Thibaut qui m'a emené avec ces copains). Et bien ils sont tous stagiaires. L'un d'entre eux, arrivé hier, à fait une réflexion: "mais y'a que des stagiaires ?" :-) Ce midi je suis allez manger avec 6 petits jeunes *développeurs* d'ici (c'est
Thibaut qui m'a emené avec ces copains). Et bien ils sont tous stagiaires. L'un
d'entre eux, arrivé hier, à fait une réflexion: "mais y'a que des stagiaires ?"
:-)
## 17 juin 2015 ## Mercredi 17 juin 2015
Ce matin c'est cérémonie chez le client. Une société qui controle des travaux, avec des gros sous donc. Avenue Iéana... J'arrive en retard, je suis orienté en sous-sol vers la salle de réunion. Grande pièce, fauteils en cuir énorme, une table en bois précieux énorme, bref, ça sent l'argent frais... Ce matin c'est cérémonie chez le client. Une société qui controle des travaux,
avec des gros sous donc. Avenue Iéana... J'arrive en retard, je suis orienté en
sous-sol vers la salle de réunion. Grande pièce, fauteils en cuir énorme, une
table en bois précieux énorme, bref, ça sent l'argent frais...
Le client se plaint des régressions, c'est vrai qu'il y en a pas mal. Hier en refactorant nous avons cassé pas mal de truc... Il est content car il va s'en servir pour négocier un tarif sûrement. Le client se plaint des régressions, c'est vrai qu'il y en a pas mal. Hier en
refactorant nous avons cassé pas mal de truc... Il est content car il va s'en
servir pour négocier un tarif sûrement.
Le chrono est bien tenu, la cérémonie ne dépasse pas le temps imparti, par contre la rétro est quasi passé à la trappe. **On voit bien les priorités**. Bruno négocie le fait que je puisse être là au daily le matin. Je vais du coup plutôt faire des demi-journées surement. Le chrono est bien tenu, la cérémonie ne dépasse pas le temps imparti, par
contre la rétro est quasi passé à la trappe. **On voit bien les priorités**.
Bruno négocie le fait que je puisse être là au daily le matin. Je vais du coup
plutôt faire des demi-journées surement.
Après le repas, de gros échange avec Thibaut et France sur les tests, trop de tests, pas assez, comment on fait... Une vrai négociation. Je n'arrive pas à faire comprendre mon point de vue à Thibaut. Je me rend compte que j'ai peu d'argument. *Est-ce vraiment important d'ailleurs ?* Jonhatan évoque sur slack que george est codé sans tests. Cette idée fait un bout de chemin durant l'après midi, après que j'ai décidé d'arreter de convaincre Thibaut. Après le repas, de gros échange avec Thibaut et France sur les tests, trop de
tests, pas assez, comment on fait... Une vrai négociation. Je n'arrive pas à
faire comprendre mon point de vue à Thibaut. Je me rend compte que j'ai peu
d'argument. *Est-ce vraiment important d'ailleurs ?* Jonhatan évoque sur slack
que george est codé sans tests. Cette idée fait un bout de chemin durant
l'après midi, après que j'ai décidé d'arreter de convaincre Thibaut.
Antoine, le commercial de l'affaire, a reçu un email du PO/client. Bien sur, il se plaint. Il commence une négo. Mais Antoine vient nous voir avec Bruno pour faire une réunion/point pour avoir des billes à lui opposer. La réunion est un peu cliché, c'est un peu chiant de revenir encore sur ces histoires de tests. Surtout que je suis en reflexion, prêt à justement faire une impasse dessus, alors qu'Antoine et Bruno, insiste sur le fait de devoir les faire et de présenter cela au client comme indispensable. Je vis ces remarques comme assez dogmatique. *Est-ce que je vieilli sur ces sujets ?*. Je me rend compte que le TDD m'aide à programmer proprement, mais que je ne suis pas pour une couverture de tests à 100%. Je crois que Thibaut pense que je souhaite cela. En fait je commence à proposer de faire des tests maunellement surtout, de les écrires et les dérouler. Antoine, le commercial de l'affaire, a reçu un email du PO/client. Bien sur, il
se plaint. Il commence une négo. Mais Antoine vient nous voir avec Bruno pour
faire une réunion/point pour avoir des billes à lui opposer. La réunion est un
peu cliché, c'est un peu chiant de revenir encore sur ces histoires de tests.
Surtout que je suis en reflexion, prêt à justement faire une impasse dessus,
alors qu'Antoine et Bruno, insiste sur le fait de devoir les faire et de
présenter cela au client comme indispensable. Je vis ces remarques comme assez
dogmatique. *Est-ce que je vieilli sur ces sujets ?*. Je me rend compte que le
TDD m'aide à programmer proprement, mais que je ne suis pas pour une couverture
de tests à 100%. Je crois que Thibaut pense que je souhaite cela. En fait je
commence à proposer de faire des tests maunellement surtout, de les écrires et
les dérouler.
Je suis en retard pour la réunion avec les potentiels futurs élèves, je me sauve avant de les avoir entendu statué sur le sujet. De toute façon je ne les voient que lundi matin prochain, je verrais bien le résultat. Je suis en retard pour la réunion avec les potentiels futurs élèves, je me
sauve avant de les avoir entendu statué sur le sujet. De toute façon je ne les
voient que lundi matin prochain, je verrais bien le résultat.
Bizarre de travailler dans une équipe de cette manière. Le plus bizarre et de faire de la production pendant juste quelques jours... Bizarre de travailler dans une équipe de cette manière. Le plus bizarre et de
faire de la production pendant juste quelques jours...
## 23 juin 2015 ## Mardi 23 juin 2015
Pas de courant chez le client aujourd'hui, je travail depuis la boutique. Pas de courant chez le client aujourd'hui, je travail depuis la boutique.
Nous faisons le daily meeting sur Slack, comme hier matin, il n'y a pas Bruno (hier je suis passé faire le daily seulement). C'est bizarre. En plus d'être avec 2 stagiaires, je me retrouve sans un garant des pratiques du client. C'est un coup à me faire faire tout changé :-p. Nous faisons le daily meeting sur Slack, comme hier matin, il n'y a pas Bruno
(hier je suis passé faire le daily seulement). C'est bizarre. En plus d'être
avec 2 stagiaires, je me retrouve sans un garant des pratiques du client. C'est
un coup à me faire faire tout changé :-p.
Nous sommes en retard d'après les standard défini ici. Il faut donc se fouetter avec des orties. En gros, nous avons travaillé sur des sujets hors scope, hors ticket hier, et nous n'avons pas comptabilisé l'atelier chez le client dans la vélocitée. *Je trouve tout ce système bien lourd à la longue, qu'est-ce que le client réclame vraiment ? Est-ce que tout cela n'est pas pour servir un discour commercial ?* J'aimerais bien debriefer avec Étienne sur l'échange que nous avons eu avec Antoine à Agile France. Nous sommes en retard d'après les standard défini ici. Il faut donc se fouetter
avec des orties. En gros, nous avons travaillé sur des sujets hors scope, hors
ticket hier, et nous n'avons pas comptabilisé l'atelier chez le client dans la
vélocitée. *Je trouve tout ce système bien lourd à la longue, qu'est-ce que le
client réclame vraiment ? Est-ce que tout cela n'est pas pour servir un discour
commercial ?* J'aimerais bien debriefer avec Étienne sur l'échange que nous
avons eu avec Antoine à Agile France.
Je commence un ticket qui a posé problème à Thibaut hier, un truc de date. Je me focalise sur un point: ne pas pouvoir saisir une date inconnu: le 34 mai 2015. Il se trouve qu'en fait, Angular le gère déjà en glissant jusqu'au jour qui conviens, dans l'exemple, la date utilisé sera le 3 juin 2015 (34 - 31 = 3). Du coup je comment et passe à un autre ticket en attendant le verdic du client. J'ajoute un footer dans le pdf, sans faire beaucoup de refactoring. Je commence un ticket qui a posé problème à Thibaut hier, un truc de date. Je
me focalise sur un point: ne pas pouvoir saisir une date inconnu: le 34 mai
2015. Il se trouve qu'en fait, Angular le gère déjà en glissant jusqu'au jour
qui conviens, dans l'exemple, la date utilisé sera le 3 juin 2015 (34 -
31 = 3). Du coup je comment et passe à un autre ticket en attendant le
verdic du client. J'ajoute un footer dans le pdf, sans faire beaucoup de
refactoring.
Le client répond dans l'après midi que c'est ok de ne rien faire sur ce sujet, mais il rappel qu'il ne faut pas pouvoir saisir une date futur... J'ai mal lu le ticket ou bien ce n'était pas précisé ? Le client répond dans l'après midi que c'est ok de ne rien faire sur ce sujet,
mais il rappel qu'il ne faut pas pouvoir saisir une date futur... J'ai mal lu
le ticket ou bien ce n'était pas précisé ?
Thibaut a encore faire une remarque: " j'ai passé le sprint à faire des tests, il faut que nous fassions des points maintenant " ... Thibaut a encore faire une remarque: " j'ai passé le sprint à faire des tests,
il faut que nous fassions des points maintenant " ...
A suivre demain. A suivre demain.
## 24 juin 2015 ## Mercredi 24 juin 2015
Ce matin, je suis de mauvaise humeur. Une histoire de clefs introuvable, un plombier qui devait venir à 8h qui n'est pas là à 8h45, du coup je pars quand même, je suis en retard à la cérémonie... Ce matin, je suis de mauvaise humeur. Une histoire de clefs introuvable, un
plombier qui devait venir à 8h qui n'est pas là à 8h45, du coup je pars quand
même, je suis en retard à la cérémonie...
Nous partons encore dans des histoires de forme, de standard, de points, d'estimations. Je suis un peu fatigué et ça ne passe pas bien. Je crois que ça se voit. Le client n'est pas très heureux non plus. Est-ce qu'il joue pour négocier ? Nous partons encore dans des histoires de forme, de standard, de points,
d'estimations. Je suis un peu fatigué et ça ne passe pas bien. Je crois que ça
se voit. Le client n'est pas très heureux non plus. Est-ce qu'il joue pour
négocier ?
Thibaut me fatigue un peu parfois, il ne prend pas de recul sur sa pratique. Je pense que France là dessus remet plus facilement en cause, et se pose plus de question. Bruno lui essait de faire avancer le projet, mais en collant aux standards définie. Thibaut me fatigue un peu parfois, il ne prend pas de recul sur sa pratique. Je
pense que France là dessus remet plus facilement en cause, et se pose plus de
question. Bruno lui essait de faire avancer le projet, mais en collant aux
standards définie.
*Quel est l'objectif de ces standard ?* Je me demande si c'est pour controller les troupes/projets au sens large, ou bien juste pour être sur que les scrum master ne soit pas inutile, ou encore si ce n'est pas un pseudo process pour rassurer le client et pouvoir vendre des prestation. En tout cas, je n'ai pas l'impression que ça m'aide à avance moi. *Quel est l'objectif de ces standard ?* Je me demande si c'est pour controller
les troupes/projets au sens large, ou bien juste pour être sur que les scrum
master ne soit pas inutile, ou encore si ce n'est pas un pseudo process pour
rassurer le client et pouvoir vendre des prestation. En tout cas, je n'ai pas
l'impression que ça m'aide à avance moi.
Je dois annuler un déjeuner car la cérémonie dur trop longtemps. Tant pis, je le verrais plus tard. C'est un élève de la 2nd promo, celui embauché chez Octo, dans la startup qui fait des app pour entreprise... Peut-être je vais lui proposer de passer demain à la boutique ? Je dois annuler un déjeuner car la cérémonie dur trop longtemps. Tant pis, je
le verrais plus tard. C'est un élève de la 2nd promo, celui embauché chez Octo,
dans la startup qui fait des app pour entreprise... Peut-être je vais lui
proposer de passer demain à la boutique ?
Cet après midi, Valentin, un archi en partance pour Londres, et le coach de France, viens nous aider en mode sous marin (entendre, gratuit pour le client). C'est cool. Du coup il binome avec Thibaut sur les soucis de travisCi et de tests fonctionnels. De mon coté, je binome avec France pour régler des soucis sur la numérotation de documents, et dans l'optique de nettoyer un peu le code. Cet après midi, Valentin, un archi en partance pour Londres, et le coach de
France, viens nous aider en mode sous marin (entendre, gratuit pour le client).
C'est cool. Du coup il binome avec Thibaut sur les soucis de travisCi et de
tests fonctionnels. De mon coté, je binome avec France pour régler des soucis
sur la numérotation de documents, et dans l'optique de nettoyer un peu le code.
C'est très sympa. Nous essayons des choses pour améliorer le code. Nous enlevons des appels serveurs inutile, des procédures qui ne servent à rien, déplaçons du code du serveur sur le client et inversement... Bref, un grand nettoyage, tout en déroulant des scénarios utilisateurs autour de ces documents, mais manuellement. Je n'ai vraiment pas envie de prendre du temps pour écrire des scénarios automatisé. Je trouve cela trop douloureux pour le moment. J'aimerais arriver à un code dans lequel nous pourrons faire du TDD (et donc ajouter des tests unitaires sur le code existant) facilement. C'est très sympa. Nous essayons des choses pour améliorer le code. Nous
enlevons des appels serveurs inutile, des procédures qui ne servent à rien,
déplaçons du code du serveur sur le client et inversement... Bref, un grand
nettoyage, tout en déroulant des scénarios utilisateurs autour de ces
documents, mais manuellement. Je n'ai vraiment pas envie de prendre du temps
pour écrire des scénarios automatisé. Je trouve cela trop douloureux pour le
moment. J'aimerais arriver à un code dans lequel nous pourrons faire du TDD (et
donc ajouter des tests unitaires sur le code existant) facilement.
France avait parlé d'un gros noeud de spageti, je pensais que nous pourrions nettoyer, mais non, c'est effectivement un gros bordel. France avait parlé d'un gros noeud de spageti, je pensais que nous pourrions
nettoyer, mais non, c'est effectivement un gros bordel.
Avant de partir, un rebase pour faire une pull request, et là, on se rend compte que le refactoring des tests des autres ne fonctionne pas sur la machine de france... Je les laissent essayer de régler cela. Avant de partir, un rebase pour faire une pull request, et là, on se rend
compte que le refactoring des tests des autres ne fonctionne pas sur la machine
de france... Je les laissent essayer de régler cela.
J'ai chopé Benjamin vite fait pour voir les histoires de dispo. Pas eu le temps d'aller chercher Étienne. Apparement, le client actuel souhaite ajouter 3 sprint début aout que je vais faire en 2 semaines puisque j'ai une semaine prise. Et par contre, il voulait me prendre sur un autre projet, pour 3 semaines, mais c'est sur mes congés... tant pis. J'ai chopé Benjamin vite fait pour voir les histoires de dispo. Pas eu le temps
d'aller chercher Étienne. Apparement, le client actuel souhaite ajouter 3
sprint début aout que je vais faire en 2 semaines puisque j'ai une semaine
prise. Et par contre, il voulait me prendre sur un autre projet, pour 3
semaines, mais c'est sur mes congés... tant pis.
Je suis bien fatigué, mais content du code produit avec France. Je ne la reverrais pas tout de suite, elle part à Londres samedi. J'espère que le code ira bien en prod et que j'arriverais à travailler avec Thibaut la semaine prochaine. Je suis bien fatigué, mais content du code produit avec France. Je ne la
reverrais pas tout de suite, elle part à Londres samedi. J'espère que le code
ira bien en prod et que j'arriverais à travailler avec Thibaut la semaine
prochaine.
## 30 juin 2015 ## Mardi 30 juin 2015
Ce matin, après un point rapide avec Thibaut, je m'atèle à réparer le serveur de staging (qui est aussi celui de prod). France, avant de partir pour l'Angleterre à cassé un truc. Elle à voulu mettre nodejs à jour pour pouvoir faire marché des promèses qu'elle à mis en place sur sont environnement... Mais ne sachant comment faire elle a ajouté NVM... Une couche par dessus une couche... Ce matin, après un point rapide avec Thibaut, je m'atèle à réparer le serveur
de staging (qui est aussi celui de prod). France, avant de partir pour
l'Angleterre à cassé un truc. Elle à voulu mettre nodejs à jour pour pouvoir
faire marché des promèses qu'elle à mis en place sur sont environnement... Mais
ne sachant comment faire elle a ajouté NVM... Une couche par dessus une
couche...
Je nettoie tout cela en supprimant toute l'installation, je modifie le script ansible et zou, ça fonctionne ... presque. Le paquet Debian de node est à jour: 0.12.5, mais l'installation de NPM ne fonctionne pas. Je met un peu de temps à découvrir qu'en fait, npm est inclu dans note à partir de la version 0.12. Ouf. Je nettoie tout cela en supprimant toute l'installation, je modifie le script
ansible et zou, ça fonctionne ... presque. Le paquet Debian de node est à jour:
0.12.5, mais l'installation de NPM ne fonctionne pas. Je met un peu de temps à
découvrir qu'en fait, npm est inclu dans note à partir de la version 0.12. Ouf.
L'après midi, je prend un ticket que Thibaut ne sent pas. Après quelques échanges avec le client, le ticket se simplifié. Je le fait tranquillement pendant que lui nettoie la génération de PDF. L'après midi, je prend un ticket que Thibaut ne sent pas. Après quelques
échanges avec le client, le ticket se simplifié. Je le fait tranquillement
pendant que lui nettoie la génération de PDF.
Vu les températures, ils ont le droit de travailler de chez eux pour le reste de la semaine. Mais demain, nous ferons la dernière cérémonie chez le client, et nous viendrons travailler l'après midi chez Theodo. Vu les températures, ils ont le droit de travailler de chez eux pour le reste
de la semaine. Mais demain, nous ferons la dernière cérémonie chez le client,
et nous viendrons travailler l'après midi chez Theodo.
Bruno, le SM, était absent tout le matin, et vraiment pas présent l'après midi. Il part en vacances demain soir, avant la fin du sprint qui a lieu vendredi. Comme France, il a déjà la tête en Angleterre. Ça fait même quelques semaines. Thibaut se lache et me faire part de son mécontentement par rapport à Bruno, certaines pratiques ici, et la relation avec le client final qui, par interface électronique interposé, n'est pas très fluide. Bruno, le SM, était absent tout le matin, et vraiment pas présent l'après midi.
Il part en vacances demain soir, avant la fin du sprint qui a lieu vendredi.
Comme France, il a déjà la tête en Angleterre. Ça fait même quelques semaines.
Thibaut se lache et me faire part de son mécontentement par rapport à Bruno,
certaines pratiques ici, et la relation avec le client final qui, par interface
électronique interposé, n'est pas très fluide.
Est-ce que d'autres sont comme Thibaut, pas très enchanté de la façon dont les projets sont géré ici ? C'est possible. Est-ce que d'autres sont comme Thibaut, pas très enchanté de la façon dont les
projets sont géré ici ? C'est possible.
J'ai croisé plusieurs fois Julien et Benjamin, ils ne m'ont rien dit par rapport à mes prochaines journées chez eux. Je déduis que je suis dispo la semaine prochaine. En même temps, je suis en congé juste après. J'ai croisé plusieurs fois Julien et Benjamin, ils ne m'ont rien dit par
rapport à mes prochaines journées chez eux. Je déduis que je suis dispo la
semaine prochaine. En même temps, je suis en congé juste après.
## 1er juillet 2015 ## Mercredi 1er juillet 2015
Ce matin, cérémonie chez le client. Thibaut à demandé à Antoine de venir. Il est là, posé. C'est pas mal au début il prend un peu le stylo pour animer la cérémonie, mais très vite ça tourne au consultant, donnant de grand conseil... Bof. Ce matin, cérémonie chez le client. Thibaut à demandé à Antoine de venir. Il
est là, posé. C'est pas mal au début il prend un peu le stylo pour animer la
cérémonie, mais très vite ça tourne au consultant, donnant de grand conseil...
Bof.
Encore plein d'échanges autour du la façon dont on travail plus que sur la façon de mettre de la valeur dans l'application. Un moment, Bruno me demande de trancher. Je lui explique que non, je ne vais pas trancher sur une pratique qui ne me va pas. Je note plusieurs chose qui me semble ne génante chez eux, les voici un peu en vrac: Encore plein d'échanges autour du la façon dont on travail plus que sur la
façon de mettre de la valeur dans l'application. Un moment, Bruno me demande de
trancher. Je lui explique que non, je ne vais pas trancher sur une pratique qui
ne me va pas. Je note plusieurs chose qui me semble ne génante chez eux, les
voici un peu en vrac:
* Pas de démo, c'est dommage * Pas de démo, c'est dommage
* grosse perte de temps pour les estimations (avec poker et tout le décorum) * grosse perte de temps pour les estimations (avec poker et tout le décorum)
* toute la communication (avec le PO) est électronique, ça manque de fluidité * toute la communication (avec le PO) est électronique, ça manque de fluidité
* pourquoi pas du flux continue ? (c'est peut-être un peu biaisais, lié à mes préférences ça) * pourquoi pas du flux continue ? (c'est peut-être un peu biaisais, lié à mes
* un proxy-po aurait peut-être pu aider ? en tout cas, une personne qui sais batir des produits, histoire de pouvoir dialoguer avec le client, qui est celui qui finance. Au lieu d'un SM, avoir une personne produit... préférences ça)
* tous les clients sont différents, toutes les équipes sont différentes => pourquoi avoir des standard de fonctionnement valable pour tous ? y'a un relan de command&control dans cette histoire * un proxy-po aurait peut-être pu aider ? en tout cas, une personne qui sais
* le sentiment que parfois ils oublient que le faire un logiciel et un processus de découverte batir des produits, histoire de pouvoir dialoguer avec le client, qui est
celui qui finance. Au lieu d'un SM, avoir une personne produit...
* tous les clients sont différents, toutes les équipes sont différentes =>
pourquoi avoir des standard de fonctionnement valable pour tous ? y'a un
relan de command&control dans cette histoire
* le sentiment que parfois ils oublient que le faire un logiciel et un
processus de découverte
Je ne peux pas m'empécher d'en parler avec Bruno et Thibaut, mais je ne suis pas sur d'être entendu. Sauf peut-être avec Bruno, nous avons des échanges constructif sur ce point. Je ne peux pas m'empécher d'en parler avec Bruno et Thibaut, mais je ne suis
pas sur d'être entendu. Sauf peut-être avec Bruno, nous avons des échanges
constructif sur ce point.
Antoine a décelé que Thibaut, Bruno et moi n'étions pas aligné (ce sont mes mots, il a évoqué une mauvaise entente ou un truc dans le genre). C'est assez vrai. J'évoque le fait que je suis d'accord, mais que je ne me sent pas du tout de l'évoquer en rétro devant leur client, que cela ne me semble pas propice. J'aurais aimé que eux l'aborde, pour me donner le signal que c'était possible. Antoine a décelé que Thibaut, Bruno et moi n'étions pas aligné (ce sont mes
mots, il a évoqué une mauvaise entente ou un truc dans le genre). C'est assez
vrai. J'évoque le fait que je suis d'accord, mais que je ne me sent pas du tout
de l'évoquer en rétro devant leur client, que cela ne me semble pas propice.
J'aurais aimé que eux l'aborde, pour me donner le signal que c'était possible.
Bref. Etant donné que c'est le dernier jour pour moi, et pour Bruno, tout cela me semble bien inutile. C'est bizarre aussi ce fait de ne pas créer une équipe qui dure un peu. Bref. Etant donné que c'est le dernier jour pour moi, et pour Bruno, tout cela
me semble bien inutile. C'est bizarre aussi ce fait de ne pas créer une équipe
qui dure un peu.
L'après midi, je code, répare des trucs, supprime une promise inutile et bugué que France nous avais laissé dans le code. fait une petite correction par ci, et un petit ajout de sécurité par là... L'après midi, je code, répare des trucs, supprime une promise inutile et bugué
que France nous avais laissé dans le code. fait une petite correction par ci,
et un petit ajout de sécurité par là...
Je n'ai rien demandé à Benjamin ou Julien, que j'ai pourtant croisé plusieurs fois, et eux non plus ne m'ont rien dit. Je n'ai rien demandé à Benjamin ou Julien, que j'ai pourtant croisé plusieurs
fois, et eux non plus ne m'ont rien dit.
## 27 juillet 2015 ## Lundi 27 juillet 2015
C'est la reprise. Le projet repart pour 3 sprints. Je retrouve Thibaut qui est toujours Dev. S'ajoute Clément que j'ai déjà croisé, je crois qu'il a déjà un ou deux projets dans les pattes (j'espère), et un autre Benjamin qui fera le SM. C'est la reprise. Le projet repart pour 3 sprints. Je retrouve Thibaut qui est
toujours Dev. S'ajoute Clément que j'ai déjà croisé, je crois qu'il a déjà un
ou deux projets dans les pattes (j'espère), et un autre Benjamin qui fera le
SM.
Vendredi dernier, Benjamin m'a appelé. Nous avons eu un échange sur le thème de : « ton projet est le pire de chez Théodo, comment ça se fait ? » J'ai exposé les points comme le départ en Angleterre de Bruno et France, le fait que Thibaut cherche à *faire des points*... Nous verrons bien. Ce matin, Benjamin (le SM) à remis un peu le couvert : *Comment ça se fait que vous n'avez pas de définition du succès sur le projet ? Comment ça se fait que ce truc n'est pas rempli, et que ça, sa ne fonctionne pas ...* Bref. Ambiance. Thibaut met ça sur le dos de Bruno, je lui rappel que nous avons tous un peu merdé. Vendredi dernier, Benjamin m'a appelé. Nous avons eu un échange sur le thème de
: « ton projet est le pire de chez Théodo, comment ça se fait ? » J'ai exposé
les points comme le départ en Angleterre de Bruno et France, le fait que
Thibaut cherche à *faire des points*... Nous verrons bien. Ce matin, Benjamin
(le SM) à remis un peu le couvert : *Comment ça se fait que vous n'avez pas de
définition du succès sur le projet ? Comment ça se fait que ce truc n'est pas
rempli, et que ça, sa ne fonctionne pas ...* Bref. Ambiance. Thibaut met ça sur
le dos de Bruno, je lui rappel que nous avons tous un peu merdé.
Benjamin et Thibaut sont ok pour utiliser une célérité de 4 ou je ne sais pas quoi. Je ne comprend toujours pas leur usage de ce truc, mais tant pis, je les laisse piloter. Je vais beaucoup moins m'impliquer sur leurs pratique pour éviter de faire des vagues... Le projet se passera peut-être mieux ? En tout cas, je serais sûrement moins affecté. Benjamin et Thibaut sont ok pour utiliser une célérité de 4 ou je ne sais pas
quoi. Je ne comprend toujours pas leur usage de ce truc, mais tant pis, je les
laisse piloter. Je vais beaucoup moins m'impliquer sur leurs pratique pour
éviter de faire des vagues... Le projet se passera peut-être mieux ? En tout
cas, je serais sûrement moins affecté.
Nous essayons ensuite de débuguer le Travis qui est rouge (et laissé rouge) depuis bien longtemps... Je part avant de le voir vert. J'espère que demain ça sera réglé... Nous essayons ensuite de débuguer le Travis qui est rouge (et laissé rouge)
depuis bien longtemps... Je part avant de le voir vert. J'espère que demain ça
sera réglé...
## 28 juillet 2015 ## Mardi 28 juillet 2015
Ce matin, pour ne pas changer, le PO/client, est arrivé en retard... Heureusement, nous n'avons pas fait de rétrospective (démarrage de projet). Décision sur la célérité: elle sera haute... Ah ! Cela permet d'avoir plus d'amplitude pour estimer les tickets. C'est vraiment bizarre, mais bon. La cérémonie se passe plutôt bien. J'ai l'impression que tous le monde était très attentif au fait que ça se déroule correctement et dans les temps. Ce matin, pour ne pas changer, le PO/client, est arrivé en retard...
Heureusement, nous n'avons pas fait de rétrospective (démarrage de projet).
Décision sur la célérité: elle sera haute... Ah ! Cela permet d'avoir plus
d'amplitude pour estimer les tickets. C'est vraiment bizarre, mais bon. La
cérémonie se passe plutôt bien. J'ai l'impression que tous le monde était très
attentif au fait que ça se déroule correctement et dans les temps.
Choix de petits tickets pour l'après midi, du coup ça dépotte. Enfin, je bouffe tout les petits tickets. Clément et Thibaut avance sur leurs tickets à 2. Est-ce la bonne stratégie ? Nous verrons bien. Choix de petits tickets pour l'après midi, du coup ça dépotte. Enfin, je bouffe
tout les petits tickets. Clément et Thibaut avance sur leurs tickets à 2.
Est-ce la bonne stratégie ? Nous verrons bien.
En fin de journée j'attaque un refactoring histoire de supprimer quelques duplication et d'aller un peu plus vers une archi où le nodejs sert d'API et le client, avec angular contient beaucoup de logique métier. En fin de journée j'attaque un refactoring histoire de supprimer quelques
duplication et d'aller un peu plus vers une archi où le nodejs sert d'API et le
client, avec angular contient beaucoup de logique métier.
## 29 juillet 2015 ## Mercredi 29 juillet 2015
J'attaque aujourd'hui un gros ticket. Gros parce qu'il touche des morceaux de code pas très beau. L'idée est de faire un peu de refactoring... Mais la motivation me manque. Je fais un peu de bricolage, rien de plus. Je fini le ticket. J'entends pendant ce temps les deux autres en train de ce prendre la tête sur l'ajout d'une librairie pour la gestion de l'autentification. Je n'ai pas très envie de les aider. J'attaque aujourd'hui un gros ticket. Gros parce qu'il touche des morceaux de
code pas très beau. L'idée est de faire un peu de refactoring... Mais la
motivation me manque. Je fais un peu de bricolage, rien de plus. Je fini le
ticket. J'entends pendant ce temps les deux autres en train de ce prendre la
tête sur l'ajout d'une librairie pour la gestion de l'autentification. Je n'ai
pas très envie de les aider.
Ce matin, il y a tellement de personnes qui viennent pour des entretiens que Benoit, notre SM ne peux pas venir faire le Daily. Nous faisons sans lui. Comme nous avons fait beaucoup de petits tickets, les points sont fait. Donc rien à signaler. Pour combien de temps. Ce matin, il y a tellement de personnes qui viennent pour des entretiens que
Benoit, notre SM ne peux pas venir faire le Daily. Nous faisons sans lui. Comme
nous avons fait beaucoup de petits tickets, les points sont fait. Donc rien à
signaler. Pour combien de temps.
Gros manque de motivation aujourd'hui. Gros manque de motivation aujourd'hui.
## 31 juillet 2015 ## Vendredi 31 juillet 2015
Ce matin, en arrivant, Clément et Thibaut sont en train de ce poser de grandes questions apparement, mais à mon arrivée, ils décident de plutôt aborder un soucis avec la preprod: elle ne fonctionne pas... Ce matin, en arrivant, Clément et Thibaut sont en train de ce poser de grandes
questions apparement, mais à mon arrivée, ils décident de plutôt aborder un
soucis avec la preprod: elle ne fonctionne pas...
Après quelques questions, je comprend finalement que c'est la fonctionnalité qui permet de s'authentifier, que nous devions finir mercredi, qui ne fonctionne pas sur la preprod alors qu'en local cela fonctionne. Nous partons en daily meeting sur ces échanges. Le Po/client à déplacé des tickets de "à valider" à "backlog" parce qu'il n'était apparement pas bon. Il a fait des retours sur des sujets qui apparement n'ont pas grand chose à voir... Après quelques questions, je comprend finalement que c'est la fonctionnalité
qui permet de s'authentifier, que nous devions finir mercredi, qui ne
fonctionne pas sur la preprod alors qu'en local cela fonctionne. Nous partons
en daily meeting sur ces échanges. Le Po/client à déplacé des tickets de "à
valider" à "backlog" parce qu'il n'était apparement pas bon. Il a fait des
retours sur des sujets qui apparement n'ont pas grand chose à voir...
Après analyse, il semblerais que sur 5 retour il y a bien 2 régression, deux précision sur les tickets réalisé, et un truc qui n'a rien à voir... Personnes ne souhaite l'appeler pour en parler, je m'en charge donc. De manière factuel nous abordons ces points et il crée deux tickets (il dit "acheter") qu'il place dans le backlog, puis nous discutons du reste, et je lui explique pourquoi la preprod est coincé pour le moment. Après analyse, il semblerais que sur 5 retour il y a bien 2 régression, deux
précision sur les tickets réalisé, et un truc qui n'a rien à voir... Personnes
ne souhaite l'appeler pour en parler, je m'en charge donc. De manière factuel
nous abordons ces points et il crée deux tickets (il dit "acheter") qu'il place
dans le backlog, puis nous discutons du reste, et je lui explique pourquoi la
preprod est coincé pour le moment.
Ensuite, Clément et moi essayons de voir ce qui pose problème. Apparement c'est le nginx qui bloque les cookies (ou une partie ?), mais Clément à l'impression qu'il y a autre chose qui ne fonctionne pas. C'est vrai qu'en passant dans certains écrans, il y a "une déconnexion", c'est à dire que nous sommes redirigé vers la page de login. Je lui dit de réparer d'abord la partie nginx et nous verrons ensuite, mais non, il s'obstine. Ok. Un archi, demandé par Benoit, notre SM, arrive et demande à Clément de lui epxliquer le problème... Au lieu de partir de la situation actuel, il lui refait tout l'historique. Je pars, c'est l'heure. Ensuite, Clément et moi essayons de voir ce qui pose problème. Apparement c'est
le nginx qui bloque les cookies (ou une partie ?), mais Clément à l'impression
qu'il y a autre chose qui ne fonctionne pas. C'est vrai qu'en passant dans
certains écrans, il y a "une déconnexion", c'est à dire que nous sommes
redirigé vers la page de login. Je lui dit de réparer d'abord la partie nginx
et nous verrons ensuite, mais non, il s'obstine. Ok. Un archi, demandé par
Benoit, notre SM, arrive et demande à Clément de lui epxliquer le problème...
Au lieu de partir de la situation actuel, il lui refait tout l'historique. Je
pars, c'est l'heure.
J'ai le sentiment de ne pas avoir beaucoup fait avancé le projet, et de travailler avec deux sourds... Plus que 2 sprints, dont un seul chez eux ! :-) J'ai le sentiment de ne pas avoir beaucoup fait avancé le projet, et de
travailler avec deux sourds... Plus que 2 sprints, dont un seul chez eux ! :-)
## 10 août 2015 ## Lundi 10 août 2015
Ce matin, en arrivant, j'apprend que la préprod est encore en vrac. Apparement Ce matin, en arrivant, j'apprend que la préprod est encore en vrac. Apparement
un truc aléatoire lors de la génération de certains documents... un truc aléatoire lors de la génération de certains documents...
J'ai passé un bon bout de journée dessus pour au final virer les promesses J'ai passé un bon bout de journée dessus pour au final virer les promesses
qu'ils avaient décidé d'utiliser pour faire une bonne vieille requête SQL en qu'ils avaient décidé d'utiliser pour faire une bonne vieille requête SQL en
chaine de caractères. Du coup, ça fait une reuqête au lieu de x (x pouvant aller chaine de caractères. Du coup, ça fait une reuqête au lieu de x (x pouvant
facilement à 10). Nous regardons ensuite avec Clément comment améliorer le code. aller facilement à 10). Nous regardons ensuite avec Clément comment améliorer
Je le force à regarder puisque j'ai laissé malgré moi des boulettes dans le le code. Je le force à regarder puisque j'ai laissé malgré moi des boulettes
code. dans le code.
Quelques échanges technique avec Clément surtout, Thibaut c'est lancé dans un Quelques échanges technique avec Clément surtout, Thibaut c'est lancé dans un
ticket "en plus" avec plein de refactoring... Ce soir, il dit ne pas encore ticket "en plus" avec plein de refactoring... Ce soir, il dit ne pas encore
@@ -370,13 +707,13 @@ quantité de régression (que j'espère proche de 0).
Pas de SM de la journée... Enfin si, nous le voyons débarquer vers 17h30. Il Pas de SM de la journée... Enfin si, nous le voyons débarquer vers 17h30. Il
nous demande comment ça va et repart. nous demande comment ça va et repart.
Benjamin à interpelé Étienne à notre retour du repas. Étienne est parti ensuite en Benjamin à interpelé Étienne à notre retour du repas. Étienne est parti ensuite
réunion. J'ai resenti comme une exclusion, mais j'avoue que ça me va bien. en réunion. J'ai resenti comme une exclusion, mais j'avoue que ça me va bien.
J'étais content de ne pas être invité. J'ai vraiment le sentiment que c'est ma J'étais content de ne pas être invité. J'ai vraiment le sentiment que c'est ma
dernière semaine ici et ça me va bien. C'est même peut-être ce qui va dernière semaine ici et ça me va bien. C'est même peut-être ce qui va m'aider à
m'aider à passer la semaine. passer la semaine.
## 11 août 2015 ## Mardi 11 août 2015
Je suis arrivé avant que les portes soient ouvertes chez mon client... Le Je suis arrivé avant que les portes soient ouvertes chez mon client... Le
client final est en mode pas content: le produit n'est pas *fini*. Il découvre client final est en mode pas content: le produit n'est pas *fini*. Il découvre
@@ -398,21 +735,21 @@ plus apprennent le métier.
La cérémonie se déroule, la rétro passe presque inaperçu. J'apprend qu'il y La cérémonie se déroule, la rétro passe presque inaperçu. J'apprend qu'il y
aura une cérémonie vendredi, en fin de journée, je n'y serais pas. aura une cérémonie vendredi, en fin de journée, je n'y serais pas.
## 12 août 2015 ## Mercredi 12 août
Ce matin, je ne suis pas bien motivé. Ça commence à être une habitude. Avec Ce matin, je ne suis pas bien motivé. Ça commence à être une habitude. Avec
l'équipe, sans le SM, nous décidons que je vais prendre le ticket qui revois les l'équipe, sans le SM, nous décidons que je vais prendre le ticket qui revois
pdf. Je n'ai pas vraiment mis le nez dedans depuis le début. les pdf. Je n'ai pas vraiment mis le nez dedans depuis le début.
Je ne suis pas déçu ! De la duplication, des morceaux de code qui pourrait être Je ne suis pas déçu ! De la duplication, des morceaux de code qui pourrait être
dupliqué, mais en fait non (ce qui explique des écarts entre un pdf d'un type et dupliqué, mais en fait non (ce qui explique des écarts entre un pdf d'un type
un autre). et un autre).
Derrière moi, Thibaut rale sur le client. C'est fatiguant. Je me demande si un Derrière moi, Thibaut rale sur le client. C'est fatiguant. Je me demande si un
de mes soucis avec ce projet n'est pas son attitude. Il veut faire vite, rejette de mes soucis avec ce projet n'est pas son attitude. Il veut faire vite,
les fautes sur le client. Du coup cette après-midi, nous ne le voyons presque rejette les fautes sur le client. Du coup cette après-midi, nous ne le voyons
pas: un coup il est bénévole pour installer le wifi au 3ième étage, un coup il presque pas: un coup il est bénévole pour installer le wifi au 3ième étage, un
a un entretien avec son *coach* (je crois). coup il a un entretien avec son *coach* (je crois).
Le SM lache une petite reflexion sur le fait que *ses deux projets* ne Le SM lache une petite reflexion sur le fait que *ses deux projets* ne
fonctionne pas bien (en dessous du standard sur le questionnaire client, le fonctionne pas bien (en dessous du standard sur le questionnaire client, le
@@ -423,3 +760,21 @@ Heureusement, demain c'est jeudi, et il ne me reste plus que vendredi matin.
Je n'ai pas fini mon nettoyage de pdf, je finirais vendredi matin, J'espère que Je n'ai pas fini mon nettoyage de pdf, je finirais vendredi matin, J'espère que
j'arriverais à tout mettre au propre et qu'il n'y aura pas d'autres soucis. j'arriverais à tout mettre au propre et qu'il n'y aura pas d'autres soucis.
## Et après
Le client n'a pas voulu nous payer la dernière semaine de travail. Apparement,
le client finale ne voulais pas payer les deux dernières semaines... Au delà de
nous faire partager le soucis, j'ai été pointé comme étant le responsable du
fiasco de ce projet. Ça n'a pas été facile à entendre.
Ensuite, nous avons voulu reconstituer le fil de certains évènements. J'avais
malheureusement perdu mes mails durant l'été. Une belle leçon.
J'ai tiré un autre apprentissage de cette histoire : si ça ne va pas, il faut
partir vite, pas attendre la fin en se disant que ça ira mieux après.
Cette histoire ma également confirmé qu'il y a plein d'interprétation possible
de l'agilité, et que même chez les personnes qui semblent proche, les écarts
peuvent être dur à vivre.
+2
View File
@@ -24,6 +24,8 @@ a:visited, a:active { color: dimgrey; }
nav { text-align:center; font-size:smaller; padding: 0; margin: 0; } nav { text-align:center; font-size:smaller; padding: 0; margin: 0; }
nav li { list-style-type: none; } nav li { list-style-type: none; }
.portrait { margin: 1em; } .portrait { margin: 1em; }
h2 > a, h2 > a:active, h2 > a:visited { color: lightgrey; text-decoration:none;}
h2 > a:hover { color: black; text-decoration:underline }
</style> </style>
</head> </head>
<body> <body>