Développement rapide d'applications
La méthode de développement rapide d'applications, dite méthode RAD[1] (acronyme de l'anglais rapid-application development), est la première méthode de développement de logiciels où le cycle de développement est en rupture fondamentale par rapport à celui des méthodes antérieures dites « en cascade ». Ce nouveau cycle qualifié d'itératif, d'incrémental et d'adaptatif, se retrouvera dans toutes les méthodes dites « agiles » publiées par la suite.
Historique
modifierLa méthode RAD se base sur les publications de Barry Boehm (modèle en spirale), Tom Gilb (cycle de vie évolutif), Scott Shultz (production en itérations rapides) ainsi que Brian Gallagher et Alex Balchin. La méthode RAD intègre aussi les techniques JRP (joint requirements planning) et JAD (joint application design / development / delivery). Les principes de JAD furent initiés par Dan Gielan, puis formalisés par Chuck Morris d'IBM en 1984 et vulgarisés sous forme de livres en 1989 par, entre autres, J. Wood et D. Silver.
James Martin formalisa la méthode RAD et la publia en [2].
L’apport de la méthode RAD fut de formaliser techniquement le premier postulat « agile », à savoir que pour qu'une planification de projet puisse être raisonnablement prédictive, il fallait que certains aspects du pilotage soient fixes et que d’autres soient variables. Il proposa des techniques de priorisation pour gérer les deux principales variantes possibles de ces situations (délais fixe ou budget fixe).
En France, Jean-Pierre Vickoff à partir de 1994 puis avec le Processus RAD2 publié par le Gartner Group en 1999, ainsi que Jennifer Stapleton en Grande-Bretagne avec DSDM, introduisent des compléments tels que :
- la spécialisation des rôles ;
- l’instrumentation des communications ;
- l’organisation des divers types de réunions ;
- le groupe de facilitation et de rapport ;
- les « raccourcis méthodologiques » de modélisation ;
- l’architecture de réalisation (imbrication des itérations) ;
- la formalisation de processus légers de mise en œuvre.
Des informations plus précises sur le RAD et les méthodes actuelles qui en sont dérivées se trouvent dans la version anglophone de Wikipédia.
Principes de planification
modifierLa méthode RAD, après deux courtes phases de formalisation structurée de l'expression des besoins (CADRAGE) et de définition globale de l'architecture technique (DESIGN), inclut dans sa phase principale (CONSTRUCTION) la réalisation, la validation immédiate et les tests d'une application en mode itératif-incrémental-adaptatif. L'objectif de la méthode, qui implique activement l'utilisateur final dans un principe de « validation permanente », est d'obtenir un applicatif en adéquation avec les réels besoins.
La planification adaptative de la méthode RAD répondait, à l'origine, aux besoins de projets simples. Elle se limitait généralement à jouer sur un des trois côtés du fameux triangle de gestion de projet (qui restaient fixes dans les méthodes cascades), à savoir : durée, coût, périmètre. Le but étant de fixer au moins l'un des trois paramètres en fonction du besoin immédiat de l'utilisateur (valeur ajoutée). Cette planification était qualifiée d'opérationnelle et était modifiable par l'utilisateur en cours de projet. Un niveau supérieur de planification stratégique fut ajouté par la suite par Jean-Pierre Vickoff (processus RAD2 publié par le Gartner Group). La figure suivante en décrit les principes.
Structure de la méthode
modifier![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/SemiIteratif.jpg/220px-SemiIteratif.jpg)
Le RAD préconise la formation d'une équipe de développement particulière : le SWAT. Cette équipe est autonome, spécialement formée, concrètement motivée et outillée. Elle se compose essentiellement d'un profil unique de concepteurs-développeurs formés à des spécialités techniques complémentaires. Le rôle de chef de projet, n'est ni prohibé, ni obligatoire. Par contre, les décisions concernant l'organisation du projet sont consensuelles. L'équipe travaille avec les utilisateurs et, généralement avec un animateur, dans une salle spéciale, isolée, spécialement équipée dans le style war room, où les murs sont utilisés pour afficher un « radiateur d'information » (une forme de cockpit de gestion de projet).
Sur le plan des principes de mise en opération, la méthode RAD implique :
- Un cycle de développement sécurisant et court fondé sur un phasage simple : Cadrage, Design, Construction et l’absolu respect d’une dimension temporelle (90 jours optimum, 120 jours maximum) [Martin 1991] (figure : Le cycle RAD est en fait semi-itératif) ;
- Une architecture de communication engageant des groupes de travail de structure et de composition variables selon les besoins des phases et respectant un mode opératoire précis structuré en trois étapes : pré-session, session, post-session [Mucchielli 1987]. ;
- Des méthodes, techniques et outils permettant de définir et d’appliquer des choix portant sur quatre natures d'objectifs potentiellement contradictoires : budget, délais, qualité technique, qualité fonctionnelle et visibilité [Vickoff 1999] ;
- Une architecture de conception s’appuyant sur les techniques de l'objet et particulièrement sur celles qui permettent une conception «en vue de modifications» [McCarty 1997] ;
- Une architecture de réalisation qui impose, pour garantir la qualité technique, des normes minimales, des revues de projet, des jalons zéro-défaut et qui recommande, pour garantir la qualité fonctionnelle, le prototypage actif et les focus de visibilité [McConnell 1996].
![Étapes principales: Mise en condition / Mise en opération / Phases itératives de spécification, réalisation et validation.](http://upload.wikimedia.org/wikipedia/commons/7/74/Rad14.gif)
Description globale des phases
modifierLa méthode RAD structure le cycle de vie du projet en 5 phases (dont 3 systématiques) :
- L’initialisation prépare l’organisation, puis détermine le périmètre et le plan de communication ;
- Le CADRAGE définit un espace d’objectifs, de solutions et de moyens ;
- Le DESIGN modélise la solution et valide sa cohérence systémique ;
- La CONSTRUCTION réalise en prototypage actif (validation permanente) ;
- La finalisation est réduite à un contrôle final de qualité en site pilote.
![Phases RAD, avec parallélisation du DESIGN et sérialisation des étapes parallèles de CONSTRUCTION.](http://upload.wikimedia.org/wikipedia/commons/a/af/Rad15.gif)
Initialisation
modifierPréparation de l’organisation et communication.
Cette phase permet de définir le périmètre général du projet, de structurer le travail par thèmes, de sélectionner les acteurs pertinents et d’amorcer une dynamique de projet.
Cadrage
modifierAnalyse et expression des exigences.
La spécification des exigences est du ressort des utilisateurs. Ils expriment leurs besoins lors d’entretiens de groupe. Il est généralement prévu de 2 à 5 jours de sessions par commission (thème).
Design
modifierConception et modélisation.
Les utilisateurs sont également impliqués dans cette étape. Ils participent à l’affinage et à la validation des modèles organisationnels : flux, traitements, données. Ils valident également le premier niveau de prototype présentant l’ergonomie et la cinématique générale de l’application. Il est prévu entre 4 et 8 jours de sessions par commission. Cette phase représente environ 23 % du projet. À partir de la phase de Design, la parallélisation du travail est possible.
Construction
modifierRéalisation, prototypage.
Durant cette phase, l’équipe RAD (SWAT) doit construire l’application module par module. L’utilisateur participe toujours activement aux spécifications détaillées et à la validation des prototypes. Plusieurs sessions itératives sont nécessaires. Cette phase représente environ 50 % du projet. À partir de la phase de Construction, à la parallélisation du travail peut s’ajouter la sérialisation.
Finalisation
modifierRecette et déploiement.
Des recettes partielles ayant été obtenues à l’étape précédente, il s’agit dans cette phase d’officialiser une livraison globale et de transférer le système en exploitation et maintenance. Cette phase représente environ 12 % du projet.
![Évolution sur 9 mois d'un projet avec la méthode RAD.](http://upload.wikimedia.org/wikipedia/commons/b/be/Rad16.gif)
Construction : Le principe itératif, incrémental et adaptatif
modifier![](http://upload.wikimedia.org/wikipedia/commons/d/dc/RADiteration.gif)
Notes et références
modifier- RAD, James Martin, 1991.
- Rapid Application Development, James Martin, Macmillan Coll. Div., 1991 (ISBN 0-02-376775-8).
Outils RAD
modifierLa méthode RAD, sans être liée aux outils, recommande l'utilisation de logiciels de développement à interface graphique (CASE), qui permettent d'obtenir rapidement des prototypes. À ce sujet, il ne faut pas confondre la méthode RAD (d'où sont issues les approches Agiles actuelles), car celle-ci recherche la qualité applicative fonctionnelle et technique, avec la dénomination "d'outils RAD" (dont la production automatique de code est souvent qualifiée de « sale »).
Voir aussi
modifierArticles connexes
modifierBibliographie française
modifier- Piloter les projets informatiques de la nouvelle économie, Jean-Pierre Vickoff, Éditions d'Organisation, 2000. (ISBN 2708124870)
- Réingenierie du développement : RAD, CMM, UML, Jean-Pierre Vickoff, Gartner Group, 1999 (ASIN : B000WSOH04, 1999, imprimerie IMB).
- Vite fait, bien fait. Le paradigme du futur immédiat, Jean-Pierre Vickoff, QI, 1998. (ISBN 2912843022)
- RAD, le développement d'applications client-serveur, Jean-Pierre Vickoff, MGI, 1994, puis réédité 12-1996, Macmillan (ISBN 2744002224)
- Le Développement rapide d’applications, M. Soberman, Hermès, 11-1996.
- RAD une méthode pour développer plus vite, Bernard Leblanc, Jean Hugues, Chantal Morley, 12/1997.
Bibliographie anglaise
modifier- Rapid Application Development, James Martin, Macmillan, 1991 (ISBN 978-0023767753).
- JAD the Group Session, Approach to system design, C. Englewood, Prentice Hall, 1991.
- Joint Application Design, J. Wood, D. Silver, Édition John Wiley, 1989.