Méthodes Agiles
Cycle en V
Valeurs
- Les individus et leurs interactions, plus que les processus et les outils
- Des logiciels opérationnels, plus qu'une documentation exhaustive
- La collaboration avec les clients, plus que la négociation contractuelle
- L'adaptation au changement, plus que le suivi d'un plan
Traditionnel VS Agilité
Quand l'utiliser ?
- Besoin rapide de mise à disposition du produit
- Imprévisibilité des besoins du client
- Nécessité de changements fréquents
- Besoin de visibilité du client sur l'avancement des développements
- Présence de l'utilisateur assurant un feedback immédiat
Quand ne pas l'utiliser ?
- Indisponibilité du client ou de l'utilisateur
- Dispersion géographique des ressources humaines
- Refus des changements
- Gouvernance complexe de la DSI
- Ne jamais arriver à fournir et donc vendre quoi que ce soit
Méthode Scrum
Rôles
- Product Owner
- Disponible
- Unique
- Scrum Master
- N’est pas un chef de projet
- Appliquer les règles de la méthode Scrum
- Team Member
- Expérimenté
Processus
TDD
(Test Driven Development)
Processus
Erreurs courantes
- Oublier de dérouler les tests fréquemment
- Ecrire de nombreux tests à la fois
- Ecrire les tests d'une granularité inadaptée
- Ecrire des tests pour du code non trivial, par exemple les accesseurs
Bénéfices
- Réduction significative du nombre de défauts
- Réduction des efforts de mise au point en fin de projet
- Amélioration de la qualité du code
BDD
(Behavior Driven Development)
S'exprimer dans un langage naturel
- On utilise des phrases, dans la langue du projet
- On parle de besoin et non de solution, dans un langage non technique
- On utilise des termes provenant du langage partagé par tous
Finalité
- Le code créé est à l’image de la demande de l’utilisateur
- La fonctionnalité est à l’image de la demande de l’utilisateur
- L’implication et la réflexion des experts métier avec les développeurs permet de débloquer un grand nombre de problème.
Et concrètement...
- En tant que <Utilisateur, Vendeur, Commercial, …>
- Je souhaite <Pourvoir trier mes courriers, approvisionner mon stock, calculer mon bonus,…>
- Pour < Gagner du temps, Satisfaire mes clients, Connaitre mon avancement, …>
La définition des cas de test
- Quand j'ai [condition initiale]
- Et que je fais [action]
- Alors j'obtiens [résultat]
Exemple
TDD / BDD
By benjamin tourman
TDD / BDD
- 409