- Choisir la fonctionnalité à développer, puis créer / s'attribuer une tâche sur le Trello et la passer en "In progress" ;
pull
la masterorigin
pour récupérer toutes les modifications effectuées ;- Créer votre branche pour développer votre fonctionnalité ;
- Lorsque la fonctionnalité est prête,
merge
la branche masterorigin
dans votre branche, résolvez les conflits si nécessaire, et tester de nouveau si tout fonctionne (si il y a eu des conflits douloureux à faire ...) ; - Créer votre pull request avec toutes les informations nécessaires pour que quelqu'un puisse la valider (voir l'exemple de template à la fin) et enfin passer votre tâche Trello à "To validate".
Note : il sera sûrement nécessaire de compléter les spécifications de la fonctionnalité sur le Drive avant de la développer pour avoir les idées claires avant de commencer et pour que l'approbateur de la fonctionnalité sâche ce que la fonctionnalité est sensé faire en details ainsi que sa portée.
- Assignez-vous comme approbateur sur la tâche Trello de la fonctionnalité ;
- Mettez-vous sur la branche de la fonctionnalité (
pull
dépuis la remoteorigin
si nécessaire) - Référez-vous à la Definition of Done pour valider la fonctionnalité ;
- Si tout est bon au sens de la DoD :
- Valider la tâche Trello ;
- Valider la pull request ;
merge
la pull request.
- Sinon, ajouter des commentaires sur la pull request ou sur la code (fonctionnalité de Github) pour décrire ce qu'il ne va pas et/ou discuter avec l'auteur de la pull request.
N'oubliez pas de tester les fonctionnalités avec différents scenarios et différentes configurations (rotation de l'écran, vérouillage /devérouillage, retour launcher, désactivation de la connexion internet, etc.)
Note : Si il y a des bugs connus mineurs dans la pull request (pas de crash de l'application par exemple ...) elle peut quand même être merge
, mais des issues Github doivent toutes les répertoriées pour en garder une trace.
## Introduction
<introduction de la pull request,
lien vers la spécification de la fonctionnalité,
description de ce qui n'a pas été implémenté par rapport à la spécification,
...>
## Changements mineurs (optionnel)
<les changements mineurs qui ne concerne par directement la fonctionnalité,
mettre uniqument les changements dignent d'interêt (manifest ou des build.gradle typiquement)>
## Changements majeurs
<mettre les fichiers / packages du code qui ont été drastiquement changés>
## Bugs connus
<liste des bugs non critiques>
## TODO (optionnel)
<Si la fonctionnalité n'a pas encore implémentée toute la spécification
mettre ici les choses à faire pour la terminer>