Définition
Définition
Agile signifie : flexibilité, répétition, ouverture aux changements
Etre Agile c’est :
- adopter une approche itérative et incrémentale
- menée dans un esprit collaboratif
- pour générer un produit de haute qualité
- en tenant compte de l’évolution client
L’agilité s’oppose à des modèles classiques de développement logiciel (e.g. Cycle en V, Cascade). On y travaille par cycle afin d’obtenir du feedback. Le feedback est essentiel, car il permet de :
- Revoir les priorités
- Analyser les changements Ă faire
- Supprimer certains besoins
⇒ Tout ceci contribue à l’amélioration continue de l’équipe et donc du produit.
Le client change d’avis, nous pouvons (plus facilement) l’absorber.
Implication du client
Avec l’agilité nous impliquons le client au quotidien dans le processus de création. En lui fournissant rapidement des Minimum Viable Product nous nous assurons que :
- Le produit répond toujours aux attentes de l’utilisateur et des clients
- De minimiser le coût d’un changement de direction, voire de l’anticiper
- Le client à une visibilité
- ⇒ On évite ainsi le gaspillage d’argent
L’équipe propriétaire du processus
Affirmation
Dans une approche d’amélioration continue, l’équipe est propriétaire de son processus.
Il est avant tout essentiel que le management lui en donne la permission. Sinon l’équipe ne fera pas évoluer le système et réduisant les différents framework (Scrum, Kanban, etc) à de la simple gestion de tâches.
Chaque membre de l’équipe doit se sentir *libre d’intervenir- là où il faut, quand il le faut et sur sa propre initiative pour optimiser le flux de travail. Chacun doit ainsi envisager de travailler pour maximiser les performances du système et non sa propre productivité :
- Proposer des solutions pour améliorer le processus global
- Travailler en dehors de ses compétences ou domaine habituel
- …
Un produit de haute qualité
L’agilité c’est produire un produit de haute qualité. Mais que signifie le terme haute qualité ?
- Livraison de valeur continue : on sélectionne et développe les fonctionnalités qui ont une importance capitale pour le client. On évitera de satisfaire tous les besoins initiaux qui ne sont plus utiles ni porteur de valeur.
- Feedback permanent : on recueille l’avis du client en lui livrant régulièrement une version intermédiaire aboutie du produit.
- Campagne de tests : permet au défaut d’être détecté et corrigé immédiatement.
- Refactoring : on évite une dégradation du code en améliorant sa lisibilité et maintenabilité : en supprimant du code dupliqué, etc. On veut un code bien conçu.
- Adopter une approche adaptative : on vérifie régulièrement la qualité du processus (implique directement la qualité du produit). On discute et on prend les décisions adéquates pour améliorer le processus.
Facilitateur Agile
Affirmation
Le Chef de Projet n’a plus le rôle autoritaire et de celui qui va assigner les tâches.
L’agilité préconise l’auto-organisation, ainsi le rôle du manager est de s’occuper de l’humain (montée en compétence, bien-être des salariés, etc). Il a pour objectif de faire évoluer l’organisation dans le bon sens (amélioration continue des process).
⇒ Il donne un cadre de travail