Vous êtes sur la page 1sur 11

Travail à faire

1. Recherche et Résumé
Les deux modèles choisis: Le modèle en cascade et le modèle agile
Modèle en cascade :
Le modèle en cascade est l'un des modèles de cycle de vie de développement de logiciel les
plus anciens et les plus linéaires. Il est caractérisé par des phases distinctes et séquentielles,
où chaque phase doit être complétée avant que la suivante ne commence.

• Phases Principales du Modèle en Cascade :


Analyse des Besoins :
Cette phase consiste à recueillir et à comprendre les besoins et les exigences du client pour
le logiciel à développer.
Conception Générale :
Dans cette phase, une conception générale du système est élaborée, en définissant ses
principaux composants et leur interaction.
Conception Détaillée :
La conception détaillée consiste à élaborer des spécifications détaillées pour chaque
composant du système, en décrivant leur fonctionnement interne.
Codage :
Au cours de cette phase, les développeurs traduisent les spécifications de conception en
code source. Des tests unitaires seraient également développés en parallèle pour
vérifier le bon fonctionnement de chaque composant individuellement.
Intégration :
Dans cette phase, les différents modules développés individuellement sont combinés et
testés en tant que système complet. Des tests d'intégration seraient réalisés pour vérifier
que les modules s'intègrent correctement les uns avec les autres.
Qualification :
La phase de qualification implique des tests approfondis (tests de validation) pour vérifier
que le logiciel répond à toutes les spécifications et fonctionne correctement dans divers
scénarios.
Exploitation et Maintenance :
Une fois que le logiciel est déployé dans un environnement de production, il entre dans la
phase d'exploitation, qui se déroule parallèlement à la phase de maintenance.

1
• Avantages :
-Structure claire et facile à comprendre.
-Chaque phase a des livrables spécifiques, ce qui rend le
processus facilement contrôlable.
-Convient bien aux projets où les exigences sont clairement définies dès
le départ.

• Inconvénients du modèle en cascade :


- Peu flexible aux changements, car les phases suivantes dépendent des livrables des
phases précédentes.
- Risque élevé de rétroaction tardive des clients, ce qui peut entraîner des coûts élevés pour
apporter des modifications.
-La livraison du produit final peut être retardée en raison de l'attente de la phase de test
pour détecter les erreurs.

• Type de projet adapté au modèle en cascade :


Le modèle en cascade convient mieux aux projets où les exigences sont bien comprises et
peu susceptibles de changer. Les projets de petite à moyenne taille avec des exigences
clairement définies dans des domaines tels que le développement de logiciels traditionnels,
les projets de construction, etc., peuvent bénéficier de l'approche en cascade.

• les petits projets ;


• les exigences connues et peu susceptibles de changer ;
2
• les dates de déploiement spécifiques ;

• les projets avec beaucoup de tâches interdépendantes.


Le Modèle Agile
Le modèle Agile est un cadre itératif et collaboratif qui met l'accent sur la flexibilité et la
réactivité aux changements tout au long du processus de développement.

• Phases Principales du Modèle agile :


Rassemblement des exigences : Cette phase implique la définition des objectifs du projet,
l'identification des besoins et des exigences, ainsi que l'évaluation de la faisabilité
économique et technique du système.
Concevoir les exigences : Après avoir évalué la faisabilité, cette phase consiste à travailler
avec les parties prenantes pour définir les exigences plus précisément et à concevoir
comment le nouveau système s'intégrera dans le système existant.
Développement/Itération : Une fois les exigences définies et conçues, le travail de
développement réel commence. Les équipes travaillent à créer le produit en itérations
successives, en se concentrant sur des fonctionnalités simples et minimales.
Test : L'équipe de test vérifie les performances du système et signale les bugs tout au long
du processus de développement pour garantir la qualité du produit.
Déploiement : Une fois que le produit initial est prêt, il est déployé pour être utilisé par les
utilisateurs finaux.
Retour d'information : Après le déploiement, l'équipe recueille les commentaires des
utilisateurs sur le produit. Ces feedbacks sont utilisés pour améliorer le produit et répondre
aux besoins changeants des utilisateurs.

3
• Avantages :
Adaptabilité aux changements : L'Agilité favorise une approche itérative et flexible du
développement, permettant à l'équipe de s'adapter rapidement aux changements de
priorités, de besoins des utilisateurs et de conditions du marché.
Implication des parties prenantes : Les parties prenantes, y compris les utilisateurs finaux,
sont étroitement impliquées tout au long du processus de développement, ce qui permet de
mieux comprendre et de mieux répondre à leurs besoins.
Livraisons incrémentielles : L'Agilité favorise la livraison continue de fonctionnalités
utilisables à des intervalles courts et réguliers, ce qui permet aux utilisateurs de bénéficier
rapidement de la valeur ajoutée du produit.
Meilleure qualité du produit : Les tests continus et les rétroactions fréquentes permettent
de détecter et de corriger les problèmes plus tôt dans le processus de développement, ce
qui conduit généralement à un produit final de meilleure qualité.
Réduction des risques : Les itérations courtes et les retours fréquents permettent de réduire
les risques associés au développement en identifiant rapidement les problèmes et en
apportant les ajustements nécessaires.
Meilleure communication et collaboration : L'Agilité favorise une communication
transparente et une collaboration étroite entre les membres de l'équipe et les parties
prenantes, ce qui conduit à une meilleure compréhension des objectifs du projet et à une
résolution plus efficace des problèmes.

• Inconvénients :

4
Complexité du processus : La gestion de projets Agile peut être complexe, en particulier
pour les équipes novices, nécessitant une compréhension approfondie des principes et des
pratiques agiles.
Nécessité d'une implication continue : L'Agilité demande une participation active et
constante des parties prenantes tout au long du projet, ce qui peut être difficile à maintenir
sur la durée.
Difficulté à estimer les délais et les coûts : La flexibilité du modèle Agile rend parfois difficile
l'estimation précise des délais et des coûts, ce qui peut poser des problèmes de planification
et de budgétisation.
Risque de surcharge de travail : Les itérations courtes et les demandes de réactivité peuvent
entraîner une pression accrue sur les membres de l'équipe, risquant le surmenage et la
baisse de la qualité du travail.
Difficulté à maintenir la documentation : L'Agilité met l'accent sur les interactions humaines
et les logiciels fonctionnels plutôt que sur la documentation exhaustive, ce qui peut poser
des problèmes pour les besoins de documentation et de conformité.
Dépendance à la disponibilité des utilisateurs finaux : L'implication active des utilisateurs
finaux est essentielle pour fournir des retours fréquents, mais leur disponibilité peut poser
problème et entraîner des retards dans le processus de développement.
Complexité de la coordination des équipes distribuées : La coordination et la
communication constantes peuvent être plus difficiles à réaliser pour les équipes réparties
géographiquement, affectant ainsi la productivité et la qualité du travail.

• Type de Projet Adapté :


Le modèle Agile est particulièrement adapté pour les projets où les besoins sont sujets à des
évolutions rapides et où une collaboration étroite avec les parties prenantes est essentielle.
Il est idéal pour les projets innovants à risques et aux enjeux importants, où la flexibilité et la
réactivité sont cruciales pour atteindre le succès du projet.

• les projets dont les échéances ne sont pas connues ou dont l’étendue des
exigences n’est pas connue ;
• les équipes ayant un contact direct avec les clients ;
• les logiciels pouvant évoluer au fil des itérations ;
• les équipes sans bureaucratie ;
• les projets sans budget fixe ;
• les projets sans concurrence ;
• les clients désireux de mettre régulièrement à jour leur logiciel.
2-Etude de cas

5
Imaginons un projet de développement d'une application mobile de gestion des tâches,
similaire à des applications populaires telles que Todoist ou Any.do. Pour ce projet,
examinons comment il serait géré selon les deux modèles de cycle de vie que nous avons
choisis : le modèle en cascade et le modèle Agile.
Modèle en Cascade
Analyse des Besoins :
Dans cette phase, l'équipe de développement recueillerait les besoins des utilisateurs pour
l'application mobile de gestion des tâches. Cela comprendrait l'identification des
fonctionnalités essentielles telles que la création de tâches, la gestion des priorités, les
rappels, etc. L'objectif est de comprendre les besoins spécifiques des utilisateurs et de
définir les exigences du système.
Conception Générale :
Une fois les besoins analysés, l'équipe procéderait à la conception générale de l'application.
Cela impliquerait de définir l'architecture globale de l'application, les principaux composants
et leur interaction. Par exemple, la conception générale inclurait la mise en place d'une
interface utilisateur conviviale pour créer et organiser les tâches.
Conception Détaillée :
Dans cette phase, les spécifications détaillées de chaque composant de l'application seraient
définies. Par exemple, pour le module de gestion des tâches, la conception détaillée pourrait
inclure les flux de travail pour créer, modifier et supprimer des tâches, ainsi que les
fonctionnalités de notification et de synchronisation.
Codage :
Avec les spécifications de conception en main, les développeurs commenceraient à coder
chaque composant de l'application selon les exigences définies dans les phases précédentes.
Le code source serait écrit en suivant les meilleures pratiques de développement et les
normes de codage. Des tests unitaires seraient également développés en parallèle pour
vérifier le bon fonctionnement de chaque composant individuellement.
Intégration :
Une fois que le codage est terminé, les différents modules de l'application seraient intégrés
pour former une application complète. Cela impliquerait de s'assurer que tous les
composants fonctionnent correctement ensemble et respectent les spécifications définies
dans les phases précédentes. Des tests d'intégration seraient réalisés pour vérifier que les
modules s'intègrent correctement les uns avec les autres.
Qualification :
Dans cette phase, l'application serait soumise à des tests rigoureux(tests de validation) pour
s'assurer qu'elle fonctionne correctement et répond aux exigences spécifiées. Cela inclurait

6
des tests fonctionnels, des tests de performance et des tests d'acceptation utilisateur pour
valider que l'application répond aux besoins des utilisateurs.
Exploitation et Maintenance :
Une fois que l'application a réussi les tests de qualification, elle serait déployée dans un
environnement de production et mise à la disposition des utilisateurs finaux. La maintenance
continue de l'application serait assurée pour corriger les bogues découverts après le
déploiement, ajouter de nouvelles fonctionnalités ou améliorer les performances de
l'application.
Modèle agile
Rassemblement des exigences : Réunions avec le client pour définir les objectifs du projet et
recueillir les besoins des utilisateurs, établissant ainsi un backlog des fonctionnalités à
développer.
Concevoir les exigences : Analyse plus détaillée des exigences pour déterminer leur
implémentation dans l'application, en collaboration avec les parties prenantes, et définir
l'architecture logicielle.
Développement/Itération : Planification de sprints de développement courts (1 à 2
semaines), développement, test et livraison itérative de fonctionnalités, suivant le backlog et
répondant aux changements éventuels.
Test : Intégration de tests tout au long du processus de développement pour garantir la
qualité du code et des fonctionnalités, incluant des tests d'acceptation utilisateur à la fin de
chaque sprint.
Déploiement : Intégration des fonctionnalités développées dans l'application existante à la
fin de chaque itération, suivie du déploiement de mises à jour sur les appareils des
utilisateurs.
Retour d'information : Collecte des retours d'utilisateurs sur les nouvelles fonctionnalités,
analyse de ces retours, correction des bugs identifiés et priorisation des nouvelles
fonctionnalités en fonction des besoins des utilisateurs.
Défis potentiels et des bénéfices attendus de chaque cas
Explorons les défis potentiels et les bénéfices attendus dans chaque cas, en se référant aux
modèles en cascade et Agile pour le projet d'application mobile de gestion de tâches :
Ce processus itératif permet une adaptation continue aux changements, une livraison
fréquente de valeur et une amélioration continue du produit en fonction des feedbacks des
utilisateurs.
Modèle en Cascade :
Défis potentiels :

7
Rigidité face aux changements : En raison de sa nature linéaire, le modèle en cascade peut
être rigide face aux changements de spécifications ou aux besoins émergents des
utilisateurs. Les modifications en cours de projet peuvent entraîner des retards et des coûts
supplémentaires.
Validation tardive : Les tests et la validation ne sont effectués qu'à la fin du processus de
développement, ce qui augmente le risque de découvrir des erreurs graves à un stade
avancé du projet.
Manque de rétroaction : La communication avec les parties prenantes peut être limitée
jusqu'à ce que des livrables tangibles soient disponibles, ce qui peut entraîner un manque de
rétroaction et de collaboration.
Complexité de gestion : La gestion de projet dans un modèle en cascade nécessite une
planification et une coordination précises à chaque étape, ce qui peut être complexe et
exigeant.
Bénéfices attendus :
Planification claire : Le modèle en cascade offre une structure claire et définie, ce qui facilite
la planification des ressources, des délais et des coûts.
Contrôle du processus : Chaque phase du projet est bien délimitée, ce qui permet un
contrôle étroit sur les activités et les livrables.
Documentation détaillée : Avec une analyse approfondie des besoins et une documentation
détaillée à chaque étape, le modèle en cascade favorise la traçabilité et la clarté des
exigences.
Modèle Agile :
Défis potentiels :
Gestion du changement : La nature itérative du modèle Agile peut rendre la gestion du
changement plus complexe, car de nouvelles fonctionnalités peuvent être ajoutées ou
modifiées à chaque itération.
Risque de dérive : Sans une planification rigide, il peut être difficile de maintenir le cap sur
les objectifs du projet, ce qui peut entraîner une dérive des coûts ou des délais.
Communication continue : La communication continue et la collaboration avec les parties
prenantes nécessitent une bonne coordination et une implication active, ce qui peut être un
défi dans certains environnements.
Qualité constante : Maintenir une qualité constante tout au long du projet peut être difficile
sans une attention continue aux pratiques de développement et de test.
Bénéfices attendus :
Adaptabilité : L'approche itérative permet une adaptation continue aux changements, ce qui
peut conduire à un produit final mieux adapté aux besoins des utilisateurs.

8
Rétroaction rapide : Les cycles de développement courts permettent une rétroaction rapide
des parties prenantes, ce qui favorise l'ajustement des priorités et des fonctionnalités.
Livraison continue de valeur : En livrant des fonctionnalités utilisables à la fin de chaque
itération, le modèle Agile offre une valeur commerciale plus rapidement et plus
fréquemment.
Engagement des parties prenantes : La collaboration continue avec les parties prenantes
tout au long du projet favorise un engagement plus fort et une meilleure satisfaction client.
3-Comparaison et Analyse Critique

• Comparez les deux modèles en fonction de votre étude de cas.


Une comparaison plus détaillée des deux modèles de cycle de vie (en cascade et Agile) pour
notre étude de cas sur le développement d'une application mobile de gestion de tâches,
présentée sous forme de tableau :

Caractéristique Modèle en Cascade Modèle Agile


Approche du cycle
de vie Séquentielle, linéaire Itérative, Incrémentale
Flexibilité Faible Élevée
Planification exhaustive dès le
Planification début du projet Planification itérative et adaptable
Peu adaptable aux
changements, difficiles à Très adaptable, ajustements continus à
Adaptabilité intégrer chaque itération
Gestion structurée des risques à Gestion dynamique des risques avec
Gestion du risque chaque étape du processus itérations et rétroactions
Livraison à la fin du projet avec Livraison continue de fonctionnalités
Livraison de valeur toutes les fonctionnalités utilisables à chaque itération
Limitée jusqu'à ce que des
livrables tangibles soient Communication continue avec les parties
Communication disponibles prenantes tout au long du projet
Faible, les changements
Réactivité aux peuvent entraîner des retards et Élevée, les changements sont intégrés
changements des coûts supplémentaires rapidement et efficacement

• Discutez des circonstances dans lesquelles vous préféreriez un modèle par


rapport à l'autre.
examinons les circonstances dans lesquelles nous pourrions préférer un modèle de cycle de
vie par rapport à l'autre, en nous basant sur notre étude de cas du projet d'application
mobile de gestion de tâches :

9
Modèle en Cascade :
Stabilité des exigences : Si les exigences du projet sont bien définies et stables dès le départ,
le modèle en cascade peut être préférable. Cela permet une planification détaillée et une
exécution linéaire du projet sans risque de changements majeurs en cours de route.
Documentation approfondie : Si le projet nécessite une documentation exhaustive à chaque
étape du processus de développement, le modèle en cascade peut être plus approprié.
Chaque phase du modèle en cascade est associée à des livrables spécifiques et une
documentation détaillée est produite à chaque étape.
Contraintes budgétaires strictes : Si le projet a des contraintes budgétaires strictes et
nécessite une planification précise des coûts dès le début, le modèle en cascade peut être
plus avantageux. Sa structure linéaire permet une estimation plus précise des coûts dès le
départ.
Modèle Agile :
Volatilité des exigences : Si les exigences du projet sont sujettes à des changements
fréquents ou si le projet nécessite une adaptation continue aux besoins changeants des
utilisateurs, le modèle Agile est préférable. Son approche itérative permet une réactivité aux
changements et une flexibilité accrue.
Implication des parties prenantes : Si le projet nécessite une forte implication des parties
prenantes tout au long du processus de développement et une rétroaction régulière, le
modèle Agile est plus approprié. Sa collaboration continue favorise une communication
ouverte et une meilleure compréhension des besoins des utilisateurs.
Livraison rapide de valeur : Si le projet nécessite une livraison rapide et continue de
fonctionnalités utilisables pour obtenir rapidement des retours des utilisateurs, le modèle
Agile est recommandé. Ses cycles de développement courts permettent une livraison rapide
et fréquente de fonctionnalités utilisables.

• Réfléchissez aux impacts potentiels de chaque modèle sur la qualité du


logiciel, le délai de livraison, et la satisfaction client
Examinons les impacts potentiels de chaque modèle sur la qualité du logiciel, le délai de
livraison et la satisfaction client :
Modèle en Cascade :
Qualité du logiciel : Dans le modèle en cascade, la qualité du logiciel peut être élevée car
chaque phase est planifiée de manière détaillée et comprend des processus de vérification
et de validation. Cependant, si des erreurs sont découvertes tardivement dans le processus,
leur correction peut être coûteuse et complexe, ce qui peut affecter la qualité finale du
logiciel.
Délai de livraison : Le modèle en cascade est susceptible de prendre plus de temps pour
livrer le produit final, car il suit une approche linéaire où chaque phase doit être terminée

10
avant de passer à la suivante. Les délais peuvent être affectés si des changements ou des
retards surviennent dans une phase donnée.
Satisfaction client : La satisfaction client peut être mitigée dans le modèle en cascade. Bien
que la planification détaillée puisse inspirer confiance dans la progression du projet, les
retards potentiels et les difficultés à intégrer des changements de dernière minute peuvent
entraîner une insatisfaction chez les clients si leurs besoins ne sont pas pleinement pris en
compte.
Modèle Agile :
Qualité du logiciel : L'approche Agile met l'accent sur la qualité du logiciel à chaque
itération. Les tests continus, la rétroaction des utilisateurs et la collaboration au sein de
l'équipe permettent d'identifier et de corriger rapidement les erreurs, ce qui peut contribuer
à une meilleure qualité globale du logiciel.
Délai de livraison : Le modèle Agile est connu pour sa capacité à livrer rapidement des
fonctionnalités utilisables. Les itérations courtes permettent une livraison continue de
valeur, ce qui peut réduire les délais de livraison globaux par rapport au modèle en cascade.
Satisfaction client : L'approche Agile favorise une implication continue des clients tout au
long du processus de développement, ce qui peut conduire à une meilleure satisfaction
globale. Les clients voient leur feedback pris en compte rapidement, ce qui renforce la
confiance et la satisfaction dans le produit final.

11

Vous aimerez peut-être aussi