230 likes | 342 Views
Processus de développement et nouvelles technologies Didier Girard Improve Didier.Girard@improve.fr. Quels enjeux. Les Nouvelles Technologies sont utilisées sur tous types de projets Applications B2E, B2B, B2C Produits Client-Serveur. Quels enjeux. Quelles technologies XML
E N D
Processus de développementet nouvelles technologiesDidier GirardImproveDidier.Girard@improve.fr
Quels enjeux • Les Nouvelles Technologies sont utilisées sur tous types de projets • Applications • B2E, • B2B, • B2C • Produits • Client-Serveur
Quels enjeux • Quelles technologies • XML • J2EE, .Net, Linux/Apache/MySQL/PHP • HTML, JavaScript • SOAP, CORBA, DCOM • Multi-threading • Avec des exigences fortes • Robustesse • Sécurité • Évolutivité • Sur des architectures variées • Architecture N tiers • Fat / Thin Client • Du PC au Terminaux mobiles
Besoins Réalisation Production Évolutions Quels enjeux Projet
Technologies Besoins Réalisation Production Évolutions Quels enjeux Projet Nouvelles Technologies
Technologies Nouvelles Besoins maquettes Réalisation nouvelle méthode, prototypage, formation, Production nouvelle infrastructure, formation, Évolutions Quels enjeux Projet Nouvelles Technologies
Technologies Nouvelles Besoins maquettes Réalisation nouvelle méthode, prototypage, formation, Production nouvelle infrastructure, formation, Évolutions Quels enjeux Nouvelles Projet Nouvelles Technologies , briser les rêves modéliser, nombreux intervenants, prospection technologique robustesse, sécurité transfert de compétences
Les enjeux • Il est nécessaire d’adapter son processus de développement pour répondre à ces enjeux technologiques
Phase projet Spécifications Phase projet Réalisation Phase projet Conception Spécificateur Analyste - Concepteur Chef de projet Utilisateur Rédaction des spécifications générales Analyse des besoins Cahier des charges Rédaction des spécifications détaillées Analyse - Conception ko ko validation validation Spécifications ok ok Adapter son processus de développement
Analyse Conception Programmation Test Maintenance Processus en cascade • Processus en cascade • Propose de dérouler les phases projet de façon séquentielle • Cité pour des raisons historiques • Points forts • Distingue clairement les phases projet • Points faibles • Non itératif • Ne propose pas de modèles de documents
Phases Analyse des besoins Élaboration Construction Transition Processus projet Processus organisationnels Spécifications Analyse & Conception Implémentation Tests Déploiement Support du projet Configuration Gestion du projet Environnement Itération Préliminaire Iter. #1 Iter. #n Iter. #m Iter. #m+1 Iter. #2 Iter. #n+1 Iter. #n+2 Itérations RUP • RUP • 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
RUP • RUP • 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 • Points forts • 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 • Points faibles • 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 • XP • Ensemble de « Bests Practices » de développement (travail en équipes, transfert de compétences…) • Cible des projets de moins de 10 personnes
XP • XP • Ensemble de « Bests Practices » de développement (travail en équipes, transfert de compétences…) • Cible des projets de moins de 10 personnes • Points forts • 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 … • Points faibles • Ne couvre pas les phases en amont et en aval au développement : capture des besoins, support, maintenance, tests d’intégration… • Élude 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 • 2TUP • S’articule autour de l’architecture • Propose un cycle de développement en Y • Détaillé dans « UML en action » • Cible des projets de toutes tailles
2TUP • 2TUP • S’articule autour de l’architecture • Propose un cycle de développement en Y • Détaillé dans « UML en action » • Cible des projets de toutes tailles • Points forts • 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 • Points faibles • 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
Open Source • http://www.samoore.com/teach/cis320/fall2000/documents/open-source-decision.jpg
Open Source • L’open source fait référence à tout programme dont les sources sont disponibles pour modification par les utilisateurs. • L’idée de base est simple : • quand les programmeur sur internet peuvent lire, redistribuer et modifier le source, il évolue dans le bon sens. • Les développeurs améliorent, adaptent et corrigent.
Open Source et XP • Les quatre valeurs : • communication, principe de base de l’open source • simplicité, gage de réussite d’un projet open source, le code complique n’est pas relu • feedback, principe de base • courage, travailler pour la reconnaissance est un gage de courage.
Open Source et XP • Conception Simple • Remaniement • Tests • Refactoring • Pair Programming • Responsabilité collective du code • Règle de codage • Métaphore • Intégration continue • Livraison fréquentes • Planification itérative • Client sur site • 40 Heures par semaine
Adapter son processus de développement • Travailler de façon itérative et incrémentale • Que ce soit au niveau des plannings, des spécifications, ou des développements… • L’itératif permet une gestion efficace des risques, • Aborder 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. • L’itératif permet de présenter rapidement des éléments de validation aux utilisateurs • Réaliser des prototypes de validation
Phases RUP Analyse des besoins Élaboration Construction Transition Processus projet Processus organisationnels Spécifications Analyse & Conception Implémentation Tests Déploiement Support du projet Configuration Gestion du projet Environnement 2TUP XP Itération Préliminaire Iter. #1 Iter. #n Iter. #m Iter. #m+1 Iter. #2 Iter. #n+1 Iter. #n+2 Itérations Résumé • Les processus peuvent se compléter plus qu’ils n’entrent en concurrence
Conclusion • 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 • 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 • Des prototypes marquant la fin d’une itération