Vous êtes sur la page 1sur 37

Modèles de développement

Maitrise des
Grands Projets
Informatiques

Vesela Balev

Maitrise des Grands Projets Modèles de


développement
Code-and-fix
Informatiques Modèle en cascade
Modèle en V

Modèles de développement Modèle en spirale


Modèle Agile
Processus unifié
Résumé

Vesela Balev

INSA
vesela.gocheva@insa-rouen.fr

13 novembre 2017

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Sommaire Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade

Modèles de développement Modèle en V


Modèle en spirale

Code-and-fix Modèle Agile


Processus unifié
Modèle en cascade Résumé

Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèles de développement Grands Projets
Informatiques

Ingénierie Vesela Balev

En ingénierie, une méthode d’analyse et de conception Modèles de


développement
est un procédé qui a pour objectif de permettre de Code-and-fix
Modèle en cascade
formaliser les étapes préliminaires du développement Modèle en V
Modèle en spirale
d’un système afin de rendre ce développement plus fidèle Modèle Agile
Processus unifié
aux besoins du client. Résumé

Génie logiciel
En génie logiciel, un modèle de développement est un
procédé qui a pour objectif d’organiser les différentes
phases du cycle de vie pour l’obtention d’un logiciel
fiable, adaptable et efficace, de guider le développeur
dans ses activités techniques et de fournir des moyens
pour gérer le développement et la maintenance
(ressources, délais, avancement, etc.).

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Cycle de vie Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
eXtreme Go Horse (XGH) Process Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
eXtreme Go Horse (XGH) Process Grands Projets
Informatiques

Vesela Balev
1. I think therefore it’s not XGH.
In XGH you don’t think, you do the first thing Modèles de
that comes to your mind. There’s not a second développement
Code-and-fix
option as the first one is faster. Modèle en cascade
Modèle en V
Modèle en spirale
3. You’ll always need to do more and more XGH. Modèle Agile
Processus unifié
For every solved problem using XGH 7 more are created Résumé

And all of them will be solved using XGH.


Therefore XGH tends to the infinite.

8. Be ready to jump off when the boat starts sinking.


Or blame someone else.
For people using XGH someday the boat sinks.
As time passes by the system grows
into a bigger monster. You better have your
resume ready for when the thing comes down.
Or have someone else to blame.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en cascade Grands Projets
Informatiques

Vesela Balev

Le modèle en cascade est hérité de l’industrie du BTP. Ce Modèles de


développement
modèle repose sur les hypothèses suivantes : Code-and-fix
Modèle en cascade
I On ne peut pas construire la toiture avant les fondations. Modèle en V
Modèle en spirale
Modèle Agile
I Les conséquences d’une modification en amont du cycle Processus unifié

ont un impact majeur sur les coûts en aval. Résumé

Caractéristiques
I Décomposition : atteinte de l’objectif par atteinte
ordonnée de sous – objectifs. Les activités sont
représentées dans des processus séparés.
I Séquentiel : chaque étape doit être terminée avant que la
suivante commence.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en cascade Grands Projets
Informatiques

Vesela Balev
Les phases traditionnelles de développement sont
effectuées simplement les unes après les autres, avec un Modèles de
développement
retour sur les précédentes, voire au tout début du cycle. Code-and-fix
Modèle en cascade
Le processus de développement utilisant un cycle en Modèle en V
Modèle en spirale
cascade exécute des phases qui ont pour Modèle Agile
Processus unifié
caractéristiques : Résumé

I De produire des livrables définis au préalable.


I De se terminer à une date précise.
I De ne se terminer que lorsque les livrables sont
jugés satisfaisants lors d’une étape de
validation-vérification.
I Vérification : le livrable est-il correct ?
I Validation : est-ce le bon produit ? (Comparé à
l’énoncé de l’étape).

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en cascade Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en V Grands Projets
Informatiques
I Amélioration du modèle en cascade. Il permet en Vesela Balev

cas d’anomalie, de limiter un retour aux étapes Modèles de


précédentes. développement
Code-and-fix

I Met en évidence la symétrie et la relation qu’il y a Modèle en cascade


Modèle en V

entre les phases du début du cycle de vie et celles Modèle en spirale


Modèle Agile

de fin. Processus unifié


Résumé

I Met en évidence la nécessité d’anticiper et de


préparer dans les étapes descendantes les
"attendus" des futures étapes montantes : ainsi les
attendus des tests de validation sont définis lors des
spécifications, les attendus des tests unitaires sont
définis lors de la conception, etc.
I Un standard de l’industrie du développement de
logiciel et de la gestion de projet depuis les années
1980.
Vesela Balev Maitrise des Grands Projets Informatiques
Modèles de développement

Maitrise des
Modèle en V Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en V Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en spirale Grands Projets
Informatiques

Vesela Balev

Modèles de
I Le développement reprend les différentes étapes du développement
Code-and-fix

cycle en V. Par l’implémentation de versions Modèle en cascade


Modèle en V

successives, le cycle recommence en proposant un Modèle en spirale


Modèle Agile

produit de plus en plus complet et robuste. Processus unifié


Résumé

I Mise de l’accent sur l’évaluation des risques. Le


début de chaque itération comprend une phase
d’analyse des risques. Elle est nécessaire pars que,
lors d’un développement cyclique, il y a plus de
risques de défaire, au cours de l’itération, ce qui a
été fait au cours de l’itération précédente.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en spirale Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle en spirale (Boehm, 2000) Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Modèle Agile (semi-itératif) Grands Projets
Informatiques
I L’expression des besoins et la conception de la Vesela Balev
solution sont faites de manière classique et
Modèles de
séquentielle, comme dans le modèle en cascade développement
Code-and-fix
(top down, par la structure). Modèle en cascade
Modèle en V
I La troisième et dernière grande phase, la Modèle en spirale
Modèle Agile
construction du produit (bottom up, par le besoin) est Processus unifié
Résumé
faite de manière itérative comme dans le modèle en
spirale, avec des itérations courtes.
I Un usage totalement itératif de ces méthodes n’est
cependant pas exclu mais ne peut s’appliquer qu’à
de très petits projets.
Example
ASD (Adaptive software development), FDD
(Feature-driven development), Crystal, Scrum ou
l’extreme programming.
Vesela Balev Maitrise des Grands Projets Informatiques
Modèles de développement

Maitrise des
Agile Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
I Création entre 1989 et 1991 par James Martin. Code-and-fix
Modèle en cascade
Modèle en V
I Formalisation en 1991 dans le livre RAD Modèle en spirale
Modèle Agile
(Développement rapide d’applications) de James Processus unifié
Résumé
Martin.
I En 2001 17 experts créent le manifeste Agile.
I Aujourd’hui les méthodes Agile ne sont pas
seulement modèles de développement, mais aussi
des méthodes de gestion de projets informatiques.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Manifeste Agile - valeurs fondamentales Grands Projets
Informatiques

Vesela Balev

Modèles de
I L’équipe (Les individus et leurs interactions, plus que les développement
processus et les outils) : l’équipe est bien plus importante que Code-and-fix
Modèle en cascade
les outils ou les procédures de fonctionnement. Il est préférable Modèle en V

d’avoir une équipe soudée et qui communique, composée de Modèle en spirale


Modèle Agile
développeurs, plutôt qu’une équipe composée d’experts Processus unifié
Résumé
fonctionnant chacun de manière isolée. La communication est
une notion fondamentale.
I L’application (Des logiciels opérationnels, plus qu’une
documentation exhaustive) : il est vital que l’application
fonctionne. Le reste, et notamment la documentation technique,
est une aide précieuse mais non un but en soi. Il est préférable
de commenter abondamment le code lui-même, et surtout de
transférer les compétences au sein de l’équipe.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Manifeste Agile - valeurs fondamentales Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
I La collaboration (La collaboration avec les clients, plus que la Code-and-fix
Modèle en cascade
négociation contractuelle) : le client doit être impliqué dans le Modèle en V
Modèle en spirale
développement. On ne peut se contenter de négocier un contrat Modèle Agile

au début du projet, puis de négliger les demandes du client. Le Processus unifié


Résumé
client doit collaborer avec l’équipe et fournir un compte rendu
continu sur l’adéquation du logiciel avec ses attentes.
I L’acceptation du changement (L’adaptation au changement, plus
que le suivi d’un plan) : la planification initiale et la structure du
logiciel doivent être flexibles afin de permettre l’évolution de la
demande du client tout au long du projet.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Manifeste Agile - 12 principes généraux Grands Projets
Informatiques

Vesela Balev
1. La plus haute priorité est de satisfaire le client en livrant
rapidement et régulièrement des fonctionnalités à forte valeur Modèles de
ajoutée. développement
Code-and-fix

2. Le changement est accepté, même tardivement dans le Modèle en cascade


Modèle en V
développement, car les processus agiles exploitent le Modèle en spirale

changement comme avantage concurrentiel pour le client. Modèle Agile


Processus unifié
Résumé
3. La livraison s’applique à une application fonctionnelle, toutes les
deux semaines à deux mois, avec une préférence pour la
période la plus courte.
4. Le métier et les développeurs doivent collaborer régulièrement
et de préférence quotidiennement au projet.
5. Le projet doit impliquer des personnes motivées. Donnez-leur
l’environnement et le soutien dont elles ont besoin et faites leur
confiance quant au respect des objectifs.
6. La méthode la plus efficace pour transmettre l’information est
une conversation en face à face.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Manifeste Agile - 12 principes généraux Grands Projets
Informatiques

Vesela Balev
7. L’unité de mesure de la progression du projet est un logiciel
Modèles de
fonctionnel (ce qui exclut de comptabiliser les fonctions non développement
formellement achevées). Code-and-fix
Modèle en cascade

8. Les processus agiles promeuvent un rythme de développement Modèle en V


Modèle en spirale
soutenable (afin d’éviter la non qualité découlant de la fatigue). Modèle Agile
Processus unifié

9. Les processus agiles recommandent une attention continue à Résumé

l’excellence technique et à la qualité de la conception.


10. La simplicité et l’art de minimiser les tâches parasites, sont
appliqués comme principes essentiels.
11. Les équipes s’auto-organisent afin de faire émerger les
meilleures architectures, spécifications et conceptions.
12. À intervalle régulier, l’équipe réfléchit aux moyens de devenir
plus efficace, puis accorde et ajuste son processus de travail en
conséquence.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Manifeste Agile - en pratique Grands Projets
Informatiques
I Un responsable fonctionnel définit et ordonne la production des
Vesela Balev
composants de l’application.
I Le projet est structuré en incréments de 1 à 6 semaines suivant Modèles de
développement
les nécessités (taille, réactivité, visibilité...). Code-and-fix
Modèle en cascade
I Une réunion initiale organise chaque incrément en définissant Modèle en V

les tâches à réaliser. Modèle en spirale


Modèle Agile
I L’équipe pilote la qualité et la performance (consensus). Processus unifié
Résumé
I Chaque jour, une courte réunion d’avancement donne à l’équipe
une vision globale du projet, met en évidence les éventuels
problèmes et permet de factoriser les solutions.
I Un "reporting" mural est mis à jour en temps réel par les
membres de l’équipe.
I Un incrément achevé contient une livraison complète,
développée, approuvée et testée.
I Une réunion finale présente l’application et est suivie d’une
rétrospective technique du processus de développement.
I Le responsable fonctionnel valide le travail de l’équipe et ajuste
les besoins entre chaque incrément.
Vesela Balev Maitrise des Grands Projets Informatiques
Modèles de développement

Maitrise des
Agile Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile vs méthodes classiques Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile vs méthodes classiques Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
I Avantages : Code-and-fix
Modèle en cascade
I Adaptatives : Modèle en V
Modèle en spirale
I Favorable aux changements. Modèle Agile
Processus unifié
I Planification plus souple. Résumé

I Orientée personnes :
I Travailler avec les spécificités de chacun.
I Communication et consensus.
I Liberté qui favorise la créativité.
I Responsabilité.
I Intuitives et faciles à apprendre.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile vs méthodes classiques Grands Projets
Informatiques

Vesela Balev

I Avantages : Modèles de
développement
I Orientée client : Code-and-fix
Modèle en cascade
I Meilleure qualité, plus proche des besoins. Modèle en V
I Le client peut "toucher" et suivre le développement. Modèle en spirale
Modèle Agile
I Réactives. Processus unifié

I Rapides. Résumé

I Efficaces ( ? ? ?)
I En générale :
I Amélioration du code.
I Combinaisons possibles entre les différentes
méthodes.
I Très adaptées au petit(e)s et moyen(ne)s
projets/entreprises.
I Réactivité en cas d’imprévu.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile vs méthodes classiques Grands Projets
Informatiques

Vesela Balev

I Inconvénients (= trop beau pour être vrai) : Modèles de


développement
I Impossibles si l’équipe est dispersée sur plusieurs Code-and-fix
Modèle en cascade
sites. Modèle en V
Modèle en spirale
I Très difficiles à implémenter sur des grands projets Modèle Agile

avec une équipe conséquente. Processus unifié


Résumé
I Impossibles si l’équipe ne se prête pas au jeu.
I Fragiles si des conflits ou des problèmes relationnels
entre les membres de l’équipe.
I Possibilité de l’abus de confiance et de violation de la
responsabilité.
I Exigent une implication forte et constante du
client/MOA/utilisateur final. Client présent sur le site
de développement ? ? ?

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile vs méthodes classiques Grands Projets
Informatiques

Vesela Balev

I Inconvénients (= trop beau pour être vrai) : Modèles de


développement
I Reposent beaucoup sur les individus, en Code-and-fix

particulier : Modèle en cascade


Modèle en V
Modèle en spirale
I le responsable de l’équipe, qui doit avoir à Modèle Agile
Processus unifié
la fois des capacités de coach, de leader, et Résumé

savoir développer.
I le client, il doit être disponible, bien

connaître l’utilisation future du produit,


pouvoir le faire admettre dans son propre
entreprise, avoir des notions d’informatique.

Les deux profils sont en général difficiles à trouver.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile vs méthodes classiques Grands Projets
Informatiques

Vesela Balev
I Inconvénients (= trop beau pour être vrai) :
I Mauvaise visibilité à long terme, fragiles au niveau Modèles de
développement
de gestion des coûts et des délais. Code-and-fix

I Très souvent exigence d’un contrat de type "Time Modèle en cascade


Modèle en V

and materiel". Modèle en spirale


Modèle Agile
I Pas adaptées (peu de traçabilité) aux certifications et Processus unifié
Résumé
normes en vigueur (ISO, CMMi, etc.)
I Exigences fortes sur la communication.
I Changement d’équipe délicat, voire impossible.
I Peu de documentation.
I Maintenance logiciel difficile, surtout si l’équipe n’est
pas la même.
I Impossibles si sous-traitance.
I Pratiquement impossibles pour des projets destinés
aux procédés à haut risque, avec des contraintes de
sécurité et robustesse importantes.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Agile vs méthodes classiques Grands Projets
Informatiques

Vesela Balev

Modèles de
I Les méthodes Agile occupent une niche très développement
importante pour les petites équipes qui valorisent la Code-and-fix
Modèle en cascade

communication directe dans un environnement Modèle en V


Modèle en spirale

changeant. Modèle Agile


Processus unifié

I Elles sont nées des problèmes récurrents : Résumé

I Difficulté des changements tardifs.


I Changement fréquent des spécifications
fonctionnelles.
I Enlisement si certains développeurs sont laissés
seuls.
I Méthodes classiques qui contrôlent peu la qualité du
code lors de la phase de construction.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
IBM 2016 - Optimisation FileNET Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Processus unifié Grands Projets
Informatiques

Vesela Balev
I Regroupement des activités à mener pour le
Modèles de
développement d’un système logiciel, basé sur la développement
Code-and-fix
notion d’objets. Modèle en cascade
Modèle en V
I Piloté par les cas d’utilisation (user’s case) = bien Modèle en spirale
Modèle Agile
comprendre les désirs et les besoins de ses futurs Processus unifié

utilisateurs. Résumé

I Un cas d’utilisation est une fonctionnalité du système


produisant un résultat satisfaisant pour l’utilisateur.
Les cas d’utilisation saisissent les besoins
fonctionnels et leur ensemble forme le modèle des
cas d’utilisation qui décrit les fonctionnalités
complètes du système.
I Centré sur l’architecture (les différentes vues du
système qui doit être construit).

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Processus unifié Grands Projets
Informatiques

Vesela Balev

Modèles de
Itératif et incrémental : développement
Code-and-fix
I Itératif : croissance et l’affinement successifs d’un Modèle en cascade
Modèle en V

système par le biais d’itérations multiples, retours en Modèle en spirale


Modèle Agile

arrière et adaptation cycliques. Processus unifié


Résumé

I Incrémental : découpage du travail en plusieurs


parties qui sont autant de mini-projets. Chaque
mini-projet représente une itération ou étape de
courte durée (1 mois) qui donne lieu à un incrément.
Le résultat de chaque itération est un système testé,
intégré et exécutable.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Processus unifié Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Conclusion Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
I Il n’existe ni bonne ni mauvaise méthode. Modèle en cascade
Modèle en V

I La réussite d’un projet dépend avant tout de Modèle en spirale


Modèle Agile

l’adaptation de la méthode au contexte. Processus unifié


Résumé

I Méthode outillée pas synonyme de succès.

Conclusion
Il faut oser de combiner/adapter les méthodes et de
retirer le meilleur de chacune.

Vesela Balev Maitrise des Grands Projets Informatiques


Modèles de développement

Maitrise des
Résumé Grands Projets
Informatiques

Vesela Balev

Modèles de
développement
Code-and-fix
Modèle en cascade
Modèle en V
Modèle en spirale
Modèle Agile
Processus unifié
Résumé

Vesela Balev Maitrise des Grands Projets Informatiques