headerIcone

Patinaud.org


Le système d'information dans toute sa définition

Documentaires
Technologies
Législation
Normes et bonnes pratiques
 
Gestion de projet
 
 
Gouvernance
 
 
Modélisation
 
 
Sécurisation des SI
 
A propos de Patinaud.org

Agile (valeurs et principes)

Le manifest Agile est particulièrement succinct et repose sur quatre valeurs ainsi que douze principes découlant de ces valeurs.

Les 4 valeurs Agile

Les individus et leurs interactions plus que les processus et les outils : on privilégie les relations humaines, la communauté des développeurs et le rôle de “l'humain” dans le déroulement projet, à contrario des processus institutionnalisés / déshumanisants, et des outils de développements qui ne laisse pas libre cours à la créativité. Des logiciels opérationnels plus qu’une documentation exhaustive : l'objectif principal des développeurs est de produire, en permanence ou presque, une application opérationnelle. L'objectif de réaliser une documentation technique et utilisateur considérés comme ayant peu de valeur ajouté pour le client est secondaire. La collaboration avec les clients plus que la négociation contractuelle : la collaboration client / développeurs prime sur le contrat. On peut ainsi répondre aux besoins du client, et non aux contraintes d'un contrat. Cela implique une certaine confiance en le métier et l'IT ainsi qu'une bonne maturité juridique. L’adaptation au changement plus que le suivi d’un plan : L'équipe projet (Développeurs et utilisateurs référents) doivent être préparés face au changement. Le planning doit être souple et chacun doit se remettre en question en permanence. Planifier est important, mais adapter le contenu du planning l'est tout autant. piliers Agile

Les 12 principes Agile

Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. Toute la création de valeur doit être justifié par la vue client. La seule vraie justification de valeur possible est démontrable uniquement lorsque le client se rend compte de l'utilisation réelle des produits livrés. La valeur identifiée lors de la livraison apporte naturellement au client la satisfaction requise par le projet. Le cercle vertueux livraison/satisfaction est en place et le projet peut continuer. 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. La notion du cahier des charges évolutif est ici annoncé. Il permettra au client de préciser ses idées au cours du projet dans le but de créer la juste valeur attendue par les utilisateurs. Le changement du cahier des charges permet d'éviter la création de fonctionnalité à faible valeur ajoutée. Pour autant, les développeurs doivent accepter ce changement et à l'inverse le client doit accepter que les développeurs refassent une partie du produit pour plus de qualité. Par conséquent, il faut donc que le client gère en permanence ses priorités, que les développeurs acceptent le changement et que le chef de projet adapte continuellement la façon de travailler. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts. La livraison régulière et fréquente permet se rendre compte de l'avancée du produit d'un point de vue technique et fonctionnel. De plus les délais court de livraison permettent de réduire le risque d'erreur sur ces deux aspects. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. La collaboration quotidienne entre les différents intervenants (métiers / développeurs) permet d'augmenter la productivité en facilitant le partage d'information et en abandonnant partiellement la documentation intermédiaire sans valeur pour le produit final. Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés. Les membres de l'équipe doivent être motivés pour atteindre les objectifs. Sans une motivation forte de l'ensemble de l'équipe (client et développeur) le projet ne peut pas avancer convenablement. Tous les éléments gênant l'équipe dans la réalisation de son objectifs doivent être levés. De plus chaque membre doit disposer d'une délégation forte de la part de sa hiérarchie afin de se décider rapidement sur des points fonctionnels (client) et techniques (développeurs). Le facteur humain est la clé du succè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. Si les documents et les mails permettent de garder un historique des échanges, rien n'est plus efficace qu'un échange en face à face (au pire au téléphone) pour transmettre des informations. Un logiciel opérationnel est la principale mesure d’avancement. Le seul vrai paramètre d'avancement d'un projet est le nombre de fonctionnalités livrées. 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. Les heures supplémentaires sont fortement déconseillées. Les pressions dût au deadline projet sont limitées ; si certaines fonctionnalités ne sont pas développées pour la fin du sprint, elles le seront dans le prochain. Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité. L'excellence technique est un prérequis fort car elle va permettre de faire face et d'intégrer facilement le changement. Un code de mauvaise qualité est une véritable perte de temps pour les développeur et pénalise le projet. La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle. Un code simple est à privilégier car il est davantage maintenable qu'un code complexe. Il ne faut donc pas hésiter à refactoriser un code déjà en place afin de l'améliorer. Les meilleures architectures, spécifications et conceptions émergent d'équipes autoorganisées. Une équipe responsable et mature générera grâce à son intelligence collective une meilleure architecture qu'un architecte isolé. Car elle mettra à profit l'expérience de chacun de ses membres (métier et client). À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence. Prendre régulièrement du recul par rapport à son activité permettra à l'équipe de s'améliorer durant toute la durée du projet. sources : Manifest Agile officiel