Software Craftsmanship

Software Craftsmanship

Nous sommes allés à SoCraTes 2022 – 6e édition

Nous sommes quelques Octos a avoir eu la chance de participer à la 6e édition de SoCraTes France (https://twitter.com/SoCraTes_FR/status/1505625869519396864). Pour poser le contexte, qu’est-ce que SoCraTes ? SoCraTes (pour Software Craft and Testing) c’est un temps (3 jours et … 3 nuits) où une soixantaine de personnes se retrouvent dans un endroit sympathique pour échanger, partager, et coder. Le format est simple : c’est un Open Space où tout le monde est libre de proposer des sujets en début de chaque journée, un agenda s’organise…

Lire la suite
Software Craftsmanship

Deux techniques de base pour le code Legacy

Cet article présente Sprout Method et Wrap Method, deux techniques très utiles quand : on travaille sur du code non testé (une des définitions possibles de “code legacy”)on souhaite y ajouter une fonctionnalité couverte par des tests (la “reason to change”). Ces deux techniques sont les premières techniques présentées par le livre “Working Effectively with Legacy Code”, de Michael Feathers (WEWLC). Elles permettent d’ajouter du code testé dans du code difficile à tester, et ce sont aussi de bonnes premières étapes vers un meilleur design. …

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 8 – c’est un succès)

La foule est en liesse.  Et c’est peu dire.  Théo et Léa utilisent l’application autant que leurs autres applications. Les GAFA n’ont qu’à bien se tenir. Et pourtant il y en a encore eu de belles. Le plus gros changement est arrivé tard, c’était énervant de devoir le reconnaître. Les lots de feedbacks amènent leurs lots de changements, Charlotte en avait accepté l’idée. Et pourtant c’était encore surprenant. Théo avait dit dès l’itération 2 : « La règle des 100%, tu peux l’enlever ? »…

Lire la suite
Software Craftsmanship

Le Backlog est vivant, il bouge avec des feedbacks (épisode 7 – la PO n’est pas certaine, elle pourrait aller plus vite)

C’est embêtant le doute. Une petite voix dans sa tête qui ne s’arrête pas.  Une idée comme ça que si ça se trouve, tout est faux. Charlotte soupçonne qu’elle pourrait aller plus vite. Ce serait dommage de perdre du temps, elle a beaucoup d’idées en tête, elle pourrait prendre un moment et tout écrire.  Elle voit bien que ça prend du temps de faire juste une itération, puis de recevoir des feedbacks, puis d’en faire une deuxième, puis de recevoir des feedbacks, puis de faire…

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 6 – le Backlog bouge encore)

Ça s’arrête quand de bouger. Charlotte ne sait plus si c’est une bonne ou une mauvaise nouvelle tous ces changements. L’application à la fin de l’itération 2 : L’application à la fin de l’itération 3 : Maintenant c’est la fin de l’itération 3.  Théo et Léa ont l’air de plus en plus contents.  Pourtant Charlotte est dépitée. L’application grossit en se modifiant à chaque fois. Et en s'améliorant à chaque fois. Maintenant il y a un vrai parcours d’apprentissage. Chaque leçon validée permet d’apprendre de…

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 5 – le Backlog bouge)

Début de l’itération 2. Charlotte boude dans son fauteuil. Elle joue avec l’application. C’est dur tout de même d'encaisser toutes ces remarques. Mais en même temps ils ont raison. Elle voit bien qu’elle apprend une leçon rapidement, et qu’en rejouant une heure après la leçon n’était pas vraiment acquise. Elle joue longtemps, comme pour retarder le moment où elle casse tout pour continuer. Oui car prendre en compte les remarques va impliquer des modifications sur ce qui a déjà été fait.  Il va falloir refaire…

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 4 – les utilisateurs seront ravis)

La semaine a été longue. Voici à quoi ressemble l'application à la fin de l’itération 1 :  C’est avec beaucoup d’empressement qu’elle montre son produit à ses utilisateurs. Théo et Léa sont silencieux, ils jouent avec l’application fraîchement déployée sur leur téléphone.  Tests en conditions réelles.  Elle profite de ce moment pour se répéter : ne pas trop se vanter, ce ne serait pas un bon exemple. Oui, le produit est conforme à la première promesse. Oui, le produit répond aux attentes. Oui, le produit…

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 3 – le développeur en piste)

C’est le moment tant attendu de la réalisation du produit. Aujourd’hui Charlotte est la super développeuse de ce super produit. Elle est motivée, prête à travailler dans les règles de l’art du développement logiciel. « Je vais me focaliser sur le besoin et trouver les meilleures solutions pour y répondre. » se dit-elle. Elle se sent capable de soulever des montagnes. En plus dans son cas c’est facile, elle connaît bien la PO :) C’est un peu fou cette situation, elle se rend compte qu’elle…

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 2 – pour découvrir le produit, il faut le construire)

Les idées fusent. Charlotte prend plaisir à formaliser ses idées, elle rédige ses idées comme des petites histoires utilisateurs qui prendront vie quand le logiciel fonctionnera. Elle raconte comment ce sera bien d’utiliser le logiciel. C’est un moment agréable et facile. « Il permet de jouer aux devinettes de kana et de romaji, il possède un mode aléatoire, il permet aux élèves de connaître leur progression, … » C’est salvateur de formaliser toutes ces histoires : elle avait ces idées en tête, mais les écrire…

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 1 – synopsis et glossaire)

Charlotte a décidé de créer avec l'aide de ses enfants une application qui facilite l'apprentissage du Japonais. Elle découvre que les activités de conception et de construction s'appuient mutuellement l'une sur l'autre à travers de nombreux allers et retours, mais aussi qu'elle doit abandonner l'idée qu'une expression de besoin définitive, figée, existe pour cette application.

Lire la suite