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