Processus de développement Objet et Nouvelles Technologies www.application-serv

Processus de développement Objet et Nouvelles Technologies www.application-servers.com , votre portail sur les serveurs d’applications Copyright Improve, 2001 1/12 Processus de développement Objet : Best Practices SI LES NOUVELLES TECHNOLOGIES FONT BRILLER LES YEUX DES DEVELOPPEURS, LE CHEF DE PROJET SE TROUVE QUANT A LUI EN PROIE A DE NOMBREUSES INTERROGATIONS : MON PROCESSUS DE DEVELOPPEMENT EST-IL DEPASSE ? COMMENT GERER LA COMPLEXITE TECHNOLOGIQUE ? COMMENT ORGANISER MES EQUIPES ? EN NOUS APPUYANT SUR NOS RETOURS D’EXPERIENCE, NOUS PRESENTERONS COMMENT ADAPTER SON PROCESSUS DE DEVELOPPEMENT DE FAÇON A CONCILIER QUALITE DES REALISATIONS ET COMPLEXITE TECHNOLOGIQUE. CET ARTICLE S’ADRESSE A DES CHEFS DE PROJETS TOUTES EXPERIENCES CONFONDUES. Auteur Stève SFARTZ est directeur du développement de la société IMPROVE. De formation Télécoms, ingénieur ENST de Bretagne, Stève réalise depuis 1996 des missions de développement et de conseil en architecture Objet, Java, Web, XML… Par ailleurs, Stève anime régulièrement des conférences et formations sur ces thèmes. Processus de développement Objet et Nouvelles Technologies www.application-servers.com , votre portail sur les serveurs d’applications Copyright Improve, 2001 2/12 Mon processus de développement est-il dépassé ? La construction du macro-planning est une étape clef du projet : le chef de projet définit le processus de développement (illustration figure 1), composé d’une succession de phases, et propose pour chacune d’entre elles, une durée, des moyens à mettre en œuvre, des documents à produire et des profils d’intervenants. Le succès du projet dépend dès lors, de l’adéquation du projet au processus de développement. Figure 1 : Exemple de processus de développement, et détail d’une phase Phase projet Spécifications Phase projet Conception Phase projet Réalisation Chef de projet Utilisateur Spécificateur Analyste - Concepteur Analyse des besoins Rédaction des spécifications générales Rédaction des spécifications détaillées validation ok ko validation ok ko Cahier des charges Spécifications Analyse - Conception Processus de développement Objet et Nouvelles Technologies www.application-servers.com , votre portail sur les serveurs d’applications Copyright Improve, 2001 3/12 Le chef de projet est libre de définir son propre processus projet, ou bien d’en choisir un parmi ceux proposés par les éditeurs. La figure 2 présente une synthèse des processus les plus en vogue dans la communauté Objet et Nouvelles Technologies. Description Points forts Points faibles Cascade •= Propose de dérouler les phases projet de manière séquentielle •= Cité pour des raisons historiques •= Distingue clairement les phases projet •= Non itératif •= Ne propose pas de modèles de documents RUP Rational Unified Process •= Promu par Rational. •= Le RUP est à la fois une méthodologie et un outil prêt à l’emploi (documents types partagés dans un référentiel Web) •= Cible des projets de plus de 10 personnes •= Itératif •= Spécifie le dialogue entre les différents intervenants du projet : les livrables, les plannings, les prototypes… •= Propose des modèles de documents, et des canevas pour des projets types •= Coûteux à personnaliser : batterie de consultants •= Très axé processus, au détriment du développement : peu de place pour le code et la technologie XP eXtreme Programming •= Ensemble de « Bests Practices » de développement (travail en équipes, transfert de compétences…) •= Cible des projets de moins de 10 personnes •= Itératif •= Simple à mettre en œuvre •= Fait une large place aux aspects techniques : prototypes, règles de développement, tests… •= Innovant: programmation en duo, kick-off matinal debout … •= Ne couvre pas les phases en amont et en aval au développement : capture des besoins, support, maintenance, tests d’intégration… •= Elude la phase d’analyse, si bien qu’on peut dépenser son énergie à faire et défaire •= Assez flou dans sa mise en œuvre: quels intervenants, quels livrables ? 2TUP Two Track Unified Process •= S’articule autour de l’architecture •= Propose un cycle de développement en Y •= Détaillé dans « UML en action » (voir références) •= Cible des projets de toutes tailles •= Itératif •= Fait une large place à la technologie et à la gestion du risque •= Définit les profils des intervenants, les livrables, les plannings, les prototypes •= Plutôt superficiel sur les phases situées en amont et en aval du développement : capture des besoins, support, maintenance, gestion du changement… •= Ne propose pas de documents types Figure 2 : Synthèse des méthodologies utilisées dans le cadre de développement Objet et Nouvelles Technologies Force est de constater que toutes ces méthodologies proposent de travailler de façon itérative, que ce soit au niveau des plannings, des spécifications, ou des développements… Processus de développement Objet et Nouvelles Technologies www.application-servers.com , votre portail sur les serveurs d’applications Copyright Improve, 2001 4/12 Si l’itératif s’est imposé, c’est parce qu’il réduit la complexité de réalisation des phases, en travaillant par approches successives et incrémentales. Il est alors possible de présenter rapidement aux utilisateurs des éléments de validation. De plus, l’itératif permet une gestion efficace des risques, en abordant dès les premières itérations, les points difficiles. Par exemple, les premières itérations de la phase technique aborderont les aspects sécurité et transaction. Best Practice Définir pour chaque phase, le nombre d’itérations et leur contenu précis. Exemple : Dans le cadre d’un projet Web qui comporterait un module de personnalisation, la réalisation de ce module pourrait être composé des itérations suivantes : •= Itération n°1 (longue / technique): création du moteur de personnalisation des interfaces Web (spécifications des besoins de personnalisation, élaboration de l’ergonomie, modélisation du moteur en adéquation avec l’architecture applicative, développement des composants logiciels, développement d’une maquette à des fins de validation) •= Itération n°2 (courte / technique): revue de l’ergonomie suite à la démonstration et intégration de nouveaux éléments à la maquette (mise à jour de l’ergonomie, mise à jour de la modélisation du moteur, mise à jour des composants logiciels, réalisation de la maquette à des fins de démonstration) •= Itération n°3 (courte / fonctionnelle): intégration d’éléments fonctionnels (définition d’une charte graphique et adaptation de la maquette à des fins de validation). Au-delà de l’itératif, on notera que les méthodologies présentées en figure 2 mettent l’accent sur des phases projets différentes. Le RUP couvre l’ensemble du processus en spécifiant les inter-actions entre chacune des phases, XP se concentre sur la phase de développement, tandis que 2TUP fait une large place à l’analyse et à l’architecture. Aussi, ces processus peuvent se compléter plutôt qu’entrer en concurrence, comme l’illustre la figure 3. Processus de développement Objet et Nouvelles Technologies www.application-servers.com , votre portail sur les serveurs d’applications Copyright Improve, 2001 5/12 Figure 3 : Projection de XP et de 2TUP sur la matrice du RUP Pour répondre aux exigences des nouvelles technologies, ne pas hésiter à compléter sa méthodologie de projet en s’inspirant des aspects des processus RUP, XP et 2TUP. Dans le cadre de cet article, nous vous proposons de nous attacher aux aspects : •= maîtrise de la technologie, •= et organisation des équipes. Best Practice Ne passez pas des mois à définir votre méthodologie de développement. Prenez connaissance des processus les plus utilisés pour en intégrer un ou plusieurs à votre méthodologie de projet. Exemple : Dans le cas d’un projet Nouvelles Technologies, on pourra intégrer : •= Les valeurs d’XP et quelques règles (communication, simplicité, feedback et énergie) •= les documents types du RUP et leur enchaînement •= la branche technique du 2TUP Processus de développement Objet et Nouvelles Technologies www.application-servers.com , votre portail sur les serveurs d’applications Copyright Improve, 2001 6/12 Comment gérer la complexité technologique ? La meilleure façon d’aborder un problème, c’est de s’y attaquer de front. C’est ce que propose le 2TUP en faisant une place à part entière à la technologie dans le processus de développement ! Le 2TUP propose un cycle de développement en Y, qui dissocie les aspects techniques des aspects fonctionnels. Illustré en figure 4, le processus en Y s’articule autour de 3 phases,: •= une branche technique •= une branche fonctionnelle •= et une phase de réalisation Figure 4 : Cycle de développement en Y La branche technique est née de la constatation que les plate-formes de développement (C++ / Corba, J2EE, .Net …) ne proposent pas de modèle d’implémentation pour résoudre les problèmes de sécurité, de montée en charge, de gestion de la touche Back du navigateur… Processus de développement Objet et Nouvelles Technologies www.application-servers.com , votre portail sur les serveurs d’applications Copyright Improve, 2001 7/12 L’objectif de la branche technique est donc de : 1. Rassembler les besoins techniques (sécurité, montée en charge, intégration à l’existant, … ) dans un dossier, 2. Elaborer une architecture logicielle et applicative qui réponde aux contraintes présentées dans le dossier technique, 3. Identifier les besoins en frameworks techniques afin de palier aux manques de la technologie (gestion de la touche Back des navigateurs, formulaires de saisie inter-actifs, personnalisation de l’interface graphique, moteur de persistance Objet / Relationnel avec expressions SQL / Objet, …), 4. Proposer des règles de développement afin d’industrialiser l’implémentation (gestion de exceptions, règles de nommage, règles de codage, ...) Cependant, la méthodologie ne peut à elle seule, réduire le risque technologique. Pour vous assurer que vos équipes ont une bonne maîtrise de la technologie, uploads/Ingenierie_Lourd/ improve-best-practices.pdf

  • 32
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager