diff --git a/content/une-mission-bancale.html b/content/une-mission-bancale.html index 1b8298d..dec5970 100644 --- a/content/une-mission-bancale.html +++ b/content/une-mission-bancale.html @@ -35,7 +35,7 @@ h2 > a:hover { color: black; text-decoration:underline }

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

Il faut faire un point

@@ -54,7 +54,7 @@ h2 > a:hover { color: black; text-decoration:underline }

Une bonne discussion pour la plannification. La recette chez mon client permet de calculer des points et de choisir des US. C’est bien commode, c’est bien codifi. Ceci dit, je crois que nous en avons encore trop prit. Nous verrons. 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.

J’ai acté avec le commercial du projet que je n’ai 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.

-

#Vendredi 22 mai 2015

+

#Vendredi 22 mai 2015

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.

Nous partons ensuite chacun sur nos tickets. Pas de pair programming. C’est triste. Surtout que je pense que c’est pour un soit disant gain d’efficacité. Mais comment gagner en efficacité alors que deux des trois développeurs sont des stagiaires ?

Un des stagiaires part sur le ticket d’upload de photo. C’est un peu la galère: 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 manque peut-être un truc pour cloturer la reception ?

@@ -85,14 +85,14 @@ h2 > a:hover { color: black; text-decoration:underline }

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.

Journée un peu rude (des échecs sur la mise en production), mais globalement tout semble rouler un peu mieux…

-

#Mercredi 3 juin 2015

+

#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.

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.

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.

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.

-

#Mardi 9 juin 2015

+

#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.

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.

@@ -100,7 +100,7 @@ h2 > a:hover { color: black; text-decoration:underline }

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.

J’en profite pour faire un peu de shell pour rendre le processus de deploiement un peu plus robuste.

-

#Mercredi 10 juin 2015

+

#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).

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 !

@@ -110,13 +110,13 @@ h2 > a:hover { color: black; text-decoration:underline }

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.

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.

-

#Mardi 16 juin 2015

+

#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.

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.

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 ?” :-)

-

Mercredi 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…

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.

@@ -124,7 +124,7 @@ h2 > a:hover { color: black; text-decoration:underline }

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.

Bizarre de travailler dans une équipe de cette manière. Le plus bizarre et de faire de la production pendant juste quelques jours…

-

Mardi 23 juin 2015

+

#Mardi 23 juin 2015

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 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.

@@ -132,7 +132,7 @@ h2 > a:hover { color: black; text-decoration:underline }

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 " …

A suivre demain.

-

Mercredi 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…

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.

@@ -144,7 +144,7 @@ h2 > a:hover { color: black; text-decoration:underline }

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.

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.

-

Mardi 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…

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.

@@ -152,7 +152,7 @@ h2 > a:hover { color: black; text-decoration:underline }

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.

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.

-

Mercredi 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.

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: