
Personnellement, je pense qu’il est fondamental pour chaque membre de l’équipe de comprendre l’idée derrière l’agilité. La promesse de l’agilité ne sera atteinte que si chaque membre joue son rôle dans l’équipe. En étant imprégné des valeurs de l’agilité et en vivant ces valeurs chaque jour, chaque membre contribue alors à la réussite de soi-même. Il en résulte que l’équipe formée par de telles personnes est une équipe performante, et qui ramène de la valeur aux utilisateurs de leur produit et à l’entreprise.
Les fondements de l’agilité couvrent plusieurs axes. Je vais essayer de résumer ces fondements dans ce Post. vous aurez du détail sur chaque fondement dans presque chaque livre qui touche de près ou de loin à l’agilité.
Sommaire
Les individus
- L’agilité reconnaît l’authenticité de chaque individu au lieu de considérer que c’est une “ressource”.
- La valeur la plus importante de chaque individu est dans ses interactions et sa collaboration. Pour cette raison, les équipes agiles sont formées de différents “rôles” (développeurs, designers, testeurs, etc.) qui proviennent de diverses unités fonctionnelles.
- Les individus travaillent à une même place (idéalement dans la même pièce).
- L’agilité habilite les équipes a s’auto-organiser et ne leur impose aucune méthode ou processus.
- L’agilité fait confiance à l’équipe pour livrer le travail par les moyens qu’ils pensent le meilleur, en assumant qu’ils savent comment faire cela.
- L’équipe est responsable de son résultat.
Le fonctionnel
- Les meilleurs produits sont créés en impliquant directement le client avec l’équipe qui les crée.
- L’équipe collabore avec le client ou un représentant du client pour maintenir et reprioriser un backlog de fonctionnalités en changement constant.
- Ces fonctionnalités sont décrites dans un format concis, l’aspect le plus important étant la conversation et non la documentation.
- L’exploration commence uniquement lors de la sélection des fonctionnalités pour une implémentation immédiate.
- La simplicité est la clé pour la conception de chaque fonctionnalité.
- L’utilité de la fonctionnalité développée est immédiatement vérifiée par le client suite a l’implémentation.
La qualité
- Pour qu’un produit soit un succès, le focus sur la qualité est crucial.
- Tout le monde est concerné par la qualité. Il n’y a aucune exception à cette règle.
- il y’a un revirement complet du concept de “contrôle de qualité” vers la “livraison de qualité”
- Et donc, l’excellence technique se trouve au coeur de l’Agilité. Contrairement a ce que certains peuvent comprendre du point sur la simplicité de conception dans la section précédente.
- La qualité est achevée en considérant le :
- “Test via le code” : favoriser l’automatisation des tests.
- “Test avant le code” : Si quelque chose est important, le considérer au début (TDD, ATDD etc.)
- revues de code et pair programming.
- Définition du “done” (DOD)
- Développement itératif (accepter de faire des changement sur le code beaucoup plus fréquemment.)
- Refactoring (Améliorer le code même si il n’y a pas de nouvelles fonctionnalités)
- Les bonnes architectures ne sont pas définies a l’avance mais émergent au fur et a mesure que le développement avance.
Les outils
Le temps
La valeur
Le processus
Le conflit
Conclusion
Contrairement aux approches classiques du développement logiciel qui ont une saveur bureaucratique et se base sur la commande et le contrôle, l’approche Agile du développement logiciel met le focus sur les individus et les équipes, les releases de produits fréquents et de qualité, à la collaboration intensive avec le client, et à la réponse rapide au changement via un minimum de planification.
J’espère que ce post provoquera pour certains d’entre l’étincelle pour partir avec moi à la quête de l’agilité, la vraie!
