La boutique Gilded Rose

La boutique Guilded Rose

Gilded Rose est une boutique imaginaire suivant des règles spécifiques pour gérer son stock d’objets en fonction de contraintes de qualité, de quantité et d’expiration.

Ici, le but est d’utiliser l’environnement de Gilded Rose pour construire un projet de boutique avec gestion de stock.

Qu’est ce qu’un Kata de refactoring?

C’est un Kata qui permet de faire du refactoring sur une base de code existante. (Tout le domaine métier dans un seul fichier.)
C’est aussi une base pour faire les tests en mode GoldenMaster.

Les notions abordées

  • Le découpage des fonctionnalités,
  • Introduction aux tests sur le code (3)? (s’ils veulent.)
  • L’architecture de leur code (4).
  • Le travail en équipe sur la même base de code (tout le monde prend une fonctionnalité qui lui tient a cœur.)
  • Git avec les branches
  • la mise en « prod »
  • les tests faits par une personne du produit sur le code délivré par les équipes.
  • une rétro (7) sur la fin pour l’amélioration continue.

Orientation du projet :

Le but de ce projet est de monter des itérations de cycle de code en plus simplifié.
J’aimerais vraiment qu’ils découvrent les dynamiques de production.
C’est donc de faire une boutique web qui vend du matériel pour les héros :).

Je débute :

Avec des petits jeux que Marine aura préalablement prévu à cet effet. (A redéfinir sur papier pour avoir une trace future)
Il y aura la présentation de toutes les fonctionnalités pour que tout le monde puisse y trouver son compte (si possible).
Si possible une démo de Marine sur le code déjà existant.

Avec la même base de code que tout le monde.
Les groupes devront créer leur branche respective.
pour ensuite pousser leur code sur dev.

Contraintes :

Les apprenantes devront faire des groupes de 2 par affinité sur les fonctionnalités.
Les apprenantes devrons travailler sur la même base de code et pousser leur code sur Dev
(l’utilisation de branches sur git est fortement recommandé)
Le langage est une contrainte. Au début du projet, vous devez vous mettre d’accord sur quel langage vous voulez utiliser.

Se préparer :

  • Git : les messages de commit, les branches, les merges, les rebases interactifs (en cas de conflit)
  • Un IDE sur lequel je suis à l’aise pour programmer.
  • Le pair-programming (5)
  • La participation active aux jeux de Marine :).
  • La notion d’application sur le web. (documentation sur les boutiques de vente sur le net.)
  • Les frameworks si on le souhaite
  • La documentation technique sur les technos utilisées et comment les autres équipes font.

Objectifs Pédagogiques :

Voir une nouvelle dynamique de travail avec des itérations très petites (faire délivrer en cycle court).
Voir si elles arrivent à s’adapter facilement à ce nouveau format et y prennent goût ?
Voir si les notions de base sont en place aussi.
Utilisé les plénières du matin pour les débloquer sur des notions et qu’elles puissent reprendre directement le projet en après-midi (s’il y a point de bloquage.)
Faciliter un échange aussi plus concret avec les groupes de travail.

Ressources :

1 - http://referentiel.institut-agile.fr/refactoring.html
2 - https://www.softfluent.fr/blog/tout-ce-quil-faut-savoir-sur-golden-master-testing/
3 - https://www.disko.fr/reflexions/technique/tests-unitaires-avec-magento-2/
- http://referentiel.institut-agile.fr/gwt.html

4 - https://blog.octo.com/a-la-decouverte-des-architectures-web-front-end-1-4-les-sites-web-statiques/
5 - http://referentiel.institut-agile.fr/pairing.html
6 - https://www.codeur.com/blog/developpement-web-meilleurs-frameworks/ (propagande :D)
7 - http://referentiel.institut-agile.fr/heartbeatretro.html
-https://retromat.org/fr/?id=52-51-9-13-16

Le projet : emilybache/GildedRose-Refactoring-Kata

1 J'aime