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
Made with Slides.com