- Rapid Application Development
-
Développement rapide d'applications
Pour les articles homonymes, voir RAD.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 ensuite dans toutes les méthodes dites « agiles » publiées par la suite.
Sommaire
Aperçu
La 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.
Développement
James Martin a développé l'approche RAD au cours des années 1980, à IBM, en se basant sur les idées de Brian Gallagher, Alex Balchin, Barry Boehm et Scott Shultz. Il l'a formalisée en la publiant en 1991[2].
Des compléments et des actualisations sont introduits à partir de 1994, notamment par Jean-Pierre Vickoff pour l'aspect francophone (processus RAD2 publié par le Gartner Group) et Jennifer Stapleton en Grande-Bretagne (processus DSDM).
L’apport de J. Martin avec la méthode RAD fut de formaliser techniquement le premier postulat « agile », à savoir que pour qu'une prédiction de projet puisse se réaliser à tous les coups, 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). Les notions additionnelles de visibilité, de risque et de fiabilité (ou de qualité) comme variables de planification stratégique d’un projet furent introduites plus tard[3].
Structure de la méthode
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].
- Une architecture de communication engageant des groupes de travail de structure et de composition variable 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 1998].
- 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].
Description globale des phases
La 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.
Initialisation
Pré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. Cette phase représente environ 6% du projet en charge.
Cadrage
Analyse 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). Cette phase représente environ 9% du projet.
Design
Conception 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. A partir de la phase de Design la parallélisation du travail est possible.
Construction
Ré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. A partir de la phase de Construction, à la parallélisation du travail peut s’ajouter la sérialisation.
Finalisation
Recette 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.
CONSTRUCTION : Le principe itératif, incrémental et adaptatif
Notes : Le Jalon ZD (Zéro Défaut) est une intégration de l'itération journalière validée techniquement et fonctionnellement. Le FOCUS (ou SHOW) est une présentation de l'itération de livraison venant de s'achever. Cette démonstration est effectuée par le ou les utilisateurs impliqués dans le prototypage à destination de l'ensemble des autres intervenants du projets. Pour pousser à l'extrême la qualité du code, ces étapes peuvent être remplacées par les pratiques XP d'ingénierie du logiciel.
Le site francophone de référence dédié à la méthode RAD est RAD.fr.
Outils RAD
La méthode, sans être liée aux outils, recommande l'utilisation d'outils de programmation à interface graphique (CASE), qui permettent d'obtenir rapidement des prototypes. A ce sujet, il ne faut pas confondre la méthode RAD (d'où sont issues les approches Agiles actuelles) qui recherche la qualité applicative fonctionnelle et technique avec les outils RAD, dont la production automatique de code est souvent qualifiée de "sale".
- Powerbuilder
- Delphi (ainsi que le Visual Basic) est un outil RAD en ce sens qu'il permet assez facilement de créer des programmes à l'aide d'une interface graphique dotée de nombreux outils et de modules prêts à l'emploi.
- WinDev (ainsi que WebDev) est un outil RAD plus avancé car il permet à partir d'une analyse Merise ou UML de produire un applicatif final et opérationnel. WinDev Mobile permet lui de créer rapidement des applications pour les matériels mobiles.
- Authorware crée lui-aussi un applicatif final en dessinant un diagramme à l'aide d'icônes.
- JBuilder
- C++ Builder
- C# Builder
- Leonardi est un outil RAD adapté au développement des IHM.
- Limbas est un outil RAD 100% web (developpement et application cible) sous license GNU GPL 2 incluant notamment des fonctionnalités GED et Groupware.
Notes et références
Voir aussi
Articles connexes
Bibliographie
- Piloter les projets informatiques de la nouvelle économie, Jean-Pierre Vickoff, Editions d'Organisation, 2000. (ISBN 2708124870)
- Réingenierie du développement : RAD, CMM, UML, Jean-Pierre Vickoff, Gartner Group, 1999 (pas d'ISBN mais SGDL et dépot légal mai 1999 par 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é en 1996, Macmillan (ISBN 2744002224 )
Liens externes
Catégorie : Développement logiciel
Wikimedia Foundation. 2010.