L'approche Agile
Rappel sur le cycle en V
Partie gauche (définition du besoin) :
- Analyse
- Architecture et spécifications
- Conception
Milieu : développement
Partie droite (tests et intégration) :
- Plan de test et recette
- Intégration
- Mise en production
Approche agile
Privilégier "approche" par rapport à "méthode".
Les 4 valeurs
Valoriser :
- Les individus et leurs intéractions plus que les processus et
outils
- Des logiciels opérationnels plus qu'une documentation exhaustive
- La colloboration avec le client plus que la négociation
contractuelle
- L'adaptation au changement plutôt que le suivi d'un plan
Les 12 principes
- Notre plus haute priorité est de satisfaire le client en livrant
rapidement et régulièrement des fonctionnalités à grande valeur ajoutée
- Accueillez positivement les changements de besoins, même tard dans le
projet. Les processus agiles exploitent le changement pour donner un
avantage compétitif au client.
- Livrez fréquemment un logiciel opérationnel avec des cycles de quelques
semaines à quelques mois et une préférence pour les plus courts.
- Les utilisateurs ou leurs représentants et les développeurs doivent
travailler ensemble quotidiennement tout au long du projet.
- Réalisez les projets avec des personnes motivées. Fournissez-leur
l’environnement et le soutien dont elles ont besoin et faites-leur
confiance pour atteindre les objectifs fixés.
- La méthode la plus simple et la plus efficace pour transmettre de
l’information à l'équipe de développement et à l’intérieur de celle-ci
est le dialogue en face à face.
- Un logiciel opérationnel est la principale mesure d’avancement.
- Les processus agiles encouragent un rythme de développement soutenable.
Ensemble, les commanditaires, les développeurs et les utilisateurs
devraient être capables de maintenir indéfiniment un rythme constant.
- Une attention continue à l'excellence technique et à une bonne conception
renforce l’agilité.
- La simplicité – c’est-à-dire l’art de minimiser la quantité de travail
inutile – est essentielle.
- Les meilleures architectures, spécifications et conceptions émergent
d'équipes auto-organisées.
- À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus
efficace, puis règle et modifie son comportement en conséquence.
La méthode Scrum
3 piliers :
- Transparence
- Inspection
- Adaptation
3 niveaux hiérarchiques :
- Product Owner
- Scrum Master
- L'équipe de développement
Le product owner
- Responsable du backlog
- Porte la vision globale du produit
- Définit les priorités et valide ce qui est réalisé
Le Scrum master
- S'assure de l'application de la méthode Scrum
- Est un facilitateur et protège/s'occupe de l'équipe
L'équipe de développement
- Réalise le projet en lui même et est responsable de la qualité
- Est auto-organisée
- A les compétences nécessaires pour parvenir à son but
Les user-stories sont contenues dans des epics, elles même contenues
dans des backlogs. Les epics contiennent les user-stories mais aussi
les éventuelles tâches annexes ou les bugs.
On travaille par phases incrémentales (sprints). Au départ, on réalise une
phase de répartition pour déterminer la faisabilité et la difficulté des tâches. Le Spring Backlog définit ce que l'on réalise dans le sprint à
venir.
Le scrum board permet de voir l'avancement du projet et le burdown
chart représente le graphique d'avancement.
A la fin de chaque spring, on réalise une rétrospective. Le but est de
définir ce qui s'est bien et mal passé et de définir un plan d'action.
Tous les aspects peuvent être abordés (humains, techniques, etc.).
Le centre de tout est la communication avec le client. Le fait que les phases d'itération soient courtes permet de solliciter le client plus souvent et de remarquer les problèmes plus rapidement.
Les user stories
Principes INVEST :
- Idependant : pas de dépendences entre les US
- Negotiable : Une US est une base de discussion et peut être discutée
- Valuable : Une US sans valeur pose la question de l'intérêt d'investir
pour la réaliser.
- Estimable : Pas d'US trop large au risque de ne pas pouvoir estimer
le temps de réalisation.
- Small : Une US doit être réalisable sur un sprint.
- Testable : Une US doit être démontrable pour valider sa mise en oeuvre.
Les critères d'acceptance
Ils définissent quand une US pour être considérée comme terminée.
Ces critères doivent être SMART :
- Spécifique
- Mesurable
- Ateignable
- Réaliste
- Temporel