Professional Documents
Culture Documents
Intranet Pédagogique
Table des matières
I. Introduction .......................................................................................... 2
II. Qu’est ce que « méthode agile ».......................................................... 2
III. Les différentes méthodes agiles ......................................................... 3
1. Méthode agile « XP » ............................................................................ 4
2. Méthode agile «RUP » ........................................................................... 4
3. Méthode agile « Scrum » ....................................................................... 5
4. Méthode agile « FDD ».......................................................................... 5
IV. Comparaison entre les méthodes........................................................ 7
V. Méthode agile adaptée ......................................................................... 8
VI. Implémentation de la méthode ......................................................... 10
Conception ................................................................................................. 13
I. User Cases ........................................................................................ 14
1. User case : Etudiant ...................................................................... 14
2. User case : Professeur ................................................................... 16
3. User case : Personnel pédagogique ............................................. 18
4. User case : Personnel administratif............................................. 21
2
I. Introduction
Afin de faciliter l’interaction client et maitre d’ouvrage, on procède par
une méthode agile qui permet au client d’être pilote à part entière de son projet
et être à jour de son avancement. Cette méthode vise la satisfaction réelle du
besoin du client et non les termes d’un contrat du développement.
3
produire un logiciel entièrement testé et qui fonctionne, plutôt qu'une
documentation claire. On rejoint ici les notions de développement itératif
(notion de phases) et d'intégration continue (notion de builds journaliers), en
insistant sur la simplicité et la robustesse du code produit (tests systématiques).
répondre aux modifications, plutôt que suivre un plan. Il est bien évident que
personne, pas même le client, ne peut appréhender avec précision l'ensemble des
besoins dès le début du projet. Le développement agile vise à atteindre un
compromis entre les spécifications initiales présentées aux développeurs (et sur
lequel se fonde le planning) et le résultat final qui bien souvent s'en éloigne un
peu voire beaucoup, en absorbant les modifications tout au long du cycle de
développement. Cela réclame des outils de suivi et une attitude constante de
coopération avec le client.
4
III. Les différentes méthodes agiles :
Parmi les différentes méthodes agiles existantes on site :
- XP (Extrem Programming)
- Scrum
- FDD (Feature-Driven Development)
- RUP (Rational Unified Process)
1. La méthode agile « XP »
Il s'agit plus d'un ensemble de pratiques à dimension humaine, plutôt
qu'une véritable méthode. Il faut bien reconnaître qu'elle a de gros côtés positifs
et qu'elle est assez facile à mettre en œuvre, au prix parfois d'un changement de
mentalité et d'une acceptation par l'ensemble des équipes impliquées. Il s'agit ici
d'appliquer "à l'extrême" les principes du développement agile, en se focalisant
sur les besoins du client, les individualités, le développement itératif et
l'intégration continue. Le développeur et ses relations avec le client sont au cœur
de XP. Cette méthode convient à des équipes petites voire moyennes, soit
jusqu'à une vingtaine de personnes environ.
Le plus surprenant dans cette méthode est qu'elle peut sembler naturelle,
mais qu'elle n'est concrètement pas évidente à appliquer et à maîtriser car elle
réclame beaucoup de discipline et de communication (contrairement à la
première impression qui peut faire penser à une ébullition de cerveaux
individuels). Il s'agit d'aller vite, sans perdre de vue la rigueur du codage et les
fonctions finales de l'application. La grande force de XP (et le plus grand risque
de le faire échouer) est précisément sa simplicité et le fait qu'on va droit à
l'essentiel, selon un rythme qui doit rester constant.
5
RUP a un coût d'investissement très important et, en un sens, il peut être
considéré comme pas tellement "agile" car trop rigide. Il s'agit ici cependant
d'un véritable outil complet de gestion de projets. RUP fournit un cadre
générique qu'il faut adapter à chaque application. Il est centré sur une
architecture incrémentale et itérative, le développement s'articule autour du
modèle objet et des cas d'utilisation, et favorise UML en tant que langage de
modélisation. RUP affecte à chacun un rôle très clair. RUP est formé d'un
découpage en 4 phases : inception (objectifs et cas d'utilisation), élaboration
(architecture logicielle), construction (développement), transition
(déploiement). Chaque phase se découpe en itérations. Chaque itération dure
entre deux semaines et six mois et fournit une version de l'application.
Moins "extrémiste" que XP, RUP donne en même temps une apparence
de plus grande rigueur, ce qui peut rassurer certains clients habitués aux
documentations exhaustives.
6
IV. Comparaison entre les méthodes
Voici un tableau synthétique de la comparaison entre les méthodes cités
au préalable.
-Rôles bien définis, modélisation. - Convient pour les gros projets qui
génèrent beaucoup de documentation.
-Itérations de 30 jours.
-Priorité à la gestion des ressources
humaines.
-Réunions journalières.
FDD -Procédé bien défini et simple. -Uniquement centré sur le
développement.
-Orienté objet et basé sur le
développement.
Itérations très courtes.
7
V. Méthode agile adaptée :
D’après le tableau comparatif on remarque que la combinaison entre la
méthode « Scrum » et « XP » est la mieux adaptée à notre projet intranet
pédagogique, pour les raison suivantes
Quant à la pratique de ces deux méthodes on les résume dans les points
suivants :
- donner toute confiance aux développeurs et les laisser faire leur travail
- faire des réunions tous les jours pour encadrer les équipes et recaler les
objectifs
- Le développement est itératif, le logiciel est livré fréquemment : XP
découpe le projet en phases, comme dans un projet classique (définition
des besoins, construction, déploiement), mais la phase de construction est
découpée en multiples itérations qui sont elles-mêmes découpées en
phases (spécifications courtes, développement, tests, retour du client). Le
fonctionnel de l'application est décrit en brefs scenariis qu'on peut
implémenter tout de suite et que le client peut juger très tôt. Les
mésententes de compréhension sont alors réduites au maximum.
- Les équipes XP mettent en production un système simple très tôt, et
intègrent les modifications très fréquemment, sur un temps de cycle très
court. L'objectif est de disposer d'un pilote opérationnel très rapidement
et de réduire au maximum les risques dès le début du projet, ainsi que de
fournir très régulièrement des versions effectives
- Le système est remanié progressivement, tout au long du
développement, par petits morceaux. Le logiciel est propre : pas de
duplication, une grande communication, simple, mais complet. Le
nettoyage doit se faire régulièrement (prévoir des séances pour toute
l'équipe).
- Les programmeurs XP travaillent en binôme sur la même machine.
Chaque programmeur code à tour de rôle, pendant que l'autre réfléchit à
la prochaine fonctionnalité à implémenter. Cela nécessite tout de même
une bonne entente en tant qu'individualités. Cela est censé produire un
code robuste et de qualité. En pratique ce n'est pas aussi simple ni
8
répandu, car il ne s'agit pas de perdre de temps en discussions
interminables entre deux façons de coder une fonction. Souvent, les
développeurs ne s'associent donc en binômes que lors des séances de
refactoring, ou quand ils ont à résoudre un problème difficile à plusieurs.
- Tout le code appartient à tous les programmeurs, la responsabilité
est collective. Quand il faut changer quelque chose, on peut le faire tout
de suite, ce qui permet de travailler à plein régime et de bien appréhender
les problèmes de turn-over
- L'intégration du logiciel est continue, avec plusieurs builds par jour.
On n'attaque pas tout en bloc de front, mais on sépare la tâche en petits
modules intégrés et testés progressivement. Le système est donc plus
stable et opérationnel rapidement. Cela impose de disposer d'outils que
chaque développeur maîtrise pleinement.
9
VI. Implémentation de la méthode :
On va définir les spécifications sous forme de Backlogs ces derniers seront
subdivisés en unités fonctionnelles indépendantes appelées épics. Jusqu’à la date
de livraison du produit final le temps sera définit en plusieurs itérations chacune
comportera un certain nombre d’épics. A la fin de chaque itération il sera établi
un bilan de ce qui a été fait.
Chaque épic sera subdivisé en sous unité appelées stories. Une story est
écrite sous la forme suivante :
« En tant que <rôle> je veux <But> pour <Résultat> »
Une story est subdivisée en petit tâches techniques appelés tasks. La fin
d’une story est conditionnée par la réalisation de conditions de test exprimées
dans une phase appelée critère d’acceptation.
Backlog
épic épic
story story
task task
10
On va distinguer trois rôles :
Un Scrum Master : animateur d’équipe. Son rôle est de s’occuper de
toutes les choses non liées au développement afin que l’équipe ne soit pas
dérangée.
Un Product Owner : représentant du (des) client(s) au sein de l’entreprise.
Son rôle est de définir les priorités dans les tâches à réaliser
(fonctionnalités à développer) et de valider / conseiller les choix effectués
(ex: pour une IHM). Cette personne doit bien connaître les besoins du
client.
L’équipe : elle est auto-gérée et il n’y a aucune notion de hiérarchie. Les
décisions se prennent ensemble et elles peuvent récupérer des
informations auprès du ProductOwner.
Un point quotidien est fait sur l’état du logiciel (lors du Daily Scrum)
Le sprint : correspond à une itération du projet livrée en interne, durant
laquelle un lot de fonctionnalités (déterminé au départ) est développé. Les
buts d’une itération sont fixés au début de celle-ci et ne sont pas (ou peu)
changés durant les quelques semaines du sprint.
La release : constituée de plusieurs sprints, cette étape correspond à un état
d’avancement où le produit doit potentiellement pouvoir être mis en
production.
11
Ainsi la méthode Scrum s’occupe de tout ce qui est organisation et relation
(Client / équipe). Afin d’optimiser la réalisation de notre intranet on fera appel à
la méthode XP pour tout ce qui est développement.
12
Conception
13
I. Use Cases :
Nous allons passez à la partie conception, en commençant par les user cases
de l’étude de l’intranet.
Règle de terminaison: - Pour une nouvelle inscription un nouvel étudiant sera ajouté à la liste.
-
Exception : - La personne tentant de se connecter ne fait pas partie des véritables
élèves.(pas de validation de compte)
- Identifiant ou mot de passe erroné.
Cas d’utilisation :
14
Contacter webmaster
S'inscrire
<<include>>
Regarder l'actualité,publication
<<extend>>
Consulter actualité Consulter publication
<<extend>>
<<include>>
Agir sur cartable électronique
<<extend>>
Ajouter cours,TD,fiche de TP
<<extend>>
<<extend>> Ajouter
Supprimer
<<include>>
Entrer au FAQ <<extend>>
<<extend>>
Passer test
<<include>>
<<extend>>
Entrer au wiki <<include>>
<<extend>>
<<extend>>
Modifier topic
Ajouter topic Consulter topic
15
2. Use case professeur:
ID Use Case : 2
Description sommaire: L’utilisateur étant membre des professeurs de l’académie accède à l’espace qui
lui est consacrée et bénéficie de toutes les fonctionnalités qui lui sont destinées.
Acteurs : Professeur
Description du processus: Toute personne déjà inscrite et authentifié autant que personnel administratif
peut bénéficier des différentes fonctionnalités offertes dans cet espace.
Parmi ces fonctionnalités y on a celle qui sont commune pour tous les espaces
tel que :
Forum
Wiki
FAQ
Messagerie
Contacter le web master. etc.…
Les différentes fonctionnalités qu’offre cet espace sont :
Cas d’utilisation :
16
contacter le webmaster
s'inscrire
<<include>>
telecharger les documentation adiministratif
<<include>>
<<include>>
consulter actualite publication
<<extends>>
<<extends>>
consulter publication
consulter actualite
s'authentifier
<<include>>
participer au forum
creer un QCM
entrer FAQ
<<include>>
<<extends>> <<extends>>
entrer en wiki
<<include>>
<<extends>> <<extends>>
17
3. User cases personnel Pédagogique :
ID Use Case : 3
Description sommaire: - Le cas d’utilisation comporte l’ensemble des tâches lié à la gestion
pédagogique au sein de l’académie
18
Cas d’utilisation :
Contacter webmaster
S'inscrire
<<include>>
Créer profil
<<include>>
Participer au
forum
Consulter Consulter
publication <<extend>> <<extend>> Actualités
<<include>>
Consulter messagerie
<<include>>
Gérer les emplois du temps
personnel pedagogique
Afficher
liste des
Ajouter étudiants
liste des Modifier
étudiants liste des
<<extend>>
<<extend>> étudiants
<<extend>> <<extend>>
Entrer au FAQ
<<include>>
Répondre à Ajouter
des quéstions question
<<extend>> <<extend>>
Entrer au wiki
<<include>>
Ajouter Modifier
topic topic
<<extend>>
<<extend>>
19
4. User cases personnel Administratif :
ID Use Case : 4
Description sommaire: L’utilisateur étant membre du personnel administratif accède à l’espace qui lui
est consacrée et bénéficie de toutes les fonctionnalités qui lui sont destinées.
Parmi ces fonctionnalités y on a celle qui sont commune pour tous les espaces
tel que :
Forum
Wiki
FAQ
Messagerie
Contacter le web master. etc.…
Ce qui caractérise le plus cet espace c’est le fait qu’il donne à ses utilisateurs
l’opportunité de gérer facilement et avec fiabilité les différents modules tout en
utilisant des outils simple à manipuler.
On ce qui concerne les modules qui sont propres a cet espace on cite :
Cas d’utilisation :
20
Contacter le WebMaster
S'inscrire
<<include>>
Gérer le profil
<<include>>
Gerer les évenements
<<extend>>
Supprimer évenement
<<extend>>
<<extend>>
Ajouter évenement
envoyer évenement
<<include>>
Gérer les étudiant
<<include>>
Gérer le personnel
Gestion du programme
Gestion financiaire
<<extend>>
<<extend>>
<<include>> S'authentifier
Gestion des salles
Personnel administratif
participer au forum
<<include>>
Entrer au FAC
<<include>>
Entrer au wiki
<<include>>
Regarder Actualité et
publication <<include>>
Consulter
Consulter les publication
Actualité <<extend>> <<extend>>
21