Processus 2 Flashcards
Comprendre le contexte qui a mené à l’agilité en développement logiciel et pourquoi on a voulu l’accélérer
➢ Le monde des affaires opère de plus en plus dans un environnement globalisé où:
1) le logiciel est omniprésent;
2) la vitesse de réponse aux opportunités et aux conditions changeantes devient cruciale.
➢ En raison de ce nouvel environnement d’affaires en mouvance, il devient souvent impossible d’obtenir un ensemble de requis stables. Il faut parfois une première version du logiciel avant de comprendre tous les besoins des utilisateurs.
➢ Le besoin de méthodes pour un développement logiciel rapide est connu depuis 1980. Il s’agit de développer du logiciel utile rapidement.
Pouvoir expliquer les valeurs de l’agilité
- Les individus et les interactions priment sur les processus et les outils: on sentait que les expertises étaient moins importantes et avant le focus était surtout sur le processus, alors qu’il est important de miser que le potentiel de créativité, l’expertise et la communication
- Les logiciels opérationnels priment sur la documentation compréhensive: revenir au code et aux artéfacts plutôt que juste se concentrer sur la documentation
- La collaboration avec le client priment sur la négociation d’un contrat : impliquer les clients dans le travail et ne pas les voir seulement comme ceux qui donne le travail, collaborer activement avec
- L’adaptation aux changements priment sur le suivi d’un plan: voir les changements comme des opportunités
Les principes de l’agilité
- Satisfaire le client est la priorité (vérifier la satisfaction et être en interaction)
- Accueillir les demandes de changement
- Livrer le plus souvent possible des versions opérationnelles de l’application
- Assurer une coopération permanente entre le client et l’équipe du projet
- Construire des projets autour d’individus motivés
- Privilégier la conversation en face à face
- Mesurer l’avancement du projet en termes de fonctionnalités de l’application
- Faire avancer le projet à un rythme soutenable et constant
- Porter une attention continue à l’excellence technique et à la conception
- Favoriser la simplicité
- Responsabiliser les équipes: les meilleures architectures, spécifications et conceptions émergent d’équipes auto-organisées.
Ajuster, à intervalles réguliers, son comportement pour être plus efficace
Comprendre l’agilité par rapport à l’organisation systématique du travail et la responsabilisation des développeurs
En développement logiciel, les pratiques agiles mettent en avant la collaboration entre des équipes autoorganisées et pluridisciplinaires et leurs clients. Elles s’appuient sur l’utilisation d’un cadre méthodologique léger mais suffisamment centré sur l’humain et la communication. Elles préconisent une planification adaptative, un développement évolutif, une livraison précoce et une amélioration continue, et elles encouragent des réponses flexibles au changement
inconvénients des approches structurées
➢ Les approches disciplinées, à moins d’être judicieusement adaptées, impliquent un effort important de planification, de conception et de documentation.
➢ Pour les petits et moyens projets, cet effort devient trop important relativement à l’effort total de développement et peut même dominer le processus.
inconvénients des approches agiles
➢ Difficultés d’application:
▪ La collaboration active du client est difficile à obtenir.
▪ Lorsque l’équipe de développement souffre d’un manque de cohésion entre ses membres.
▪ La difficulté à maintenir la continuité de l’équipe de développement.
▪ Lorsqu’il y a plusieurs intervenants et que ceux-ci priorisent des requis différents.
▪ Maintenir la simplicité demande davantage de travail.
▪ Les grandes organisations ont mis des années à implanter un processus structuré. Elles sont résistantes au changement.
▪ Les cycles d’évolution lors de projet de maintenance seront plus coûteux puisque l’absence de documentation ralentit le travail (dans le cas du document de spécification en particulier).
Droits du client en EP
- Droit du client:
➢ Vous avez le droit de changer d’avis, de substituer des fonctionnalités et de changer des priorités.
▪ Pour maximiser votre investissement.
➢ Vous avez le droit de voir l’avancement du produit, prouvé par des tests d’acceptation répétables.
➢ Vous avez le droit d’être informé de changements de planification à temps pour choisir les solutions pour respecter vos échéances. Vous pouvez même annuler à tout moment le développement du produit et garder le résultat du travail reflétant l’investissement jusqu’à date.
Devoirs du client en EP
- Devoirs du client:
➢ Faire confiance aux décisions techniques des développeurs
➢ Analyser les risques des récits adéquatement
➢ Choisir les récits ayant le plus d’impact
➢ Fournir des récits précis
➢ Travailler au sein de l’équipe
droit du développeur en EP
- Droit du développeur:
➢ Vous avez le droit de dire combien de temps chaque récit vous prendra pour l’implémenter ainsi que de réviser les estimations.
➢ Laisser au client les décisions d’affaire.
➢ Vous avez le droit de produire un produit de qualité à tout moment, qui satisfait les besoins du client.
➢ Vous avez le droit à un travail productif, agréable et amusant, avec un horaire prévisible et sensé