Copy - Méthodes développement logiciel
Elena Pinaud
Created on October 24, 2024
Over 30 million people build interactive content in Genially.
Check out what others have designed:
WOLF ACADEMY
Presentation
EXPLLORING SPACE
Presentation
UNCOVERING REALITY
Presentation
SPRING HAS SPRUNG!
Presentation
THE OCEAN'S DEPTHS
Presentation
2021 TRENDING COLORS
Presentation
POLITICAL POLARIZATION
Presentation
Transcript
Master IPM - Cours UX Design, proposition pour le 28/10/2024
Méthode classique versus méthode agile en développement logiciel
opposition ou complémentarite?
Situation (exemple):
En période de confinement, un organisme de formation (OF) a besoin de passer ses cours en distanciel, pour un public avec des niveaux en littératie (débutants FLE, post-alphabétisation...) et avec des outils et usages du numérique différents (souvent smartphone). Il s'agit principalement d'adapter le site internet existant à un usage sur smartphone plus facile et d'y intégrer un espace de cours (déposer des cours/devoirs, notes, infos admins etc.).L’OF a un budget très limité et l’urgence d’exécuter la prestation de cours, sachant qu’unmodule de formation dure 1,5 mois.Principaux critères de l'OF:- rapidité de remise de produit et de mise en oeuvre- possibilités d’ajustements au fil de l’eau, avec des tests à faire par les apprenants- interface et langage clairs et intuitifs
Quel modèle?
Pour répondre à cette demande, un modèle classique (Cascade) et deux plus récents, par prototypage et agile (Spirale et Scrum), seront analysés succinctement: au premier abord, il en ressort des points de divergence; cependant, il est évident qu'un continuum existe entre ces modèles, il y a une complémentarité qui témoigne de l'adaptation permanente du développement logiciel et du fait qu'une mèthode agile tire ses racines des mèthodes classiques.
souce image:pixabay sur genially
Modèle Cascade:
Succinctement: réside en une succession de phases, chacune commençant à l’achèvement de la précédente de façon à développer et enrichir un livrable en élaboration progressive; les spécifications sont la traduction de l’expression de besoins, le code source devient la matérialisation des spécifications, les tests sont réalisés sur un programme assemblé, le logiciel est déployé et installé une fois le programme qualifié à l’issue des tests.- le besoin est stable et que l’implémentation n’est soumise à aucun aléa informatique; un enchaînement linéaire d’activités, du cahier des charges jusqu’à la livraison de la solution informatique qui l’implémente; le cahier des charges doit être complet et précis;- adapté à une certaine typologie de projets; le passage aller d’une phase à l’autre ne coûte pas plus que la réalisation d’une phase, mais le sens inverse est couteux. Tout changement en cours de route coute et peut finalement remettre totalement en cause la faisabilité du projet si la modification est tardive.Pas adapté aux critères de l'OF.Source: Guerin Brice-Arnaud, Conduite de projets informatiques 2022, sur https://www-eni-training-com.ressources-electroniques.univ-lille.fr/portal/client/mediabook/home
Succinctement: prévoit la préparation de prototypes, chacun soumis à l'analyse des risques avant de passer au développement; le client est en étroite relation avec les développeurs. Ceux-ci présentent le prototype, les risques sont mesurés, des solutions de contournement sont proposées, les développeurs préparent les développements de la prochaine spirale (=compléter ou modifier l'analyse des besoins des utilisateurs).- Les itérations courtes des spirales permettent de remettre en cause les développements et de rectifier ceux-ci sans qu’il y ait un impact important sur le projet.- Le livrable se construit comme cela, spirale après spirale. Chaque nouvelle spirale valide la précédente sur laquelle on ne revient plus.C'est un modèle qui privilégie la gestion des risque et l'adaptabilité, mais qui nécessite une gestion de projet relativement complexe et exige une bonne documentation pour que tous les changements soient enregistrés. Les itérations du cycle en spirale permettent une meilleure gestion des risques, ce qui signifie que cette méthodologie est difficile à suivre sur du long terme.Si des décisions doivent être prises sur les cycles suivants, il existe un risque que des boucles se forment, bloquant les autres spirales, et que le projet prenne plus de temps si de mauvais choix sont faits.Source: Guerin Brice-Arnaud, Conduite de projets informatiques 2022, sur https://www-eni-training-com.ressources-electroniques.univ-lille.fr/portal/client/mediabook/home
Succinctement: prévoit la livraison de prototypes, chacun soumis à l'analysèrent des risques avant de passer au développement.
Mèthode Spirale
Source screenshot de la spirale de Boehm: https://www.researchgate.net/profile/Damien-Foures/publication/282298095/figure/fig3/AS:669476844490756@1536627126351/Le-cycle-de-developpement-en-spirale-selon-B-Boehm-Image-extraite-de-Vienne-2014.jpg, le 24/102024
source image: clip it comunicacio sur genially
Scrum
Succinctement: approche holistique qui procède par cycles courts (des sprints ou itérations) pour organiser le développement logiciel de façon incrémentale et itérative. Les fonctionnalités sont réalisées progressivement et livrées au fur et à mesure.- élements de travail de base: le backlog représente l’ensemble des entrants fonctionnels et techniques à réaliser (=un stock continuellement mis à jour, chaque sprint étant l’occasion de puiser des éléments à implémenter ou d’en ajouter d’autres; remontée de bugs); l’histoire utilisateur (US, user story) et son pendant l’histoire technique (TS, etchnical story).-l 'équipe projet et le scrum master s'occupent en priorité de ce qui est important/impactant pour la satisfaction du client; la planning: estimé en points de compléxité.Source: Guerin Brice-Arnaud, Conduite de projets informatiques 2022, sur https://www-eni-training-com.ressources-electroniques.univ-lille.fr/portal/client/mediabook/home
Source image: Olie Craig sur genially
4 constantes:- En début de sprint : sont sélectionnées les US à engager dans le cycle courant.- En début de chaque journée a lieu la réunion quotidienne (daily standup meeting ou DSM) au cours de laquelle chaque membre de l’équipe énonce son avancement, ses difficultés et son programme pour la journée. Le Scrum master est le secrétaire de séance, il guide ses équipiers dans les courts débats qui s’engagent. - La revue d’itération (sprint review) est une démonstration par l’équipe et au client des livrables réalisés pendant le sprint. -> le client avec le product owner formulent le degré de satisfaction vis-à-vis du produit tout juste retravaillé, et donnent des orientations pour le sprint qui succédera.- La rétrospective (sprint retro), qui peut avoir lieu en même temps que la revue, met l’accent sur ce qui a fonctionné et sur ce qui pourrait être amélioré, dans un registre technique, organisationnel, communication... La rétrospective est une caractéristique qui illustre la philosophie holistique du Scrum standard, en cherchant l’amélioration continue dans le cadre du projet lui-même.Source: Guerin Brice-Arnaud, Conduite de projets informatiques 2022, sur https://www-eni-training-com.ressources-electroniques.univ-lille.fr/portal/client/mediabook/home
Scrum
Si l'on se réfère à la défintion de la CCU dans Chapitre 2. Approches évolutives de conception des EIAH (E. Pacurar, SEFA Univ. de Lille, point 2.1.1), à la norme ISO 13407 qui y est évoquée ainsi qu'aux critères de l'OF, Scrum semble le plus adapté à la demande de l'OF, d'autant plus qu'en période de confinement, l'échange supposé par cette méthode, même virtuel, est essentiel (aspects émotionnels, relationnels - cf. schéma diapo suivante).Cependant, quelle que soit la méthode choisie, 3 phases sont essentielles (cf. Nogier, J.-F.):- la recherche d'utilisateur/analyse- phase de conception - phase d'évaluationSi l'un des objectifs de l'UX Design est de faire coincider les besoins de l'entreprise et ceux des utilisateurs finaux, Scrum accomplit le mieux cette mission, tout en observant que cette méthode s'inscrit dans la continuité de Cascade et de Spirale, par ses enchaînements, itérations, réponse à un cahier des charges...
Conclusion
Pas d'opposition, mais une complémentarité, un continuum entre les modèles