Vous êtes sur la page 1sur 29

Les méthodologies lourdes

et les méthodologies Agiles


Elaboré par :
M’hamdi Joumene
Baratli Oumayma
Dahmeni Souhaiel
Plan
Méthodes de développement:
 Méthodes lourdes :
 2TUP
RUP
Méthode agile :
 SCRUM
INTRODUCTION
Lorsqu’on démarre un projet, il est normal de se questionner sur l’organisation
que l’on va adopter pour sa mise en place et sa réalisation.l'objectif sous-jacent
que poursuit une entreprise est d'exploiter les processus pour répondre au
mieux à la demande du marché et accélérer la production de biens et de
services de qualité à un prix raisonnable.

Un processus définit une séquence d’étapes, en partie ordonnées, qui


concourent à l’obtention d’un système logiciel ou à l’évolution d’un système
existant.

L’objet d’un processus de développement est de produire des logiciels de


qualité qui répondent aux besoins de leurs utilisateurs dans des temps et
des coûts prévisibles.
Exemple de méthodologie lourde :
Le Processus Unifié (UP)

Processus unifié
« Le processus unifié est un processus de développement logiciel, c’est-à-dire qu’il regroupe
les activités à mener pour transformer les besoins d’un utilisateur en système logiciel »

Le Processus Unifié ou UP (Unified Process) est une méthode générique de


développement de logiciel développée par les concepteurs d’UML.

Générique signifie qu'il Il existe donc certain nombre de


est nécessaire d'adapter méthodes issues de UP comme
UP au contexte du projet, RUP (Rational Unified Process),
de l'équipe, du domaine 2TUP (Two Track Unified
et/ou de l'organisation. Process) …
L'objectif d'un processus unifié est de maîtriser la complexité des projets informatiques en diminuant le
risques.

UP répond aux préoccupations suivantes


QUI participe au projet ?
QUOI, qu'est-ce qui est produit durant le projet ?
COMMENT doit-il être réalisé ?
QUAND est réalisé chaque livrable ?

 Les principes d’UP :


Le processus de développement UP, associé à UML, met en œuvre les principes suivants:
° Le processus unifié utilise le langage UML
° Processus guidé par les cas d’utilisation,
° Processus itératif et incrémental,
° Processus centré sur l’architecture,
° Processus orienté par la réduction des risques.
 Processus guidé par les cas d’utilisation
 Les cas d’utilisation :
1) Le système à construire se définit d’abord avec *Décrivent les interactions entre les acteurs et le
les utilisateurs. système.
Les cas d’utilisation permettent d’exprimer les *Permettent de capturer les vrais besoins des
interactions du système avec les utilisateurs, donc
utilisateurs.
de capturer les besoins.
2) Ainsi le développement peut se décomposer par
*Guident tout le processus de développement.
cas d’utilisation et la réception du logiciel sera elle *Favorisent un développement itératif ;
aussi articulée par cas d’utilisation. Chaque itération est centrée sur un sous-ensemble
de cas.

 Processus itératif et incrémental


UP utilise le principe de développement par itérations successives.
La réalisation de maquette et prototype constitue la réponse pratique à ce principe.
Le développement progressif, par incrément, est aussi recommandé (décomposition du
système en cas d’utilisation).
 Processus centré sur l’architecture
*Le rôle de l'architecture logicielle est comparable à celle que joue l'architecte dans la construction d'un
bâtiment.
*Le bâtiment est envisagé de différents points de vue: structure, services, conduite de chauffage, plomberie,
etc.
*Ce regard multiple dessine une image complète du bâtiment avant le début de la construction.
*Les auteurs d’UP mettent en avant la préoccupation de l’architecture du système dès le début des travaux
d’analyse et de conception.
**Il est important de définir le plus tôt possible l’architecture qui sera retenue pour le développement,
l’implémentation et ensuite le déploiement du système.

 Processus orienté par la réduction des risques


UP contribue à la diminution des risques au fur et à
mesure du déroulement des itérations successives.
UP a plusieurs implémentation et / ou variation:

RUP (Rational Unified Process)


2TUP (2 tracks unified process)
Agile Unified Process (AUP)
Basic Unified Process (BUP)
Enterprise Unified Process (EUP), une extension de RUP
Oracle Unified Method (OUM),
Exemple 1 d’implémentation de UP : 2TUP (2 Track Unified Process):

Caractéristiques du 2 TUP:
*Itératif et incrémental piloté par les risques
*Piloté par les exigences des utilisateurs
*Modélisé avec UML
*Centré sur l’architecture.

2 track signifie littéralement que le processus suit deus chemins :

Fonctionnel

Technique
Branche fonctionnelle
Les principales étapes de la branche fonctionnelle se présentent comme suit :
*L’étape capture des besoins fonctionnels: Cette phase a pour objectif de définir :
La frontière fonctionnelle entre le système et son environnement.
Les activités attendues des différents utilisateurs par rapport au système.
*L’étape d’analyse: consiste à étudier précisément les spécifications fonctionnelles de manière à
obtenir une idée
de ce que va réaliser le système en terme de métier
Branche technique:
Les principales étapes de la branche technique se présentent comme suit
**L’étape capture des besoins techniques : Cette étape recense toutes Les contraintes sur les
choix de technologies pour la conception du système.
Les outils (et les Frameworks)et le matériel sélectionnés ainsi que la prise en compte des
contraintes d’intégration avec l’existant (pré requis d’architecture technique)
**Conception générique: Il s’agit du découpage en composants nécessaires à la construction de
l’architecture technique. Il est généralement conseillé de réaliser un prototype pour assurer la
validité de l’architecture.
Branche technique
Phase conception - réalisation
Les principales étapes de cette branche se présentent comme suit :
**L’étape conception préliminaire : Cette étape permet de produire le modèle de conception système. Ce
dernier organise le système en composants, délivrant les services techniques et fonctionnels, Ce qui
induit le regroupement des informations des branches technique et fonctionnelle.
**L’étape conception détaillée: permet d’étudier comment réaliser chaque composant. le résultat fournit
l’image prête du système complet.
**L’étape de codage : permet d’effectuer la production des composants et les tests des unités de code au
fur et à mesure de leur réalisation.
• Itération 1 : Découpage en itérations 2TUP
o Développer les fonctions de validation du principe du système.
o Intégrer les outils prévus pour le développement.
• Itération 2 :
o Centrée sur l’architecture .
o Prototype de réalisation technique.
• Itération 3 :
o Réaliser les fonctions les plus prioritaires de manière à présenter une première version
de déploiement pour les utilisateurs.
o Améliorer et compléter l’architecture technique.
• Itération 4.. N:
o Réaliser des fonctions jusqu’à l’obtention complète du système initialement envisagé.
Exemple 2 d’implémentation de UP :
RUP (Rational Unified Process)

Composantes du RUP :
 4 phases :
*Etude d’opportunité.
*Elaboration.
*Construction.
*Transition.
 5 activités:
*Expression des besoins.
*Analyse.
*Conception.
*Implémentation. 1 2 N N
*Test.
*Ensemble d’itérations : circuit de développement aboutissant à un délivrable.
Les phases de RUP :

Construction :

 Construction d’une première version du produit


Etude d’opportunité : (version bêta du
 Cette phase pose la question de la faisabilité du projet, des
release en cours de développement ainsi qu’une
frontières du système, des risques majeurs qui pourraient mettre en version du manuel
péril le projet. utilisateur).
 A la fin de cette phase, est établi un document donnant une vision
globale des principales exigences, des fonctionnalités clés et des  Construction de tous les cas d’utilisation.
contraintes majeures. Transition :
 Environ 10 % des cas d'utilisation sont connus à l'issue de cette
phase.
 Il convient aussi d'établir une estimation initiale des risques, un
"Project Plan", un "Business Model".
 Test et correction des anomalies.
 Déploiement du produit.
Elaboration :  Préparer la release suivante et boucler le cycle
 Reprise des résultats de la phase d’incubation. soit sur une nouvelle
 Spécification détaillée des cas d’utilisation. étude d'opportunité soit une élaboration ou
 Détermination de l’architecture de référence.
construction
Les activités dans RUP :
Expression des besoins :
Identification des besoins fonctionnels.
Identification des besoins non fonctionnels.

Analyse :
Formalisation du système à partir des besoins.
Modélisations de diagrammes statiques et dynamiques.
Vue logique du système.
Conception :
Définition de l’architecture du système.
Etendre les diagrammes d’analyse.
Prise en compte des contraintes de l’architecture technique.
Implémentation :
Production du logiciel :
Composants.
Bibliothèques.
Fichiers ; etc.
Test :
Vérifier l’implémentation de tous les besoins (fonctionnels et non
fonctionnels).
Vérifier l’interaction entre les objets.
Vérifier l’intégration de tous les composants.
Différents niveaux de tests (unitaires, d’intégration, de performance, etc.).
Méthodes agiles

Les méthodologies de gestion de projet dites méthodes agiles ont toutes un point commun : elles sont
directement inspirées du Manifeste Agile édité en 2001 par des développeurs de logiciels bien décidés à
améliorer leur process et à réduire leur taux d’échec.
De là sont donc nées progressivement diverses méthodes unies par une nouvelle manière d’aborder le
développement de produit en replaçant, notamment, le client au cœur de l’action et en prônant l’adaptation
des procédés de création au fil de l’évolution du projet. Elles se sont depuis imposées comme des
standards sur le terrain du développement d'application.
 4 valeurs
 12 principes
Les 4 valeurs des méthodes agiles :

 Priorité aux personnes et aux


interactions sur les procédures et les
outils.
 Priorité aux applications
fonctionnelles sur une documentation
pléthorique .
 Priorité à la collaboration avec le
client sur la négociation de contrat .
 Priorité à l'acceptation du
changement sur la planification.
Les 12 principes des méthodes agiles :

1. Priorité à la satisfaction du client à travers la livraison rapide et continue du logiciel.


2. Acceptation des changements même tardifs dans le développement.
3. Livraison fréquente du logiciel, de 2 semaines à 2 mois, avec une préférence pour les périodes courtes.
4. Acteurs métier et développeurs doivent travailler ensemble quotidiennement tout au long du projet.
5. Construire des projets autour de personnes motivés.
6. Le moyen le plus efficace de véhiculer l’information vers et à l’intérieur d’une équipe de développement est la
conversation face à face.
7. La métrique principale pour juger de la progression d’un projet est le logiciel
fonctionnel.
8. Les processus agiles encouragent le développement durable. Les financeurs,
les développeurs et les utilisateurs doivent maintenir un rythme constant indéfiniment.
9. Une attention continue à l’excellence technique et au bon design améliore l’agilité.
10. La simplicité
11. Les meilleures architectures, besoins et conceptions proviennent des équipes auto-organisées.
12. A intervalles réguliers, l’équipe réfléchit aux manières de devenir plus efficace, puis ajuste ses comportements
de façon à s’y conformer.
Exemple de méthode agile : Scrum

Scrum est une méthode agile utilisée dans le développement de logiciels. Elle vise à satisfaire au mieux les
besoins du client tout en maximisant les probabilités de réussite du projet.

 Scrum suppose que le développement d'un logiciel n'est pas prévisible et ne peut donc pas suivre de
processus
défini.

 Le résultat du projet dépend des réorientations que lui donne le client en cours de route.

 Un projet utilisant Scrum est composé d'une suite d'itérations courtes de l'ordre de 3 à 6 semaines appelées
sprints.

 Le projet peut être réorienté par le client à la fin de chaque sprint


1. Le projet est organisé en sprints. C'est pendant cette phase que les fonctionnalités
choisies sont développées et que le logiciel est créé.
2. Le backlog du produit constitue l'ensemble du travail connu sur le projet à un instant t.
Il est régulièrement remis à jour et les besoins qui le constituent sont aussi régulièrement
priorisés.
3. Le travail à faire durant un sprint est listé dans le backlog du sprint. Le contenu du sprint
est un extrait du backlog produit. Les besoins sont priorisés de la même façon que dans le
backlog du produit.
4. Durant le sprint, une réunion quotidienne appelée daily scrum (ou mêlée quotidienne)
rassemble l'équipe afin de réorienter le sprint si besoin est. Il s'agit du point de contrôle de
l'équipe.
5. A la fin d'un sprint, l'équipe livre au client un incrément de logiciel fini potentiellement
livrable.
6. Ce cycle est répété jusqu'à ce que :
1. La date de fin de projet soit atteinte.
2. Le client ne peut plus financer le projet.
3. Le client considère que le logiciel délivre suffisamment de valeur et décide d’arrêter le
développement.
Scrum : rôles et pratiques
Scrum: Les Phases
Scrum : les Principes
Scrum : les Outils

Les outils Scrum offrent des fonctionnalités et des capacités adaptées pour améliorer
gestion de projet SUR mesure processus, la qualité des produits et la collaboration d'équipe basée sur
des techniques Scrum telles que les sprints, les burndown charts, les story points, les réunions Scrum,
etc. Ces outils permettent aux équipes de planifier, suivre et gérer efficacement les projets Scrum en
fournissant un tableau de bord unique pour gérer tous les processus.

 GIRA
 MONDAY.COM
 MIRO
 TRELLO
 AZURE BOARDS
Pour simplifier cela, et puisqu’une
image est selon moi plus simple à
comprendre qu’une dizaine de
paragraphes indigestes, je vous ai
réalisé un schéma explicatif de la
méthode Agile, ou plus
particulièrement de la méthode
Scrum, comparée à la
méthodologie Classique de
gestion de projet.
Conclusion
Pour conclure, la méthode de gestion de projet agile n’est pas
Merci de votre attention meilleure que la classique, et inversement. Quand vous
choisissez une méthodologie, celle-ci doit seulement être
en lien avec votre projet.

Vous aimerez peut-être aussi